Hide metadata

dc.date.accessioned2013-03-12T07:59:40Z
dc.date.available2013-03-12T07:59:40Z
dc.date.issued2012en_US
dc.date.submitted2012-04-26en_US
dc.identifier.citationKrohn-Hansen, Håkon. Program crash analysis. Masteroppgave, University of Oslo, 2012en_US
dc.identifier.urihttp://hdl.handle.net/10852/9057
dc.description.abstractAfter decades of development in computer science, memory corruption bugs still pose a threat to the reliability of software. Automatic crash reporting and fuzz testing are effective ways of gathering information about program bugs. However, these methods can potentially produce thousands of crash dumps, motivating the need for grouping and prioritizing crashes. In addition, the time necessary to analyze the root cause of crashes and to implement a reliable fix in source code should be reduced. This thesis demonstrates how fuzzing can produce a large set of different crashes in a real program. An empirical study explores methods for analyzing these crashes. Automatic bucketing and classification is performed. Call stack based grouping algorithms are compared, and modifications are suggested. Taint analysis is demonstrated as a complementary method to automatic classification based on crash dumps. Dynamic analysis using execution traces is demonstrated as a method for root cause analysis. The empirical study suggests some general results regarding program crash analysis. Crashes should be grouped based on related crash locations and identified similarities in call stacks. A distance algorithm can be used for call stack based grouping and to identify relations between groups. It is suggested that a weighted priority model should be used for prioritizing crashes based on a strategic policy. Some possible metrics are frequency, reliability, severity estimate and relations to already fixed bugs. In order to properly fix a memory corruption bug, the underlying cause should be understood at machine-level. Execution traces with logged operands, differential debugging, Crash Graphs and input analysis might help developers analyze different aspects of memory corruption bugs.eng
dc.language.isoengen_US
dc.titleProgram crash analysis : evaluation and application of current methodsen_US
dc.typeMaster thesisen_US
dc.date.updated2012-11-26en_US
dc.creator.authorKrohn-Hansen, Håkonen_US
dc.subject.nsiVDP::420en_US
dc.identifier.bibliographiccitationinfo:ofi/fmt:kev:mtx:ctx&ctx_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:dissertation&rft.au=Krohn-Hansen, Håkon&rft.title=Program crash analysis&rft.inst=University of Oslo&rft.date=2012&rft.degree=Masteroppgaveen_US
dc.identifier.urnURN:NBN:no-31843en_US
dc.type.documentMasteroppgaveen_US
dc.identifier.duo156496en_US
dc.contributor.supervisorAudun Jøsang, Torgeir Broen (FFI)en_US
dc.identifier.bibsys123671280en_US
dc.identifier.fulltextFulltext https://www.duo.uio.no/bitstream/handle/10852/9057/3/Krohn-Hansen.pdf


Files in this item

Appears in the following Collection

Hide metadata