Incremental and modular context-sensitive analysis
From MaRDI portal
Abstract: Context-sensitive global analysis of large code bases can be expensive, which can make its use impractical during software development. However, there are many situations in which modifications are small and isolated within a few components, and it is desirable to reuse as much as possible previous analysis results. This has been achieved to date through incremental global analysis fixpoint algorithms that achieve cost reductions at fine levels of granularity, such as changes in program lines. However, these fine-grained techniques are not directly applicable to modular programs, nor are they designed to take advantage of modular structures. This paper describes, implements, and evaluates an algorithm that performs efficient context-sensitive analysis incrementally on modular partitions of programs. The experimental results show that the proposed modular algorithm shows significant improvements, in both time and memory consumption, when compared to existing non-modular, fine-grain incremental analysis techniques. Furthermore, thanks to the proposed inter-modular propagation of analysis information, our algorithm also outperforms traditional modular analysis even when analyzing from scratch.
Recommendations
Cites work
- A compositional semantics for logic programs
- A Flexible, (C)LP-Based Approach to the Analysis of Object-Oriented Programs
- A Machine-Oriented Logic Based on the Resolution Principle
- A practical framework for theabstract interpretation of logic programs
- A structural approach to operational semantics
- An overview of Ciao and its design philosophy
- Analysis of Linear Hybrid Systems in CLP
- Automatic inference of determinacy and mutual exclusion for logic programs using mode and type analyses
- Compile-time derivation of variable dependency using abstract interpretation
- Computer Aided Verification
- Conditions for incremental iteration: Examples and counterexamples
- Cost analysis of object-oriented bytecode programs
- Detecting Determinacy in Prolog Programs
- Horn clause solvers for program verification
- scientific article; zbMATH DE number 4035108 (Why is no real title available?)
- scientific article; zbMATH DE number 43398 (Why is no real title available?)
- scientific article; zbMATH DE number 1312992 (Why is no real title available?)
- scientific article; zbMATH DE number 1142320 (Why is no real title available?)
- scientific article; zbMATH DE number 1973219 (Why is no real title available?)
- scientific article; zbMATH DE number 2087567 (Why is no real title available?)
- Incremental Tabling in Support of Knowledge Representation and Reasoning
- Incremental verification using trace abstraction
- Integrated program debugging, verification, and optimization using abstract interpretation (and the Ciao system preprocessor)
- Interval-based resource usage verification by translation into Horn clauses and an application to energy consumption
- Optimized algorithms for incremental analysis of logic programs
- Program Development in Computational Logic
- Property directed equivalence via abstract simulation
- Static contract checking with abstract interpretation
- TRACER: a symbolic execution tool for verification
- Why does Astrée scale up?
Cited in
(16)- A framework for memory efficient context-sensitive program analysis
- A multi-domain incremental analysis engine and its application to incremental resource analysis
- Summary-based context-sensitive data-dependence analysis in presence of callbacks
- scientific article; zbMATH DE number 3881854 (Why is no real title available?)
- scientific article; zbMATH DE number 5627692 (Why is no real title available?)
- Incremental false path elimination for static software analysis
- Incremental modular decomposition
- Optimized algorithms for incremental analysis of logic programs
- Incremental analysis of logic programs with assertions and open predicates
- Pick your contexts well, understanding object-sensitivity
- Program Development in Computational Logic
- Computer Aided Verification
- VeriFly: On-the-fly Assertion Checking via Incrementality
- Parallel Logic Programming: A Sequel
- Result invalidation for incremental modular analyses
- Context-sensitive analysis without calling-context
Describes a project that uses
Uses Software
This page was built for publication: Incremental and modular context-sensitive analysis
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q4957220)