Tracing Execution of Software for Design Coverage
Raimondas Lencevicius, Edu Metz, Alexander Ran
Abstract
Test suites are designed to validate the operation of a system against requirements. One important aspect of a test suite design is to ensure that system operation logic is tested completely. A test suite should drive a system through all abstract states to exercise all possible cases of its operation. This is a difficult task. Code coverage tools support test suite designers by providing the information about which parts of source code are covered during system execution. Unfortunately, code coverage tools produce only source code coverage information. For a test engineer it is often hard to understand what the noncovered parts of the source code do and how they relate to requirements. We propose a generic approach that provides design coverage of the executed software simplifying the development of new test suites. We demonstrate our approach on common design abstractions such as statecharts, activity diagrams, message sequence charts and structure diagrams. We implement the design coverage using Third Eye tracing and trace analysis framework. Using design coverage, test suites could be created faster by focussing on untested design elements.
Create a lesson
Related papers
The Code of Theseus: Can Agents Rebuild Software from Recovered Design Documents?
Cezar Sas, Sandra Mitrović, Fabio Barth et al.
SWE-Nexus: Automated Composition of Software Engineering Tasks from Test Execution
Songwei Yu, Ziqi Miao, Jingxuan Xu et al.
LintEval: Benchmarking LLMs on Linter-Guided File Refactoring
Tongwei Deng, Jinyu Zhu, Yue Cao et al.
Temporal Adaptive Fine-Tuning for Code Comprehension
Alex Wolf, Pooja Rani, Harald C. Gall
Taming the Online Software Engineering Tongue: Detecting and Reducing Offensive Language in Software Communities
Jithin Cheriyan, Bastin Tony Roy Savarimuthu, Stephen Cranefield
Systematic Detection of Energy Regressions in Software Version Histories
Jérôme Maquoi, François Bechet, Luís Cruz et al.