Dissecting Widening: Separating Termination from Information
Autor: | Graeme Gange, Jorge A. Navas, Harald Søndergaard, Peter Schachte, Peter J. Stuckey |
---|---|
Rok vydání: | 2019 |
Předmět: |
Soundness
Theoretical computer science Computer science Spell 020207 software engineering 02 engineering and technology Fixed point computer.software_genre Program analysis Robustness (computer science) 0202 electrical engineering electronic engineering information engineering 020201 artificial intelligence & image processing computer Interpreter |
Zdroj: | Programming Languages and Systems ISBN: 9783030341749 APLAS |
DOI: | 10.1007/978-3-030-34175-6_6 |
Popis: | Widening ensures or accelerates convergence of a program analysis, and sometimes contributes a guarantee of soundness that would otherwise be absent. In this paper we propose a generalised view of widening, in which widening operates on values that are not necessarily elements of the given abstract domain, although they must be in a correspondence, the details of which we spell out. We show that the new view generalizes the traditional view, and that at least three distinct advantages flow from the generalization. First, it gives a handle on “compositional safety”, the problem of creating widening operators for product domains. Second, it adds a degree of flexibility, allowing us to define variants of widening, such as delayed widening, without resorting to intrusive surgery on an underlying fixpoint engine. Third, it adds a degree of robustness, by making it difficult for an analysis implementor to make certain subtle (syntactic vs semantic) category mistakes. The paper supports these claims with examples. Our proposal has been implemented in a state-of-the-art abstract interpreter, and we briefly report on the changes that the revised view necessitated. |
Databáze: | OpenAIRE |
Externí odkaz: |