Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Precise interprocedural dataflow analysis via graph reachability
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Foundations of programming languages
Foundations of programming languages
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Refining data flow information using infeasible paths
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
A static analyzer for finding dynamic programming errors
Software—Practice & Experience
Avoiding exponential explosion: generating compact verification conditions
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The SLAM project: debugging system software via static analysis
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Flow-sensitive type qualifiers
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
ESP: path-sensitive program verification in polynomial time
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
The Science of Programming
Counterexample-Guided Abstraction Refinement
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Temporal-Safety Proofs for Systems Code
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Polymorphic predicate abstraction
ACM Transactions on Programming Languages and Systems (TOPLAS)
CMC: a pragmatic approach to model checking real code
OSDI '02 Proceedings of the 5th symposium on Operating systems design and implementationCopyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading
Automatic software model checking using CLP
ESOP'03 Proceedings of the 12th European conference on Programming
Race checking by context inference
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Generating Tests from Counterexamples
Proceedings of the 26th International Conference on Software Engineering
Invited talk: the blast query language for software verification
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Invited talk: the blast query language for software verification
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
CHET: A System for Checking Dynamic Specifications
Proceedings of the 19th IEEE international conference on Automated software engineering
Synthesis of interface specifications for Java classes
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Polymorphic predicate abstraction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Joining dataflow with predicates
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Specifying and checking component usage
Proceedings of the sixth international symposium on Automated analysis-driven debugging
Model Checking C Programs Using F-SOFT
ICCD '05 Proceedings of the 2005 International Conference on Computer Design
Symbolic path simulation in path-sensitive dataflow analysis
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
An interpolating theorem prover
Theoretical Computer Science - Tools and algorithms for the construction and analysis of systems (TACAS 2004)
Predicate abstraction for reachability analysis of hybrid systems
ACM Transactions on Embedded Computing Systems (TECS)
Termination proofs for systems code
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
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
Certifying cryptographic protocols by abstract model-checking and proof concretization
ACM SIGBED Review - Special issues on workshop on innovative techniques for certification of embedded systems
Interprocedural analysis of asynchronous programs
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Thorough static analysis of device drivers
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Modular Pluggable Analyses for Data Structure Consistency
IEEE Transactions on Software Engineering
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the conference on Design, automation and test in Europe
SAT-based Abstraction Refinement for Real-time Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Sound, complete and scalable path-sensitive analysis
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Full functional verification of linked data structures
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Efficient SAT-based bounded model checking for software verification
Theoretical Computer Science
Model-Checking Software Using Precise Abstractions
Verified Software: Theories, Tools, Experiments
Decision Procedures for the Grand Challenge
Verified Software: Theories, Tools, Experiments
Using Predicate Abstraction to Generate Heuristic Functions in UPPAAL
Model Checking and Artificial Intelligence
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
Efficient Craig Interpolation for Linear Diophantine (Dis)Equations and Linear Modular Equations
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
Scalable Shape Analysis for Systems Code
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
Towards the Verification of Attributed Graph Transformation Systems
ICGT '08 Proceedings of the 4th international conference on Graph Transformations
Goanna: Syntactic Software Model Checking
ATVA '08 Proceedings of the 6th International Symposium on Automated Technology for Verification and Analysis
Fundamenta Informaticae - Fundamentals of Software Engineering 2007: Selected Contributions
Abstraction Refinement for Probabilistic Software
VMCAI '09 Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
Common knowledge does not have the Beth property
Information Processing Letters
The synergy of precise and fast abstractions for program verification
Proceedings of the 2009 ACM symposium on Applied Computing
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
Verifying Reference Counting Implementations
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
Program verification using templates over predicate abstraction
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
InvGen: An Efficient Invariant Generator
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
ACM Computing Surveys (CSUR)
Dependent type inference with interpolants
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Efficient Craig interpolation for linear Diophantine (dis)equations and linear modular equations
Formal Methods in System Design
Interpolant Generation for UTVPI
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
Ground Interpolation for Combined Theories
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
Interpolation and Symbol Elimination
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
Complexity and Algorithms for Monomial and Clausal Predicate Abstraction
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
Abstraction Refinement for Quantified Array Assertions
SAS '09 Proceedings of the 16th International Symposium on Static Analysis
Refinement of Trace Abstraction
SAS '09 Proceedings of the 16th International Symposium on Static Analysis
Abstract Counterexamples for Non-disjunctive Abstractions
RP '09 Proceedings of the 3rd International Workshop on Reachability Problems
Efficient memoization for dynamic programming with ad-hoc constraints
AAAI'08 Proceedings of the 23rd national conference on Artificial intelligence - Volume 1
Program Analysis with Dynamic Precision Adjustment
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Automatic Inference of Frame Axioms Using Static Analysis
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Augmenting Counterexample-Guided Abstraction Refinement with Proof Templates
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Dependent types from counterexamples
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From program verification to program synthesis
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Checking Event-Based Specifications in Java Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Predicate Diagrams for the Verification of Real-Time Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Friends or foes? on planning as satisfiability and abstract CNF encodings
Journal of Artificial Intelligence Research
WYSINWYX: What you see is not what you eXecute
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interpolants and symbolic model checking
VMCAI'07 Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation
Constraint solving for interpolation
VMCAI'07 Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation
Abstraction refinement of linear programs with arrays
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Property-driven partitioning for abstraction refinement
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Array abstractions from proofs
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Structural abstraction of software verification conditions
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Local abstraction-refinement for the mu-calculus
Proceedings of the 14th international SPIN conference on Model checking software
FSEN'07 Proceedings of the 2007 international conference on Fundamentals of software engineering
Toward property-driven abstraction for heap manipulating programs
ATVA'07 Proceedings of the 5th international conference on Automated technology for verification and analysis
Using counterexample analysis to minimize the number of predicates for predicate abstraction
ATVA'07 Proceedings of the 5th international conference on Automated technology for verification and analysis
Reasoning about the unknown in static analysis
Communications of the ACM
An interpolation method for CLP traversal
CP'09 Proceedings of the 15th international conference on Principles and practice of constraint programming
Efficient interpolant generation in satisfiability modulo theories
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Quantified invariant generation using an interpolating saturation prover
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Automatically refining abstract interpretations
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
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
Abstract counterexample-based refinement for powerset domains
Program analysis and compilation, theory and practice
Mixing type checking and symbolic execution
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Refining abstract interpretations
Information Processing Letters
On theorem proving for program checking: historical perspective and recent developments
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
Efficient generation of craig interpolants in satisfiability modulo theories
ACM Transactions on Computational Logic (TOCL)
Journal of Symbolic Computation
Constraint solving for interpolation
Journal of Symbolic Computation
Electronic Notes in Theoretical Computer Science (ENTCS)
The localization reduction and counterexample-guided abstraction refinement
Time for verification
Toward reliable and efficient message passing software through formal analysis
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
An overview of the Jahob analysis system: project goals and current status
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Non-monotonic refinement of control abstraction for concurrent programs
ATVA'10 Proceedings of the 8th international conference on Automated technology for verification and analysis
SMT-based software model checking
SPIN'10 Proceedings of the 17th international SPIN conference on Model checking software
ExplainHoudini: making Houdini inference transparent
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
Distributed and predictable software model checking
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
A decade of software model checking with SLAM
Communications of the ACM
An interpolating decision procedure for transitive relations with uninterpreted functions
HVC'09 Proceedings of the 5th international Haifa verification conference on Hardware and software: verification and testing
Efficient predicate abstraction of program summaries
NFM'11 Proceedings of the Third international conference on NASA Formal methods
Infer: an automatic program verifier for memory safety of C programs
NFM'11 Proceedings of the Third international conference on NASA Formal methods
An efficient and flexible approach to resolution proof reduction
HVC'10 Proceedings of the 6th international conference on Hardware and software: verification and testing
Predicate generation for learning-based quantifier-free loop invariant inference
TACAS'11/ETAPS'11 Proceedings of the 17th international conference on Tools and algorithms for the construction and analysis of systems: part of the joint European conferences on theory and practice of software
Predicate abstraction and CEGAR for higher-order model checking
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Verifying SystemC: a software model checking approach
Proceedings of the 2010 Conference on Formal Methods in Computer-Aided Design
Predicate abstraction with adjustable-block encoding
Proceedings of the 2010 Conference on Formal Methods in Computer-Aided Design
Modular bug detection with inertial refinement
Proceedings of the 2010 Conference on Formal Methods in Computer-Aided Design
Abstraction based automated test generation from formal tabular requirements specifications
TAP'11 Proceedings of the 5th international conference on Tests and proofs
On interpolation in decision procedures
TABLEAUX'11 Proceedings of the 20th international conference on Automated reasoning with analytic tableaux and related methods
KRATOS: a software model checker for SystemC
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
HMC: verifying functional programs using abstract interpreters
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
Interpolation-based software verification with WOLVERINE
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
FroCoS'11 Proceedings of the 8th international conference on Frontiers of combining systems
Accurate theorem proving for program verification
ISoLA'04 Proceedings of the First international conference on Leveraging Applications of Formal Methods
Orion: high-precision methods for static error analysis of c and c++ programs
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
Path-Sensitive dataflow analysis with iterative refinement
SAS'06 Proceedings of the 13th international conference on Static Analysis
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Zap: automated theorem proving for software analysis
LPAR'05 Proceedings of the 12th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Playing in the grey area of proofs
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Model checking duration calculus: a practical approach
ICTAC'06 Proceedings of the Third international conference on Theoretical Aspects of Computing
Shape refinement through explicit heap analysis
FASE'10 Proceedings of the 13th international conference on Fundamental Approaches to Software Engineering
Generalized typestate checking for data structure consistency
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Flexible interpolation with local proof transformations
Proceedings of the International Conference on Computer-Aided Design
Lazy abstraction with interpolants
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Using statically computed invariants inside the predicate abstraction and refinement loop
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Counterexamples with loops for predicate abstraction
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
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
Applications of craig interpolants in model checking
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Localization and register sharing for predicate abstraction
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Learning component interfaces with may and must abstractions
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Applications of craig interpolation to model checking
ICATPN'05 Proceedings of the 26th international conference on Applications and Theory of Petri Nets
Interpolant-based transition relation approximation
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
F-SOFT: software verification platform
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Abstraction refinement via inductive learning
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
A combination method for generating interpolants
CADE' 20 Proceedings of the 20th international conference on Automated Deduction
The BLAST software verification system
SPIN'05 Proceedings of the 12th international conference on Model Checking Software
Abstraction refinement for termination
SAS'05 Proceedings of the 12th international conference on Static Analysis
Proceedings of the International Conference on Formal Methods in Computer-Aided Design
Effective word-level interpolation for software verification
Proceedings of the International Conference on Formal Methods in Computer-Aided Design
Scaling probabilistic timing verification of hardware using abstractions in design source code
Proceedings of the International Conference on Formal Methods in Computer-Aided Design
Predicate abstraction of programs with non-linear computation
ATVA'06 Proceedings of the 4th international conference on Automated Technology for Verification and Analysis
ARMC: the logical choice for software model checking with abstraction refinement
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Establishing linux driver verification process
PSI'09 Proceedings of the 7th international Andrei Ershov Memorial conference on Perspectives of Systems Informatics
Logical concurrency control from sequential proofs
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Interpolation and symbol elimination in vampire
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
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
Approximating predicate images for bit-vector logic
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
A practical and complete approach to predicate refinement
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Abstraction refinement with craig interpolation and symbolic pushdown systems
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Solving recursion-free horn clauses over LI+UIF
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
Whale: an interpolation-based algorithm for inter-procedural verification
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
SAT-based verification for timed component connectors
Science of Computer Programming
Generating Invariant-Based Certificates for Embedded Systems
ACM Transactions on Embedded Computing Systems (TECS)
Lazy abstraction with interpolants for arrays
LPAR'12 Proceedings of the 18th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Automated error diagnosis using abductive inference
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Synthesizing software verifiers from proof rules
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
From under-approximations to over-approximations and back
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
WOLVERINE: battling bugs with interpolants
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Experience of improving the blast static verification tool
Programming and Computing Software
Unbounded symbolic execution for program verification
RV'11 Proceedings of the Second international conference on Runtime verification
Improved single pass algorithms for resolution proof reduction
SAT'12 Proceedings of the 15th international conference on Theory and Applications of Satisfiability Testing
From strong amalgamability to modularity of quantifier-free interpolation
IJCAR'12 Proceedings of the 6th international joint conference on Automated Reasoning
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Leveraging interpolant strength in model checking
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Beyond first-order satisfaction: fixed points, interpolants, automata and polynomials
SPIN'12 Proceedings of the 19th international conference on Model Checking Software
Fundamenta Informaticae - Fundamentals of Software Engineering 2007: Selected Contributions
Improved single pass algorithms for resolution proof reduction
ATVA'12 Proceedings of the 10th international conference on Automated Technology for Verification and Analysis
ATVA'12 Proceedings of the 10th international conference on Automated Technology for Verification and Analysis
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: applications and case studies - Volume Part II
Path-Sensitive backward slicing
SAS'12 Proceedings of the 19th international conference on Static Analysis
SAS'12 Proceedings of the 19th international conference on Static Analysis
Interpolation-Based function summaries in bounded model checking
HVC'11 Proceedings of the 7th international Haifa Verification conference on Hardware and Software: verification and testing
Predicate analysis with block-abstraction memoization
ICFEM'12 Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering
Heuristic-guided abstraction refinement for concurrent systems
ICFEM'12 Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering
Complete instantiation-based interpolation
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Counterexample-Guided precondition inference
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Explicit-State software model checking based on CEGAR and interpolation
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
Proof tree preserving interpolation
TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Second competition on software verification
TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Finding optimum abstractions in parametric dataflow analysis
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Lemma localization: a practical method for downsizing SMT-interpolants
Proceedings of the Conference on Design, Automation and Test in Europe
Quantifier-free interpolation in combinations of equality interpolating theories
ACM Transactions on Computational Logic (TOCL)
Precision reuse for efficient regression verification
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Inductive invariant generation via abductive inference
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Efficient generation of small interpolants in CNF
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Disjunctive interpolants for horn-clause verification
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Generating non-linear interpolants by semidefinite programming
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Solving existentially quantified horn clauses
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Bias-variance tradeoffs in program analysis
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Symbolic optimization with SMT solvers
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Automated Reasoning and Mathematics
Hi-index | 0.03 |
The success of model checking for large programs depends crucially on the ability to efficiently construct parsimonious abstractions. A predicate abstraction is parsimonious if at each control location, it specifies only relationships between current values of variables, and only those which are required for proving correctness. Previous methods for automatically refining predicate abstractions until sufficient precision is obtained do not systematically construct parsimonious abstractions: predicates usually contain symbolic variables, and are added heuristically and often uniformly to many or all control locations at once. We use Craig interpolation to efficiently construct, from a given abstract error trace which cannot be concretized, a parsominous abstraction that removes the trace. At each location of the trace, we infer the relevant predicates as an interpolant between the two formulas that define the past and the future segment of the trace. Each interpolant is a relationship between current values of program variables, and is relevant only at that particular program location. It can be found by a linear scan of the proof of infeasibility of the trace.We develop our method for programs with arithmetic and pointer expressions, and call-by-value function calls. For function calls, Craig interpolation offers a systematic way of generating relevant predicates that contain only the local variables of the function and the values of the formal parameters when the function was called. We have extended our model checker Blast with predicate discovery by Craig interpolation, and applied it successfully to C programs with more than 130,000 lines of code, which was not possible with approaches that build less parsimonious abstractions.