Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Computation of aliases and support sets
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Debugging standard ML without reverse engineering
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
A fresh look at optimizing array bound checking
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Pointer-induced aliasing: a problem classification
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
SPARE: A Development Environment for Program Analysis Algorithms
IEEE Transactions on Software Engineering
A lattice for abstract interpretation of dynamic (LISP-like) structures
Information and Computation
Analyzing aliases of reference formal parameters
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Automatic discovery of linear restraints among variables of a program
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
An efficient way to find the side effects of procedure calls and the aliases of variables
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
PLILP '90 Proceedings of the 2nd International Workshop on Programming Language Implementation and Logic Programming
Optimization of range checking
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Demand-driven computation of interprocedural data flow
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A unified treatment of flow analysis in higher-order languages
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Aspect: detecting bugs with abstract dependences
ACM Transactions on Software Engineering and Methodology (TOSEM)
Semantic analysis of shared-memory concurrent languages using abstract model-checking
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Catching bugs in the web of program invariants
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Program analysis for software engineering: new applications, new requirements, new tools
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
A practical framework for demand-driven interprocedural data flow analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Nonlinear and Symbolic Data Dependence Testing
IEEE Transactions on Parallel and Distributed Systems
Safety analysis of Hawk In Flight monitor
Proceedings of the 1999 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Directions for research in approximate system analysis
ACM Computing Surveys (CSUR)
Putting static analysis to work for verification: A case study
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Advanced code generation for high performance Fortran
Compiler optimizations for scalable parallel systems
Refining Model Checking by Abstract Interpretation
Automated Software Engineering
The range test: a dependence test for symbolic, non-linear expressions
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
Simplifying Control Flow in Compiler-Generated Parallel Code
International Journal of Parallel Programming
Set-Based Failure Analysis for Logic Programs and Concurrent Constraint Programs
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
How to Transform an Analyzer into a Verifier
LPAR '01 Proceedings of the Artificial Intelligence on Logic for Programming
Combining Forward and Backward Analyses of Temporal Properties
PADO '01 Proceedings of the Second Symposium on Programs as Data Objects
Program Debugging and Validation Using Semantic Approximations and Partial Specifications
ICALP '02 Proceedings of the 29th International Colloquium on Automata, Languages and Programming
An Experiment in Type Inference and Verification by Abstract Interpretation
VMCAI '02 Revised Papers from the Third International Workshop on Verification, Model Checking, and Abstract Interpretation
Verification of Embedded Software: Problems and Perspectives
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
Watchpoint Semantics: A Tool for Compositional and Focussed Static Analyses
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
On Abstraction in Software Verification
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Automatic derivation of path and loop annotations in object-oriented real-time programs
Engineering of distributed control systems
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Class analyses as abstract interpretations of trace semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
Abstract interpretation based verification of logic programs
Science of Computer Programming
DrScheme: a programming environment for Scheme
Journal of Functional Programming
CONSIT: a fully automated conditioned program slicer
Software—Practice & Experience
Online Cycle Detection and Difference Propagation: Applications to Pointer Analysis
Software Quality Control
Transition predicate abstraction and fair termination
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Transition predicate abstraction and fair termination
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Symbolic bounds analysis of pointers, array indices, and accessed memory regions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Modular set-based analysis from contracts
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
A class of polynomially solvable range constraints for interval analysis without widenings
Theoretical Computer Science - Tools and algorithms for the construction and analysis of systems (TACAS 2004)
Termination proofs for systems code
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Higher-Order and Symbolic Computation
Transition predicate abstraction and fair termination
ACM Transactions on Programming Languages and Systems (TOPLAS) - Special issue on POPL 2005
Model-Based Debugging -- State of the Art And Future Challenges
Electronic Notes in Theoretical Computer Science (ENTCS)
Goal-directed weakening of abstract interpretation results
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient field-sensitive pointer analysis of C
ACM Transactions on Programming Languages and Systems (TOPLAS)
SLR: Path-Sensitive Analysis through Infeasible-Path Detection and Syntactic Language Refinement
SAS '08 Proceedings of the 15th international symposium on Static Analysis
How an "incoherent behavior" inside generic hardware component characterizes functional errors
AIKED'09 Proceedings of the 8th WSEAS international conference on Artificial intelligence, knowledge engineering and data bases
on the design of a formal debugger for system architecture
ICC'08 Proceedings of the 12th WSEAS international conference on Circuits
Abstract interpretation of programs for model-based debugging
IJCAI'07 Proceedings of the 20th international joint conference on Artifical intelligence
Summarization for termination: no return!
Formal Methods in System Design
Program development using abstract interpretation (and the ciao system preprocessor)
SAS'03 Proceedings of the 10th international conference on Static analysis
An abstract domain extending difference-bound matrices with disequality constraints
VMCAI'07 Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation
Abstract verification and debugging of constraint logic programs
ERCIM'02/CologNet'02 Proceedings of the 2002 Joint ERCIM/CologNet international conference on Constraint solving and constraint logic programming
On the relative completeness of bytecode analysis versus source code analysis
CC'08/ETAPS'08 Proceedings of the Joint European Conferences on Theory and Practice of Software 17th international conference on Compiler construction
Relational Abstract Domain of Weighted Hexagons
Electronic Notes in Theoretical Computer Science (ENTCS)
Precondition inference from intermittent assertions and application to contracts on collections
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
Underapproximating predicate transformers
SAS'06 Proceedings of the 13th international conference on Static Analysis
Obfuscation by partial evaluation of distorted interpreters
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Interval-Based resource usage verification: formalization and prototype
FOPARA'11 Proceedings of the Second international conference on Foundational and Practical Aspects of Resource Analysis
Inferring Sufficient Conditions with Backward Polyhedral Under-Approximations
Electronic Notes in Theoretical Computer Science (ENTCS)
Dual analysis for proving safety and finding bugs
Science of Computer Programming
Counterexample-Guided precondition inference
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Thresher: precise refutations for heap reachability
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Hi-index | 0.00 |
Abstract interpretation is a formal method that enables the static determination (i.e. at compile-time) of the dynamic properties (i.e. at run-time) of programs. We present an abstract interpretation-based method, called abstract debugging, which enables the static and formal debugging of programs, prior to their execution, by finding the origin of potential bugs as well as necessary conditions for these bugs not to occur at run-time. We show how invariant assertions and intermittent assertions, such as termination, can be used to formally debug programs. Finally, we show how abstract debugging can be effectively and efficiently applied to higher-order imperative programs with exceptions and jumps to non-local labels, and present the Syntox system that enables the abstract debugging of the Pascal language by the determination of the range of the scalar variables of programs.