skip to main content
10.1145/2695664.2695735acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

The omission finder for debugging what-should-have-happened bugs in object-oriented programs

Published: 13 April 2015 Publication History

Abstract

Trace-based debuggers help a debugging process by displaying a history of executed operations with their parameters in a run of a program. However, those debuggers are unable to provide any clues when a program does not perform operations that ought to occur. This paper proposes a novel feature called the omission finder for trace-based debuggers. This feature correlates points-to analysis results with an execution history to show operations that could have been but actually were not performed on a specified instance if the program behaved differently. We implemented the omission finder on top of an existing trace-based debugger, and confirmed reduction of the number of debugging steps with an omission bug in a real-world program. Our user-study also showed reduction of debugging times with programs containing omission bugs.

References

[1]
H. Agrawal et al. Incremental regression testing. ICSM '93, pp. 348--357, 1993.
[2]
M. Bravenboer and Y. Smaragdakis. Strictly declarative specification of sophisticated points-to analyses. OOPSLA '09, pp. 243--262, 2009.
[3]
C. Hofer et al. Design and implementation of a backward-in-time debugger. NODe/GSEM '06, pp. 17--32, 2006.
[4]
A. Ko and B. Myers. Debugging reinvented: Asking and answering why and why not questions about program behavior. ICSE '08, pp. 301--310, 2008.
[5]
B. Lewis. Debugging backwards in time. AADEBUG '03, 2003.
[6]
O. Lhoták and K.-C. A. Chung. Points-to analysis with efficient strong updates. POPL '11, pp. 3--16, 2011.
[7]
O. Lhoták and L. Hendren. Scaling Java points-to analysis using SPARK. CC '03, pp. 153--169, 2003.
[8]
O. Lhoták and L. Hendren. Evaluating the benefits of context-sensitive points-to analysis using a BDD-based implementation. TOSEM, 18:3:1--3:53, 2008.
[9]
A. Lienhard et al. Practical object-oriented back-in-time debugging. ECOOP '08, pp. 592--615, 2008.
[10]
A. Lienhard et al. Flow-centric, back-in-time debugging. TOOLS '09, pp. 272--288, 2009.
[11]
G. Pothier et al. Scalable omniscient debugging. OOSPLA '07, pp. 535--552, 2007.
[12]
G. Pothier and É. Tanter. Summarized trace indexing and querying for scalable back-in-time debugging. ECOOP '11, pp. 558--582. 2011.
[13]
K. Sakurai et al. Traceglasses: A trace-based debugger for realizing efficient navigation. IPSJ Transaction on Programming, 3(3):1--17, 2010.
[14]
M. Sridharan et al. Demand-driven points-to analysis for Java. OOPSLA '05, pp. 59--76, 2005.
[15]
G. Tibor et al. An efficient relevant slicing method for debugging. ESEC/FSE-7, pp. 303--321, 1999.
[16]
R. Vallée-Rai et al. Soot - a Java optimization framework. CASCON '99, pp. 125--135, 1999.
[17]
T. Wang and A. Roychoudhury. Dynamic slicing on Java bytecode traces. TOPLAS, 30:10:1--10:49, 2008.
[18]
M. D. Weiser. Program slicing. IEEE Transactions on Software Engineering, SE-10(4):352--357, 1984.
[19]
G. Xu et al. Scaling CFL-reachability-based points-to analysis using context-sensitive must-not-alias analysis. ECOOP '09, pp. 98--122, 2009.
[20]
X. Zhang et al. Towards locating execution omission errors. PLDI '07, pp. 415--424, 2007.

Cited By

View all
  • (2020)More Accurate Dynamic Slicing for Better Supporting Software Debugging2020 IEEE 13th International Conference on Software Testing, Validation and Verification (ICST)10.1109/ICST46399.2020.00014(28-38)Online publication date: Oct-2020
  • (2018)Break the dead end of dynamic slicing: localizing data and control omission bugProceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering10.1145/3238147.3238163(509-519)Online publication date: 3-Sep-2018

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '15: Proceedings of the 30th Annual ACM Symposium on Applied Computing
April 2015
2418 pages
ISBN:9781450331968
DOI:10.1145/2695664
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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 April 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. omission errors
  2. points-to analysis
  3. trace-based debugger

Qualifiers

  • Research-article

Funding Sources

  • JSPS KAKENHI

Conference

SAC 2015
Sponsor:
SAC 2015: Symposium on Applied Computing
April 13 - 17, 2015
Salamanca, Spain

Acceptance Rates

SAC '15 Paper Acceptance Rate 291 of 1,211 submissions, 24%;
Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2020)More Accurate Dynamic Slicing for Better Supporting Software Debugging2020 IEEE 13th International Conference on Software Testing, Validation and Verification (ICST)10.1109/ICST46399.2020.00014(28-38)Online publication date: Oct-2020
  • (2018)Break the dead end of dynamic slicing: localizing data and control omission bugProceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering10.1145/3238147.3238163(509-519)Online publication date: 3-Sep-2018

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