After a program has crashed, it can be difficult to reconstruct why the failure occurred, or what actions led to the error. We propose a family of analysis techniques that use the evidence left behind by a failed program to build a time line of its possible actions from launch through termination. Our design can operate with zero run time instrumentation, or can flexibly incorporate a wide variety of artifacts such as stack traces and event logs for increased precision. Efficient demand-driven algorithms are provided, and the approach is well suited for incorporation into interactive debugging support tools.
Cited By
- Xu J, Mu D, Chen P, Xing X, Wang P and Liu P CREDAL Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, (529-540)
- Theisen C Automated attack surface approximation Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, (1063-1065)
- Theisen C, Herzig K, Morrison P, Murphy B and Williams L Approximating attack surfaces with stack traces Proceedings of the 37th International Conference on Software Engineering - Volume 2, (199-208)
- Lucia L, Lo D, Jiang L, Thung F and Budi A (2014). Extended comprehensive study of association measures for fault localization, Journal of Software: Evolution and Process, 26:2, (172-219), Online publication date: 1-Feb-2014.
- Bertacco V, Rodriguez R, Arthur W, Mammo B and Austin T Schnauzer Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), (1-11)
- Seo H and Kim S Predicting recurring crash stacks Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, (180-189)
- Jiang L and Su Z Profile-guided program simplification for effective testing and analysis Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering, (48-58)
- Liblit B Reflections on the Role of Static Analysis in Cooperative Bug Isolation Proceedings of the 15th international symposium on Static Analysis, (18-31)
- Elbaum S, Kanduri S and Andrews A (2007). Trace anomalies as precursors of field failures, Empirical Software Engineering, 12:5, (447-469), Online publication date: 1-Oct-2007.
- Lal A, Lim J, Polishchuk M and Liblit B Path optimization in programs and its application to debugging Proceedings of the 15th European conference on Programming Languages and Systems, (246-263)
- Groce A and Joshi R Exploiting traces in program analysis Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems, (379-393)
- Manevich R, Sridharan M, Adams S, Das M and Yang Z PSE Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering, (63-72)
- Manevich R, Sridharan M, Adams S, Das M and Yang Z (2004). PSE, ACM SIGSOFT Software Engineering Notes, 29:6, (63-72), Online publication date: 1-Nov-2004.
Index Terms
- Building a Better Backtrace: Techniques for Postmortem Program Analysis
Recommendations
Efficient points-to analysis for whole-program analysis
To function on programs written in languages such as C that make extensive use of pointers, automated software engineering tools require safe alias information. Existing alias-analysis techniques that are sufficiently efficient for analysis on large ...
Efficient points-to analysis for whole-program analysis
ESEC/FSE-7: Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineeringTo function on programs written in languages such as C that make extensive use of pointers, automated software engineering tools require safe alias information. Existing alias-analysis techniques that are sufficiently efficient for analysis on large ...
Building a bridge between pointer aliases and program dependences
In this paper we present a surprisingly simple reduction of the program dependence problem to the may-alias problem. While both problems are undecidable, providing a reduction between them has great practical importance. Program dependence information ...