Incremental and Modular Context-sensitive Analysis

Autor: Manuel V. Hermenegildo, José F. Morales, Isabel Garcia-Contreras
Rok vydání: 2021
Předmět:
Zdroj: Theory and Practice of Logic Programming, ISSN 1475-3081, 2021, Vol. 21, No. 2
HCVS 2021 : Horn Clauses for Verification and Synthesis | 8th Workshop on Horn Clauses for Verification and Synthesis (HCVS) | 28 Mar 2021 | Luxemburgo
Archivo Digital UPM
Universidad Politécnica de Madrid
instname
ISSN: 1475-3081
1471-0684
DOI: 10.1017/s1471068420000496
Popis: 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.
Comment: 56 pages, 27 figures. To be published in Theory and Practice of Logic Programming. v3 corresponds to the extended version of the ICLP2018 Technical Communication. v4 is the revised version submitted to Theory and Practice of Logic Programming. v5 (this one) is the final author version to be published in TPLP
Databáze: OpenAIRE