Introduction to algorithms
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Alcoa: the alloy constraint analyzer
Proceedings of the 22nd international conference on Software engineering
Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
Chaff: engineering an efficient SAT solver
Proceedings of the 38th annual Design Automation Conference
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
The SLAM project: debugging system software via static analysis
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Parametric shape analysis via 3-valued logic
ACM Transactions on Programming Languages and Systems (TOPLAS)
Tracking down software bugs using automatic anomaly detection
Proceedings of the 24th International Conference on Software Engineering
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
Temporal-Safety Proofs for Systems Code
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Precise dynamic slicing algorithms
Proceedings of the 25th International Conference on Software Engineering
Modular verification of software components in C
Proceedings of the 25th International Conference on Software Engineering
DATE '03 Proceedings of the conference on Design, Automation and Test in Europe - Volume 1
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Modular verification of code with SAT
Proceedings of the 2006 international symposium on Software testing and analysis
Lightweight extraction of syntactic specifications
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Inferring specifications to detect errors in code
Automated Software Engineering
Finding Errors in Interoperating Components
IWICSS '07 Proceedings of the Second International Workshop on Incorporating COTS Software into Software Systems: Tools and Techniques
Finding bugs efficiently with a SAT solver
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Scalable automatic test data generation from modeling diagrams
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
DySy: dynamic symbolic execution for invariant inference
Proceedings of the 30th international conference on Software engineering
Bounded Verification of Voting Software
VSTTE '08 Proceedings of the 2nd international conference on Verified Software: Theories, Tools, Experiments
Towards Abstraction for DynAlloy Specifications
ICFEM '08 Proceedings of the 10th International Conference on Formal Methods and Software Engineering
A Modeling Language for Program Design and Synthesis
Advances in Software Engineering
Scalable satisfiability checking and test data generation from modeling diagrams
Automated Software Engineering
Snugglebug: a powerful approach to weakest preconditions
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Generating representation invariants of structurally complex data
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Kodkod: a relational model finder
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
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
Satisfiability modulo recursive programs
SAS'11 Proceedings of the 18th international conference on Static analysis
Discovering likely method specifications
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
Understanding programming bugs in ANSI-C software using bounded model checking counter-examples
IFM'12 Proceedings of the 9th international conference on Integrated Formal Methods
Counterexample-Guided precondition inference
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Second-order constraints in dynamic invariant inference
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Hi-index | 0.00 |
A new static program analysis method for checking structural properties of code is proposed. The user need only provide a property to check; no further annotations are required. An initial abstraction of the code is computed that over-approximates the effect of function calls. This abstraction is then iteratively refined in response to spurious counterexamples. The refinement involves inferring a context-dependent specification for each function call, so that only as much information about a function is used as is necessary to analyze its caller. When the algorithm terminates, the remaining counterexample is guaranteed not to be spurious, but because the program and its heap are finitized, absence of a counterexample does not constitute proof.