Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Statecharts: A visual formalism for complex systems
Science of Computer Programming
On-line algorithms for polynomially solvable satisfiability problems
Journal of Logic Programming
Interprocedural static analysis of sequencing constraints
ACM Transactions on Software Engineering and Methodology (TOSEM)
Model checking and abstraction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Data flow analysis for verifying properties of concurrent programs
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
GRASP—a new search algorithm for satisfiability
Proceedings of the 1996 IEEE/ACM international conference on Computer-aided design
Uniform approaches to the verification of finite state systems
Uniform approaches to the verification of finite state systems
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
Concurrency: state models & Java programs
Concurrency: state models & Java programs
Automating first-order relational logic
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
COM revisited: tool-assisted modelling of an architectural framework
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Communicating sequential processes
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Verifying security protocols with Brutus
ACM Transactions on Software Engineering and Methodology (TOSEM)
Chaff: engineering an efficient SAT solver
Proceedings of the 38th annual Design Automation Conference
Automatically validating temporal safety properties of interfaces
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
Tool-supported program abstraction for finite-state verification
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Using symbolic execution for verifying safety-critical systems
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A system and language for building system-specific, static analyses
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Communication and Concurrency
PROPEL: an approach supporting property elucidation
Proceedings of the 24th International Conference on Software Engineering
Shape Analysis through Predicate Abstraction and Model Checking
VMCAI 2003 Proceedings of the 4th International Conference on Verification, Model Checking, and Abstract Interpretation
Construction of Abstract State Graphs with PVS
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Counterexample-Guided Abstraction Refinement
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
CVC: A Cooperating Validity Checker
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
SATO: An Efficient Propositional Prover
CADE-14 Proceedings of the 14th International Conference on Automated Deduction
Boolean and Cartesian Abstraction for Model Checking C Programs
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Exploring the Design of an Intentional Naming Scheme with an Automatic Constraint Analyzer
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
HORNSAT, Model Checking, Verification, and Games
HORNSAT, Model Checking, Verification, and Games
Techniques for program verification
Techniques for program verification
Checking system rules using system-specific, programmer-written compiler extensions
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
CHET: A System for Checking Dynamic Specifications
Proceedings of the 19th IEEE international conference on Automated software engineering
Explaining abstract counterexamples
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Specifying and checking component usage
Proceedings of the sixth international symposium on Automated analysis-driven debugging
A compositional behavioral modeling framework for embedded system design and conformance checking
International Journal of Parallel Programming
Interpolation for data structures
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
SYNERGY: a new algorithm for property checking
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Foundations of incremental aspect model-checking
ACM Transactions on Software Engineering and Methodology (TOSEM)
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Formal Software Analysis Emerging Trends in Software Model Checking
FOSE '07 2007 Future of Software Engineering
Safety-Oriented Design of Component Assemblies using Safety Interfaces
Electronic Notes in Theoretical Computer Science (ENTCS)
Finding Errors in Interoperating Components
IWICSS '07 Proceedings of the Second International Workshop on Incorporating COTS Software into Software Systems: Tools and Techniques
Combining Theorem Proving with Model Checking through Predicate Abstraction
IEEE Design & Test
A framework and tool supports for testing modularity of software design
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Model checking concurrent linux device drivers
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Verifying C++ with STL containers via predicate abstraction
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
How low can you go?: recommendations for hardware-supported minimal TCB code execution
Proceedings of the 13th international conference on Architectural support for programming languages and operating systems
The Verified Software Challenge: A Call for a Holistic Approach to Reliability
Verified Software: Theories, Tools, Experiments
Fundamenta Informaticae - Fundamentals of Software Engineering 2007: Selected Contributions
Integration of verification methods for program systems
Programming and Computing Software
Automated Construction of Reasonable Environment for Java Components
Electronic Notes in Theoretical Computer Science (ENTCS)
Three-Valued Spotlight Abstractions
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Making the Most of BMC Counterexamples
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Electronic Notes in Theoretical Computer Science (ENTCS)
Checking Event-Based Specifications in Java Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Predicting and preventing inconsistencies in deployed distributed systems
ACM Transactions on Computer Systems (TOCS)
A forward-backward abstraction refinement algorithm
VMCAI'08 Proceedings of the 9th international conference on Verification, model checking, and abstract interpretation
Towards faithful model extraction based on contexts
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
Cover algorithms and their combination
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
Modelling and performance analysis of component-based systems
International Journal of Critical Computer-Based Systems
Journal of Systems and Software
Translation validation of high-level synthesis
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Verification of software via integration of design and implementation
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Run-time verification of networked software
RV'10 Proceedings of the First international conference on Runtime verification
Abstraction based automated test generation from formal tabular requirements specifications
TAP'11 Proceedings of the 5th international conference on Tests and proofs
Fault-based generation of test cases from UML-Models: approach and some experiences
SAFECOMP'11 Proceedings of the 30th international conference on Computer safety, reliability, and security
An evolutionary approach for program model checking
MEDI'11 Proceedings of the First international conference on Model and data engineering
Predicate abstraction of RTL verilog descriptions using constraint logic programming
ATVA'05 Proceedings of the Third international conference on Automated Technology for Verification and Analysis
Shape refinement through explicit heap analysis
FASE'10 Proceedings of the 13th international conference on Fundamental Approaches to Software Engineering
CTL model checking for boolean program
ICCSA'06 Proceedings of the 2006 international conference on Computational Science and Its Applications - Volume Part IV
Model checking multithreaded programs with asynchronous atomic methods
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
CAV'06 Proceedings of the 18th international conference on Computer Aided 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
Context-Bounded model checking of concurrent software
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Applying constraint logic programming to predicate abstraction of RTL verilog descriptions
MICAI'05 Proceedings of the 4th Mexican international conference on Advances in Artificial Intelligence
Abstract analysis of symbolic executions
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Static deadlock detection for java libraries
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
A CLP method for compositional and intermittent predicate abstraction
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Predicate abstraction via symbolic decision procedures
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Concrete model checking with abstract matching and refinement
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Learning-based assume-guarantee verification (tool paper)
SPIN'05 Proceedings of the 12th international conference on Model Checking Software
SAT-Based software certification
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Counterexample driven refinement for abstract interpretation
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Symbolic execution with abstract subsumption checking
SPIN'06 Proceedings of the 13th international conference on Model Checking Software
Model checking dynamic states in GROOVE
SPIN'06 Proceedings of the 13th international conference on Model Checking Software
Diagnosing abstraction failure for separation logic-based analyses
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Fundamenta Informaticae - Fundamentals of Software Engineering 2007: Selected Contributions
Model-driven construction of certified binaries
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
Predicate analysis with block-abstraction memoization
ICFEM'12 Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering
Unbounded model-checking with interpolation for regular language constraints
TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Deriving minimal models for resource utilization
Proceedings of the 2013 workshop on Green in/by software engineering
Loop summarization using state and transition invariants
Formal Methods in System Design
Hi-index | 0.00 |
We present a new methodology for automatic verification of C programs against finite state machine specifications. Our approach is compositional, naturally enabling us to decompose the verification of large software systems into subproblems of manageable complexity. The decomposition reflects the modularity in the software design. We use weak simulation as the notion of conformance between the program and its specification. Following the CounterExample Guided Abstraction Refinement (CEGAR) paradigm, our tool magic first extracts a finite model from C source code using predicate abstraction and theorem proving. Subsequently, weak simulation is checked via a reduction to Boolean satisfiability. magic has been interfaced with several publicly available theorem provers and SAT solvers. We report experimental results with procedures from the Linux kernel, the OpenSSL toolkit, and several industrial strength benchmarks.