skip to main content
10.1145/2846650.2846651acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

CSIclipse: presenting crash analysis data to developers

Published: 27 October 2015 Publication History

Abstract

Debugging is difficult and costly, especially for failures that occur after deployment. In prior work, we developed a suite of instrumentation and analysis tools, collectively titled the Crash Scene Investigation toolkit (CSI). These tools aid developers by providing additional information about failing program executions using latent data in post-failure memory dumps. While we showed that our technique is effective in reducing execution ambiguity, it lacked a proper user interface for developers. In this paper, we present CSIclipse, a work-in-progress plugin for the Eclipse integrated development environment (IDE) that brings our analyses directly to the user. The goal of our plugin is to ease the burden of debugging production failures by conveniently presenting CSI trace and analysis data with intuitive source code overlays and powerful data exploration mechanisms. While designed for our CSI data, our plugin is likely general enough to support trace data from a variety of program analyses.

References

[1]
B. Alsallakh, P. Bodesinsky, A. Gruber, and S. Miksch. Visual tracing for the Eclipse Java debugger. In T. Mens, A. Cleve, and R. Ferenc, editors, 16th European Conference on Software Maintenance and Reengineering, CSMR 2012, Szeged, Hungary, March 27-30, 2012, pages 545–548. IEEE Computer Society, 2012.
[2]
P. Anderson, T. Reps, and T. Teitelbaum. Design and implementation of a fine-grained software inspection tool. IEEE Trans. Softw. Eng., 29(8):721–733, Aug. 2003.
[3]
T. Ball and J. R. Larus. E fficient path profiling. In MICRO, 1996.
[4]
H. Do, S. G. Elbaum, and G. Rothermel. Supporting controlled experimentation with testing techniques: An infrastructure and its potential impact. Empirical Software Engineering: An International Journal, 10(4):405–435, 2005.
[5]
GDB developers. GDB: The GNU Project Debugger, July 2014.
[6]
B. Hailpern and P. Santhanam. Software debugging, testing, and verification. IBM Syst. J., 41(1):4–12, Jan. 2002.
[7]
C. Hammacher, K. Streit, S. Hack, and A. Zeller. Profiling Java programs for parallelism. In Proc. 2nd International Workshop on Multi-Core Software Engineering (IWMSE), pages 49–55, May 2009.
[8]
J. Hofer. eCobertura. http://ecobertura.johoop.de/, Nov. 2010.
[9]
G. Jayaraman, V. P. Ranganath, and J. Hatcli ff. Kaveri: Delivering the Indus Java program slicer to Eclipse. In M. Cerioli, editor, Fundamental Approaches to Software Engineering, 8th International Conference, FASE 2005, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2005, Edinburgh, UK, April 4-8, 2005, Proceedings, volume 3442 of Lecture Notes in Computer Science, pages 269–272. Springer, 2005.
[10]
Y. P. Khoo, J. S. Foster, M. Hicks, and V. Sazawal. Path projection for user-centered static analysis tools. In S. Krishnamurthi and M. Young, editors, Proceedings of the 8th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, PASTE’08, Atlanta, Georgia, November 9-10, 2008, pages 57–63. ACM, 2008.
[11]
A. J. Ko and B. A. Myers. Debugging reinvented: asking and answering why and why not questions about program behavior. In W. Schäfer, M. B. Dwyer, and V. Gruhn, editors, 30th International Conference on Software Engineering (ICSE 2008), Leipzig, Germany, May 10-18, 2008, pages 301–310. ACM, 2008.
[12]
G. C. Morrison, C. P. Inggs, and W. C. Visser. Automated coverage calculation and test case generation. In J. H. Kroeze and R. de Villiers, editors, 2012 South African Institute of Computer Scientists and Information Technologists Conference, SAICSIT ’12, Pretoria, South Africa, October 1-3, 2012, pages 84–93. ACM, 2012.
[13]
Mountainminds GmbH & Co. KG and Contributors. EclEmma: Java code coverage for Eclipse. http://www.eclemma.org/, Sept. 2012.
[14]
D. Myers and M. D. Storey. Using dynamic analysis to create trace-focused user interfaces for ides. In G. Roman and K. J. Sullivan, editors, Proceedings of the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2010, Santa Fe, NM, USA, November 7-11, 2010, pages 367–368. ACM, 2010.
[15]
P. Ohmann and B. Liblit. Lightweight control-flow instrumentation and postmortem analysis in support of debugging. In ASE, 2013.
[16]
P. Ohmann and B. Liblit. Lightweight control-flow instrumentation and postmortem analysis in support of debugging. Automated Software Engineering (Journal Special Edition), 2015. In submission. Available upon request.
[17]
C. Parnin and A. Orso. Are automated debugging techniques actually helping programmers? In Proceedings of the 2011 International Symposium on Software Testing and Analysis, ISSTA ’11, pages 199–209, New York, NY, USA, 2011. ACM.
[18]
G. Rothermel, S. Elbaum, A. Kinneer, and H. Do. Software–artifact infrastructure repository. http://sir.unl.edu/portal/, Sept. 2006.
[19]
G. Tassey. The economic impacts of inadequate infrastructure for software testing. NIST, RTI Project, 7007(011), 2002.
[20]
Introduction Background Design Related Work Limitations and Future Work Conclusions

Cited By

View all
  • (2017)Control-flow recovery from partial failure reportsACM SIGPLAN Notices10.1145/3140587.306236852:6(390-405)Online publication date: 14-Jun-2017
  • (2017)Control-flow recovery from partial failure reportsProceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3062341.3062368(390-405)Online publication date: 14-Jun-2017
  • (2016)CREDALProceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security10.1145/2976749.2978340(529-540)Online publication date: 24-Oct-2016

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ETX 2015: Proceedings of the on Eclipse Technology eXchange
October 2015
24 pages
ISBN:9781450339049
DOI:10.1145/2846650
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 October 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Debugging
  2. integrated development environments
  3. postmortem program analysis
  4. software development

Qualifiers

  • Research-article

Funding Sources

Conference

SPLASH '15
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2017)Control-flow recovery from partial failure reportsACM SIGPLAN Notices10.1145/3140587.306236852:6(390-405)Online publication date: 14-Jun-2017
  • (2017)Control-flow recovery from partial failure reportsProceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3062341.3062368(390-405)Online publication date: 14-Jun-2017
  • (2016)CREDALProceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security10.1145/2976749.2978340(529-540)Online publication date: 24-Oct-2016

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media