Compiler transformations for high-performance computing
ACM Computing Surveys (CSUR)
Advanced compiler design and implementation
Advanced compiler design and implementation
Translation validation for an optimizing compiler
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
An axiomatic basis for computer programming
Communications of the ACM
Art of Software Testing
WCET Analysis of Probabilistic Hard Real-Time Systems
RTSS '02 Proceedings of the 23rd IEEE Real-Time Systems Symposium
A Practical Tutorial on Modified Condition/Decision Coverage
A Practical Tutorial on Modified Condition/Decision Coverage
Automatic Timing Model Generation by CFG Partitioning and Model Checking
Proceedings of the conference on Design, Automation and Test in Europe - Volume 1
Measurement-Based Worst-Case Execution Time Analysis
SEUS '05 Proceedings of the Third IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems
Towards preserving model coverage and structural code coverage
EURASIP Journal on Embedded Systems - Challenges on complexity and connectivity in embedded systems
Hi-index | 0.00 |
Embedded systems are often used in safety-critical environments. Thus, thorough testing of them is mandatory. A quite active research area is the automatic test-case generation for testing embedded systems. To achieve high retargetability of the testing framework, thetest-case generation has to be done at source-code level. However, it is challenging to guarantee that the test-cases obtained from the source code are also valid at the object-code level, since even in safety-critical domains programs are optimized during compilation, i.e., the compiler may also introduce new control-flow decisions to the program. In this paper we address the issue of how to guarantee the preservation of structural code coverage of test data during the optimizing compilation of the program. We analyze the formal program properties that have to be maintained to preserve different structural testing coverages, like branch coverage or modified condition/decision coverage. Based on this we describe a compilation profile that can be integrated into a compiler to allow the enforcement of structural code-coverage preservation. This work was motivated by current research activities to generate test data automatically from the source code, for example, for measurement-based timing analysis of real-time programs.