What every computer scientist should know about floating-point arithmetic
ACM Computing Surveys (CSUR)
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
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
B '98 Proceedings of the Second International B Conference on Recent Advances in the Development and Use of the B Method
Software Analysis and Model Checking
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Abstract Interpretation-Based Certification of Assembly Code
VMCAI 2003 Proceedings of the 4th International Conference on Verification, Model Checking, and Abstract Interpretation
Automatic Verification by Abstract Interpretation
VMCAI 2003 Proceedings of the 4th International Conference on Verification, Model Checking, and Abstract Interpretation
A static analyzer for large safety-critical software
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Symbolic transfer function-based approaches to certified compilation
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Generalized typestate checking using set interfaces and pluggable analyses
ACM SIGPLAN Notices
Online Cycle Detection and Difference Propagation: Applications to Pointer Analysis
Software Quality Control
A framework for numeric analysis of array operations
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Higher-Order and Symbolic Computation
A calculus of logical relations for over- and underapproximating static analyses
Science of Computer Programming
The trace partitioning abstract domain
ACM Transactions on Programming Languages and Systems (TOPLAS) - Special Issue ESOP'05
Proving the absence of run-time errors in safety-critical avionics code
EMSOFT '07 Proceedings of the 7th ACM & IEEE international conference on Embedded software
Verification of device drivers and intelligent controllers: a case study
EMSOFT '07 Proceedings of the 7th ACM & IEEE international conference on Embedded software
Efficient field-sensitive pointer analysis of C
ACM Transactions on Programming Languages and Systems (TOPLAS)
The pitfalls of verifying floating-point computations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Program analysis as constraint solving
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Symbolic and Abstract Interpretation for C/C++ Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
The Verification Grand Challenge and Abstract Interpretation
Verified Software: Theories, Tools, Experiments
FM '08 Proceedings of the 15th international symposium on Formal Methods
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
A Unified Approach to Abstract Interpretation, Formal Verification and Testing of C/C++ Modules
Proceedings of the 5th international colloquium on Theoretical Aspects of Computing
Automatic modular abstractions for linear constraints
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Computing Surveys (CSUR)
Integration of verification methods for program systems
Programming and Computing Software
Weakly-relational shapes for numeric abstractions: improved algorithms and proofs of correctness
Formal Methods in System Design
Formal Methods in System Design
A minimalistic look at widening operators
Higher-Order and Symbolic Computation
Goanna: a static model checker
FMICS'06/PDMC'06 Proceedings of the 11th international workshop, FMICS 2006 and 5th international workshop, PDMC conference on Formal methods: Applications and technology
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Combination of abstractions in the ASTRÉE static analyzer
ASIAN'06 Proceedings of the 11th Asian computing science conference on Advances in computer science: secure software and related issues
Abstract interpretation of the physical inputs of embedded programs
VMCAI'08 Proceedings of the 9th international conference on Verification, model checking, and abstract interpretation
Static analysis of the accuracy in control systems: principles and experiments
FMICS'07 Proceedings of the 12th international conference on Formal methods for industrial critical systems
Abstract Fixpoint Computations with Numerical Acceleration Methods
Electronic Notes in Theoretical Computer Science (ENTCS)
Static analysis by abstract interpretation of embedded critical software
ACM SIGSOFT Software Engineering Notes
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
The two variable per inequality abstract domain
Higher-Order and Symbolic Computation
Probabilistic abstractions with arbitrary domains
SAS'11 Proceedings of the 18th international conference on Static analysis
Proving the properties of communicating imperfectly-clocked synchronous systems
SAS'06 Proceedings of the 13th international conference on Static Analysis
The parallel implementation of the astrée static analyzer
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
The arithmetic-geometric progression abstract domain
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Cryptographic protocol analysis on real c code
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
RED: a tool for runtime error detection in C programs using abstract interpretation
Proceedings of the 5th India Software Engineering Conference
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Trace partitioning in abstract interpretation based static analyzers
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Integrated and automated abstract interpretation, verification and testing of c/c++ modules
Concurrency, Compositionality, and Correctness
Widening polyhedra with landmarks
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
Fluid updates: beyond strong vs. weak updates
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Behavioral interface specification languages
ACM Computing Surveys (CSUR)
A bit too precise? bounded verification of quantized digital filters
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Numeric bounds analysis with conflict-driven learning
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Formal verification by abstract interpretation
NFM'12 Proceedings of the 4th international conference on NASA Formal Methods
Acceleration of the abstract fixpoint computation in numerical program analysis
Journal of Symbolic Computation
Optimal abstraction on real-valued programs
SAS'07 Proceedings of the 14th international conference on Static Analysis
SAS'07 Proceedings of the 14th international conference on Static Analysis
Generic Abstraction of Dictionaries and Arrays
Electronic Notes in Theoretical Computer Science (ENTCS)
Sweeping in Abstract Interpretation
Electronic Notes in Theoretical Computer Science (ENTCS)
Stratified Static Analysis Based on Variable Dependencies
Electronic Notes in Theoretical Computer Science (ENTCS)
Invariant generation for parametrized systems using self-reflection
SAS'12 Proceedings of the 19th international conference on Static Analysis
Inferring complete initialization of arrays
Theoretical Computer Science
Automated Reasoning and Mathematics
Hi-index | 0.00 |
We report on a successful preliminary experience in the design and implementation of a special-purpose Abstract Interpretation based static program analyzer for the verification of safety critical embedded real-time software. The analyzer is both precise (zero false alarm in the considered experiment) and efficient (less than one minute of analysis for 10,000 lines of code). Even if it is based on a simple interval analysis, many features have been added to obtain the desired precision: expansion of small arrays, widening with several thresholds, loop unrolling, trace partitioning, relations between loop counters and other variables. The efficiency of the tool mainly comes from a clever representation of abstract environments based on balanced binary search trees.