Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2950290.2983964acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
abstract

Constraint-based event trace reduction

Published: 01 November 2016 Publication History

Abstract

Various record-replay techniques are developed to facilitate web application debugging. However, it is time-consuming to inspect all recorded events that reveal a failure. To reduce the cost of debugging, delta-debugging and program slicing are used to remove failure-irrelevant events. However, delta-debugging does not scale well for long traces, and program slicing fails to remove irrelevant events that the failure has program dependence on. In this paper, we propose an effective and efficient approach to remove failure-irrelevant events from the event trace. Our approach builds constraints among events and the failure (e.g., a variable can read any of its earlier type-compatible values), to search for a minimal event trace that satisfies these constraints. Our evaluation on 10 real-world web applications shows that our approach can further remove 70% of events in the reduced trace of dynamic slicing, and needs 80% less iterations and 86% less time than delta-debugging.

References

[1]
J. Mickens, J. Elson, and J. Howell, “Mugshot : Deterministic Capture and Replay for JavaScript Applications,” in Proceedings of the 7th USENIX Conference on Networked Systems Design and Implementation(NSDI), 2010, pp. 159– 174.
[2]
B. Burg, R. Bailey, A. J. Ko, and M. D. Ernst, “Interactive Record/Replay for Web Application Debugging,” in Preceedings of User Interface Software and Technology (UIST), 2013, pp. 473–484.
[3]
M. Hammoudi, B. Burg, G. Bae, and G. Rothermel, “On the Use of Delta Debugging to Reduce Recordings and Facilitate Debugging of Web Applications,” in Proceedings of the 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software (ESEC/FSE), 2015, pp. 333–344.
[4]
A. Zeller and R. Hildebrandt, “Simplifying and Isolating Failure-inducing Input,” IEEE Transactions on Software Engineering (TSE), vol. 28, no. 2, pp. 183–200, 2002.
[5]
J. Wang, W. Dou, C. Gao, and J. Wei, “Fast Reproducing Web Application Errors,” in Preceedings of the 26th International Symposium on Software Reliability Engineering (ISSRE), 2015, pp. 530–540.
[6]
M. Burger and A. Zeller, “Minimizing Reproduction of Software Failures,” in Proceedings of the International Symposium on Software Testing and Analysis(ISSTA), 2011, pp. 221–231.
[7]
J.-D. Choi and A. Zeller, “Isolating Failure-Inducing Thread Schedules,” in Proceedings of the ACM SIGSOFT international symposium on Software testing and analysis(ISSTA), 2002, pp. 210–220.
[8]
A. Zeller, “Isolating Cause-Effect Chains from Computer Programs,” ACM SIGSOFT Software Engineering Notes, vol. 27, no. 6, pp. 1–10, 2002.
[9]
Q. Zhang and B. Goncalves, “Minimizing GUI Event Traces,” in Preceedings of the 24th ACM SIGSOFT International Symposium on the Foundations of Software Engineering(FSE), 2016, to appear.
[10]
A. Zeller, “Yesterday, My Program Worked. Today, It Does Not. Why?,” in Proceedings of the 7th European Software Engineering Conference(ESEC), 1999, pp. 253–267.
[11]
J. Krinke, “Context-Sensitive Slicing of Concurrent Programs,” in Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering (ESEC/FSE), 2003, pp. 178–187.
[12]
D. Giffhorn and C. Hammer, “Precise Slicing of Concurrent Programs: An Evaluation of Static Slicing Algorithms for Concurrent Programs,” Automated Software Engineering(ASE), vol. 16, no. 2, pp. 197–234, 2009.
[13]
S. Zhang, “Practical Semantic Test Simplification,” in Proceedings of the International Conference on Software Engineering (ICSE), 2013, pp. 1173–1176.
[14]
S. Arlt, A. Podelski, and M. Wehrle, “Reducing GUI Test Suites via Program Slicing,” in Proceedings of the International Symposium on Software Testing and Analysis (ISSTA), 2014, pp. 270–281.
[15]
K. Sen, “Concolic Testing,” in Proceedings of the twentysecond IEEE/ACM international conference on Automated software engineering (ASE), 2007, pp. 571–572.
[16]
G. Li, E. Andreasen, and I. Ghosh, “SymJS: Automatic Symbolic Testing of JavaScript Web Applications,” in Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering(ICSE), 2014, pp. 449–459.
[17]
E. J. Schwartz, T. Avgerinos, and D. Brumley, “All You Ever Wanted to Know about Dynamic Taint Analysis and Forward Symbolic Execution,” in IEEE Symposium on Security & Privacy (S&P), 2010, pp. 317–331.
[18]
G. Li, E. Andreasen, and I. Ghosh, “SymJS: Automatic Symbolic Testing of JavaScript Web Applications,” in Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering(ICSE), 2014, pp. 449–459.
[19]
C. S. Jensen, M. R. Prasad, and A. Møller, “Automated Testing with Targeted Event Sequence Generation,” in Proceedings of the International Symposium on Software Testing and Analysis(ISSTA), 2013, pp. 67–77.

Cited By

View all
  • (2020)Generalizing the Split Factor of the Minimizing Delta Debugging AlgorithmIEEE Access10.1109/ACCESS.2020.30430278(219837-219846)Online publication date: 2020
  • (2018)HDDr: a recursive variant of the hierarchical Delta debugging algorithmProceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation10.1145/3278186.3278189(16-22)Online publication date: 5-Nov-2018
  • (2017)Characterizing and taming non-deterministic bugs in JavaScript applicationsProceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering10.5555/3155562.3155696(1006-1009)Online publication date: 30-Oct-2017
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
FSE 2016: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering
November 2016
1156 pages
ISBN:9781450342186
DOI:10.1145/2950290
Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 November 2016

Check for updates

Author Tags

  1. JavaScript
  2. event trace reduction
  3. failure

Qualifiers

  • Abstract

Funding Sources

  • National Key Research and Development Plan
  • National Natural Science Foundation

Conference

FSE'16
Sponsor:

Acceptance Rates

Overall Acceptance Rate 17 of 128 submissions, 13%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)1
Reflects downloads up to 18 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2020)Generalizing the Split Factor of the Minimizing Delta Debugging AlgorithmIEEE Access10.1109/ACCESS.2020.30430278(219837-219846)Online publication date: 2020
  • (2018)HDDr: a recursive variant of the hierarchical Delta debugging algorithmProceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation10.1145/3278186.3278189(16-22)Online publication date: 5-Nov-2018
  • (2017)Characterizing and taming non-deterministic bugs in JavaScript applicationsProceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering10.5555/3155562.3155696(1006-1009)Online publication date: 30-Oct-2017
  • (2017)Characterizing and taming non-deterministic bugs in Javascript applications2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE.2017.8115720(1006-1009)Online publication date: Oct-2017

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media