Sustaining Entire Code-Coverage on Code Optimization
Sustaining Entire Code-Coverage on Code Optimization
Disciplines
Computer Sciences (100%)
Keywords
-
Testing Embedded Systems,
Code-Coverage Preservation,
Code Transformation,
Code Optimization,
Measurement-Based Timing Analysis,
Compiler
The SECCO project is concerned with software testing, focusing in particular on the support of gray-box testing, i.e., testing methods where the source code of the program guides the test-data generation. Whenever an optimizing compiler is used, code coverage achieved at source-code level cannot guaranteed to be preserved at object-code level. Current practice is either to "live with this problem"` or to forbid code optimizations done by the compiler at all. The SECCO project aims to solve this problem of guaranteeing code coverage at object-code level by extending the compiler such that only those code optimizations are permitted that cannot disrupt the interested code coverage. Technically, this is done by proving for each code transformation whether it preserves the interested code-coverage criterion. To do this, the interested code-coverage criterion has to be specified formally and a coverage- preservation criterion has to be derived. In important industrial sectors such as the automotive industry, formal testing methods are starting to gain ground to ensure product quality and, most importantly, the safety of the passengers. The SECCO project provides the foundation for the formal generation of test-data at source-code level. Besides software testing, the SECCO project also improves the applicability of another important verification technique of real-time programs, the measurement- based timing analysis.
The SECCO project is concerned with software testing, focusing in particular on the support of gray-box testing, i.e., testing methods where the source code of the program guides the test-data generation. Whenever an optimizing compiler is used, code coverage achieved at source-code level cannot guaranteed to be preserved at object-code level. Current practice is either to "live with this problem" or to forbid code optimizations done by the compiler at all. The SECCO project aims to solve this problem of guaranteeing code coverage at object-code level by extending the compiler such that only those code optimizations are permitted that cannot disrupt the interested code coverage. Technically, this is done by proving for each code transformation whether it preserves the interested code-coverage criterion. To do this, the interested code-coverage criterion has to be specified formally and a coverage-preservation criterion has to be derived. In important industrial sectors such as the automotive industry, formal testing methods are starting to gain ground to ensure product quality and, most importantly, the safety of the passengers. The SECCO project provides the foundation for the formal generation of test-data at source-code level. Besides software testing, the SECCO project also improves the applicability of another important verification technique of real-time programs, the measurement-based timing analysis.
- Technische Universität Wien - 100%
Research Output
- 21 Citations
- 3 Publications
-
2010
Title Avoiding Timing Anomalies using Code Transformations DOI 10.1109/isorc.2010.27 Type Conference Proceeding Abstract Author Kadlec A Pages 123-132 Link Publication -
2009
Title Towards Preserving Model Coverage and Structural Code Coverage DOI 10.1155/2009/127945 Type Journal Article Author Kirner R Journal EURASIP Journal on Embedded Systems Pages 127945 Link Publication -
2012
Title Optimizing compilation with preservation of structural code coverage metrics to support software testing DOI 10.1002/stvr.1485 Type Journal Article Author Kirner R Journal Software Testing, Verification and Reliability Pages 184-218 Link Publication