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
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Nonuniform Alias Analysis of Recursive Data Structures and Arrays
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
A static analyzer for large safety-critical software
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Precise and efficient static array bound checking for large embedded C programs
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Two variables per linear inequality as an abstract domain
LOPSTR'02 Proceedings of the 12th international conference on Logic based program synthesis and transformation
VMCAI'07 Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation
User-definable resource bounds analysis for logic programs
ICLP'07 Proceedings of the 23rd international conference on Logic programming
Widening operators for weakly-relational numeric abstractions
SAS'05 Proceedings of the 12th international conference on Static Analysis
A practical and precise inference and specializer for array bound checks elimination
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
SubPolyhedra: A (More) Scalable Approach to Infer Linear Inequalities
VMCAI '09 Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
Loop-extended symbolic execution on binary programs
Proceedings of the eighteenth international symposium on Software testing and analysis
Inferring Dataflow Properties of User Defined Table Processors
SAS '09 Proceedings of the 16th International Symposium on Static Analysis
Logahedra: A New Weakly Relational Domain
ATVA '09 Proceedings of the 7th International Symposium on Automated Technology for Verification and Analysis
Refining Abstract Interpretation-Based Static Analyses with Hints
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
Exact join detection for convex polyhedra and other numerical abstractions
Computational Geometry: Theory and Applications
Proceedings of the 2010 ACM Symposium on Applied Computing
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
Widening and narrowing operators for abstract interpretation
Computer Languages, Systems and Structures
Relational Abstract Domain of Weighted Hexagons
Electronic Notes in Theoretical Computer Science (ENTCS)
Quadtrees as an Abstract Domain
Electronic Notes in Theoretical Computer Science (ENTCS)
Interval slopes as a numerical abstract domain for floating-point variables
SAS'10 Proceedings of the 17th international conference on Static analysis
A parametric segmentation functor for fully automatic and scalable array content analysis
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Practical verification for the working programmer with codecontracts and abstract interpretation
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
Static contract checking with abstract interpretation
FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
Static analysis of string values
ICFEM'11 Proceedings of the 13th international conference on Formal methods and software engineering
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
Our experience with the codecontracts static checker
VSTTE'12 Proceedings of the 4th international conference on Verified Software: theories, tools, experiments
The gauge domain: scalable analysis of linear inequality invariants
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Modular and verified automatic program repair
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
TreeKs: A Functor to Make Numerical Abstract Domains Scalable
Electronic Notes in Theoretical Computer Science (ENTCS)
Generic Abstraction of Dictionaries and Arrays
Electronic Notes in Theoretical Computer Science (ENTCS)
Sweeping in Abstract Interpretation
Electronic Notes in Theoretical Computer Science (ENTCS)
Speed and precision in range analysis
SBLP'12 Proceedings of the 16th Brazilian conference on Programming Languages
Practical specification and verification with code contracts
Proceedings of the 2013 ACM SIGAda annual conference on High integrity language technology
Hi-index | 0.00 |
We introduce Pentagons (Pntg), a weakly relational numerical abstract domain useful for the validation of array accesses in byte-code and intermediate languages (IL). This abstract domain captures properties of the form of x ε [a, b]∧x y. It is more precise than the well known Interval domain, but it is less precise than the Octagon domain. The goal of Pntg is to be a lightweight numerical domain useful for adaptive static analysis, where Pntg is used to quickly prove the safety of most array accesses, restricting the use of more precise (but also more expensive) domains to only a small fraction of the code. We implemented the Pntg abstract domain in Clousot, a generic abstract interpreter for .NET assemblies. Using it, we were able to validate 83% of array accesses in the core runtime library mscorlib.dll in less than 8 minutes.