TOGA
Elizabeth Dinella, Gabriel Ryan, Todd Mytkowicz, Shuvendu K. Lahiri
2022Proceedings of the 44th International Conference on Software Engineering92 citationsDOIOpen Access PDF
Abstract
Testing is widely recognized as an important stage of the software development lifecycle. Effective software testing can provide benefits such as bug finding, preventing regressions, and documentation. In terms of documentation, unit tests express a unit's intended functionality, as conceived by the developer. A test oracle, typically expressed as an condition, documents the intended behavior of a unit under a given test prefix. Synthesizing a functional test oracle is a challenging problem, as it must capture the intended functionality rather than the implemented functionality.
Topics & Concepts
OracleComputer scienceDocumentationUnit testingRegression testingTest caseSoftware bugInferenceSoftwareContext (archaeology)Software engineeringData miningProgramming languageMachine learningArtificial intelligenceSoftware developmentSoftware constructionRegression analysisPaleontologyBiologySoftware Testing and Debugging TechniquesSoftware Engineering ResearchSoftware Reliability and Analysis Research