Affiliation:
1. Queen's University, Kingston, Ontario, Canada
Abstract
In run-time safety analysis the executions of a concurrent program are monitored and analyzed with respect to safety properties. Similar to testing, run-time analysis is quite efficient, but it also tends to be incomplete. The results pertain only to the observed executions which may constitute just a small subset of all possible executions.
In this paper, we describe a tool called ViP which uses the software model checker VeriSoft to perform comprehensive run-time safety analyses of concurrent C/C++ programs. A ViP analysis proceeds in three fully automated steps: First, the input program is prepared for a VeriSoft analysis through instrumentation. Next, VeriSoft is invoked to generate the traces corresponding to all possible executions of the program. Then, the traces are checked efficiently for specification violations. The instrumentation is based on the source code transformation language TXL. TXL allows for the instrumentation to be described in terms of rewrite rules and gives ViP a remarkable amount of flexibility.
The paper describes ViP together with its use of VeriSoft and TXL. Several sample analyses are discussed to illustrate the use of ViP.
Publisher
Association for Computing Machinery (ACM)
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. HARS: Heuristic-Enhanced Adaptive Randomized Scheduling for Concurrency Testing;2021 IEEE 21st International Conference on Software Quality, Reliability and Security (QRS);2021-12
2. A Survey of Recent Trends in Testing Concurrent Software Systems;IEEE Transactions on Software Engineering;2018-08-01
3. Reproducing concurrency failures from crash stacks;Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering;2017-08-21
4. Model checking Trampoline OS: a case study on safety analysis for automotive software;Software Testing, Verification and Reliability;2012-08-29