[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1109/ICSE-Companion52605.2021.00042acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

GAssert: a fully automated tool to improve assertion oracles

Published: 29 November 2021 Publication History

Abstract

This demo presents the implementation and usage details of GAssert, the first tool to automatically improve assertion oracles. Assertion oracles are executable boolean expressions placed inside the program that should pass (return true) for all correct executions and fail (return false) for all incorrect executions. Because designing perfect assertion oracles is difficult, assertions are prone to both false positives (the assertion fails but should pass) and false negatives (the assertion passes but should fail). Given a Java method containing an assertion oracle to improve, GAssert returns an improved assertion with fewer false positives and false negatives than the initial assertion. Internally, GAssert implements a novel co-evolutionary algorithm that explores the space of possible assertions guided by two fitness functions that reward assertions with fewer false positives, fewer false negatives, and smaller size.

References

[1]
E. T. Barr, M. Harman, P. McMinn, M. Shahbaz, and S. Yoo, "The oracle problem in software testing: A survey," IEEE Transactions on Software Engineering, vol. 41, no. 5, pp. 507--525, 2015.
[2]
G. Jahangirova, D. Clark, M. Harman, and P. Tonella, "Test Oracle Assessment and Improvement," in Proceedings of the International Symposium on Software Testing and Analysis, ser. ISSTA '16. ACM, 2016, pp. 247--258.
[3]
C. Pacheco, S. K. Lahiri, M. D. Ernst, and T. Ball, "Feedback-directed random test generation," in Proceedings of the International Conference on Software Engineering, ser. ICSE '07. ACM, 2007, pp. 75--84.
[4]
G. Fraser and A. Arcuri, "Whole test suite generation," IEEE Transactions on Software Engineering, vol. 39, no. 2, pp. 276--291, 2013.
[5]
G. Jahangirova, D. Clark, M. Harman, and P. Tonella, "An empirical validation of oracle improvement," IEEE Transactions on Software Engineering, 2019.
[6]
V. Terragni, G. Jahangirova, P. Tonella, and M. Pezzè, "Evolutionary improvement of assertion oracles," in Proceedings of the Joint Meeting on Foundations of Software Engineering, ser. ESEC/FSE '20. ACM, 2020, pp. 1178--1189.
[7]
M. D. Ernst, J. Cockrell, W. G. Griswold, and D. Notkin, "Dynamically discovering likely program invariants to support program evolution," in Proceedings of the International Conference on Software Engineering, ser. ICSE '99. ACM, 1999, pp. 213--224.

Cited By

View all
  • (2024)How Does Simulation-Based Testing for Self-Driving Cars Match Human Perception?Proceedings of the ACM on Software Engineering10.1145/36437681:FSE(929-950)Online publication date: 12-Jul-2024
  • (2023)A Literature Survey of Assertions in Software TestingEngineering of Computer-Based Systems10.1007/978-3-031-49252-5_8(75-96)Online publication date: 16-Oct-2023
  • (2021)Generating metamorphic relations for cyber-physical systems with genetic programming: an industrial case studyProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3473920(1264-1274)Online publication date: 20-Aug-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '21: Proceedings of the 43rd International Conference on Software Engineering: Companion Proceedings
May 2021
373 pages

Sponsors

In-Cooperation

  • IEEE CS

Publisher

IEEE Press

Publication History

Published: 29 November 2021

Check for updates

Author Tags

  1. Oracle improvement
  2. automated test generation
  3. evolutionary algorithm
  4. genetic programming
  5. mutation analysis
  6. program assertions
  7. the oracle problem

Qualifiers

  • Research-article

Conference

ICSE '21
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)How Does Simulation-Based Testing for Self-Driving Cars Match Human Perception?Proceedings of the ACM on Software Engineering10.1145/36437681:FSE(929-950)Online publication date: 12-Jul-2024
  • (2023)A Literature Survey of Assertions in Software TestingEngineering of Computer-Based Systems10.1007/978-3-031-49252-5_8(75-96)Online publication date: 16-Oct-2023
  • (2021)Generating metamorphic relations for cyber-physical systems with genetic programming: an industrial case studyProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3473920(1264-1274)Online publication date: 20-Aug-2021
  • (2021)Improving assertion oracles with evolutionary computationProceedings of the Genetic and Evolutionary Computation Conference Companion10.1145/3449726.3462722(45-46)Online publication date: 7-Jul-2021

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