Semantics with applications: a formal introduction
Semantics with applications: a formal introduction
Precise interprocedural dataflow analysis via graph reachability
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Abstract interpretation of reactive systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Bebop: A Symbolic Model Checker for Boolean Programs
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
Reachability Analysis of Pushdown Automata: Application to Model-Checking
CONCUR '97 Proceedings of the 8th International Conference on Concurrency Theory
Abstraction-Based Model Checking Using Modal Transition Systems
CONCUR '01 Proceedings of the 12th International Conference on Concurrency Theory
Construction of Abstract State Graphs with PVS
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Model Checking Partial State Spaces with 3-Valued Temporal Logics
CAV '99 Proceedings of the 11th International Conference on Computer Aided Verification
A BDD-Based Model Checker for Recursive Programs
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
Termination proofs for systems code
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
YASM: a software model-checker for verification and refutation
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
On-the-Fly reachability and cycle detection for recursive state machines
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Systematic construction of abstractions for model-checking
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Why waste a perfectly good abstraction?
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Hi-index | 0.00 |
We propose an approach for analyzing non-termination and reachability properties of recursive programs using a combination of over- and under-approximating abstractions. First, we define a new concrete program semantics, mixed, that combines both natural and operational semantics, and use it to design an on-the-fly symbolic algorithm. Second, we combine this algorithm with abstraction by following classical fixpoint abstraction techniques. This makes our approach parametrized by different approximating semantics of predicate abstraction and enables a uniform solution for over- and under-approximating semantics. The algorithm is implemented in Yasm, and we show that it can establish non-termination of non-trivial C programs completely automatically.