Symbolic execution and program testing
Communications of the ACM
Assertion-Based Design
Embedded Software Engineering: The State of the Practice
IEEE Software
DART: directed automated random testing
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Search-based software test data generation: a survey: Research Articles
Software Testing, Verification & Reliability
Improvements for constraint solving in the systemc verification library
Proceedings of the 17th ACM Great Lakes symposium on VLSI
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Functional Verification Coverage Measurement and Analysis
Functional Verification Coverage Measurement and Analysis
A Transaction Level Assertion Verification Framework in SystemC: An Application Study
CENICS '09 Proceedings of the 2009 Second International Conference on Advances in Circuits, Electronics and Micro-electronics
Pex: white box test generation for .NET
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Overcoming limitations of the SystemC data introspection
Proceedings of the Conference on Design, Automation and Test in Europe
Specification test coverage adequacy criteria = specification test generation inadequacy criteria
HASE'04 Proceedings of the Eighth IEEE international conference on High assurance systems engineering
CUTE and jCUTE: concolic unit testing and explicit path model-checking tools
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
The LLVM compiler framework and infrastructure tutorial
LCPC'04 Proceedings of the 17th international conference on Languages and Compilers for High Performance Computing
Testbenches for advanced TLM verification
Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
ACM HotMobile 2013 poster: RazorCam: a prototyping environment for video communication
ACM SIGMOBILE Mobile Computing and Communications Review
Hi-index | 0.00 |
Testing of embedded systems, operating in the real environment, is generally performed by using an industrial test bench that stimulates the system through sensors and human-machine interfaces. The test bench provides the engineers with a set of tools for reproducing the environmental conditions which may affect the system. On the contrary, a different approach is adopted at the early stages of the design flow, when system level languages, like SystemC, are used to describe the functionality of the design. At this level, stimuli for testing the design are traditionally generated in a random or statistical way, which makes more difficult to capture well-specific behaviors of the considered environment, thus decreasing the effectiveness and the efficiency of the verification. This is particularly evident for dynamic assertion-based verification where, to avoid vacuous passes of assertions, stimuli must reflect specific scenarios to activate the assertions. In this work, we propose a graphical framework to automatically generate stimuli, particularly suited to be used for dynamic ABV of embedded SW. The framework relies on the definition of a Testbench Specification Language (TSL) that allows to formally capture the behavior of the real environment where embedded SW is intended to be executed, i.e., how input values evolve on time intervals. Then, the framework allows to automatically synthesize TSL descriptions into SystemC-based stimuli generators, which exploit and extend the functionality of the SystemC Verification Library.