Introduction to algorithms
Abstract interpretation and application to logic programs
Journal of Logic Programming
A new solution of Dijkstra's concurrent programming problem
Communications of the ACM
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
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Comparing the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation
PLILP '92 Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming
Lectures on Embedded Systems, European Educational Forum, School on Embedded Systems
Nordic Journal of Computing
Efficient verification of real-time systems: compact data structure and state-space reduction
RTSS '97 Proceedings of the 18th IEEE Real-Time Systems Symposium
On Small Depth Threshold Circuits
SWAT '92 Proceedings of the Third Scandinavian Workshop on Algorithm Theory
AMAST '02 Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology
Nonuniform Alias Analysis of Recursive Data Structures and Arrays
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
A Few Graph-Based Relational Numerical Abstract Domains
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
Checking Safety Properties of Behavioral VHDL Descriptions by Abstract Interpretation
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
Modular Static Program Analysis
CC '02 Proceedings of the 11th International Conference on Compiler Construction
The Verification Grand Challenge and Abstract Interpretation
Verified Software: Theories, Tools, Experiments
Towards the Integration of Symbolic and Numerical Static Analysis
Verified Software: Theories, Tools, Experiments
Inferring Min and Max Invariants Using Max-Plus Polyhedra
SAS '08 Proceedings of the 15th international symposium on Static Analysis
Semantic Reduction of Thread Interleavings in Concurrent Programs
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,
Statically inferring complex heap, array, and numeric invariants
SAS'10 Proceedings of the 17th international conference on Static analysis
Deriving numerical abstract domains via principal component analysis
SAS'10 Proceedings of the 17th international conference on Static analysis
Automatic abstraction for intervals using Boolean formulae
SAS'10 Proceedings of the 17th international conference on Static analysis
Computing relaxed abstract semantics w.r.t. quadratic zones precisely
SAS'10 Proceedings of the 17th international conference on Static analysis
Cooperative query answering by abstract interpretation
SOFSEM'11 Proceedings of the 37th international conference on Current trends in theory and practice of computer science
Solving systems of rational equations through strategy iteration
ACM Transactions on Programming Languages and Systems (TOPLAS)
Generalizing the template polyhedral domain
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
Improving strategies via SMT solving
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
Static analysis of Android programs
CADE'11 Proceedings of the 23rd international conference on Automated deduction
The two variable per inequality abstract domain
Higher-Order and Symbolic Computation
Magic-sets for localised analysis of Java bytecode
Higher-Order and Symbolic Computation
Fast interprocedural linear two-variable equalities
ACM Transactions on Programming Languages and Systems (TOPLAS)
The parallel implementation of the astrée static analyzer
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Scalable analysis of linear systems using mathematical programming
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
A logical product approach to zonotope intersection
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Efficient strongly relational polyhedral analysis
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Widening operators for weakly-relational numeric abstractions
SAS'05 Proceedings of the 12th international conference on Static Analysis
RATA: rapid atomic type analysis by abstract interpretation – application to javascript optimization
CC'10/ETAPS'10 Proceedings of the 19th joint European conference on Theory and Practice of Software, international conference on Compiler Construction
Random: r-based analyzer for numerical domains
LPAR'12 Proceedings of the 18th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Schedule insensitivity reduction
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Discovering invariants via simple component analysis
Journal of Symbolic Computation
Static analysis of Android programs
Information and Software Technology
The gauge domain: scalable analysis of linear inequality invariants
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Modeling and analyzing the interaction of C and C++ strings
FoVeOOS'11 Proceedings of the 2011 international conference on Formal Verification of Object-Oriented Software
Under-approximations of computations in real numbers based on generalized affine arithmetic
SAS'07 Proceedings of the 14th international conference on Static Analysis
Program analysis using symbolic ranges
SAS'07 Proceedings of the 14th international conference on Static Analysis
Precise relational invariants through strategy iteration
CSL'07/EACSL'07 Proceedings of the 21st international conference, and Proceedings of the 16th annuall conference on Computer Science Logic
TreeKs: A Functor to Make Numerical Abstract Domains Scalable
Electronic Notes in Theoretical Computer Science (ENTCS)
An Accurate Join for Zonotopes, Preserving Affine Input/Output Relations
Electronic Notes in Theoretical Computer Science (ENTCS)
Modular static analysis with zonotopes
SAS'12 Proceedings of the 19th international conference on Static Analysis
Polyhedral analysis using parametric objectives
SAS'12 Proceedings of the 19th international conference on Static Analysis
An abstract domain to infer types over zones in spreadsheets
SAS'12 Proceedings of the 19th international conference on Static Analysis
Numerical static analysis with Soot
Proceedings of the 2nd ACM SIGPLAN International Workshop on State Of the Art in Java Program analysis
Precise range analysis on large industry code
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Probabilistic program analysis with martingales
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Hi-index | 0.00 |
This paper presents a new numerical abstract domain for static analysis by abstract interpretation. This domain allows us to represent invariants of the form (x - y ≤ c)an d (±x ≤ c), where x and y are variables values and c is an integer or real constant. Abstract elements are represented by Difference-Bound Matrices, widely used by model-checkers, but we had to design new operators to meet the needs of abstract interpretation. The result is a complete lattice of infinite height featuring widening, narrowing and common transfer functions. We focus on giving an efficient O(n2)re presentation and graph-based O(n3) algorithms--where n is the number of variables--and claim that this domain always performs more precisely than the well-known interval domain. To illustrate the precision/cost tradeoff of this domain, we have implemented simple abstract interpreters for toy imperative and parallel languages which allowed us to prove some non-trivial algorithms correct.