Automatic predicate abstraction of C programs
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Introduction to Automata Theory, Languages and Computability
Introduction to Automata Theory, Languages and Computability
Behavior Protocols for Software Components
IEEE Transactions on Software Engineering
Automated Software Engineering
Counterexample-Guided Abstraction Refinement
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Component composition errors and update atomicity: static analysis: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice - Unanticipated Software Evolution
SYNERGY: a new algorithm for property checking
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Thorough static analysis of device drivers
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Spin model checker, the: primer and reference manual
Spin model checker, the: primer and reference manual
Program Analysis with Dynamic Precision Adjustment
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Collaborative runtime verification with tracematches
RV'07 Proceedings of the 7th international conference on Runtime verification
Checking memory safety with blast
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
SATABS: SAT-Based predicate abstraction for ANSI-C
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Applicability of the BLAST model checker: an industrial case study
PSI'09 Proceedings of the 7th international Andrei Ershov Memorial conference on Perspectives of Systems Informatics
Information reuse for multi-goal reachability analyses
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Hi-index | 0.00 |
Model checking tools based on the iterative refinement of predicate abstraction (e.g., Slam and Blast ) often feature a specification language for expressing complex behavior rules. The source code under verification is instrumented by artificial variables and statements in order to transform the problem of checking such a rule into the problem of program location reachability. This way, the source code get bloated and additional predicates have to be discovered and tracked during the verification. We suggest that a significant performance improvement can be achieved by tracking state of the behavior rules aside from the source code instead of instrumenting them. We have implemented an extension to Blast , which accepts a specification language (a simplified version of behavior protocols ), and checks its validity without modifying the input source code. An experiment with two Linux kernel drivers confirms the performance gain using the extension.