Service interruption on Monday 11 July from 12:30 to 13:00: all the sites of the CCSD (HAL, EpiSciences, SciencesConf, AureHAL) will be inaccessible (network hardware connection).
Skip to Main content Skip to Navigation
Conference papers

Analysis of Software Patches Using Numerical Abstract Interpretation

Abstract : We present a static analysis for software patches. Given two syntactically close versions of a program, our analysis can infer a semantic difference, and prove that both programs compute the same outputs when run on the same inputs. Our method is based on abstract interpretation, and parametric in the choice of an abstract domain. We focus on numeric properties only. Our method is able to deal with unbounded executions of infinite-state programs, reading from infinite input streams. Yet, it is limited to comparing terminating executions, ignoring non terminating ones. We first present a novel concrete collecting semantics, expressing the behaviors of both programs at the same time. Then, we propose an abstraction of infinite input streams able to prove that programs that read from the same stream compute equal output values. We then show how to leverage classic numeric abstract domains, such as polyhedra or octagons, to build an effective static analysis. We also introduce a novel numeric domain to bound differences between the values of the variables in the two programs, which has linear cost, and the right amount of relationality to express useful properties of software patches. We implemented a prototype and experimented on a few small examples from the literature. Our prototype operates on a toy language, and assumes a joint syntactic representation of two versions of a program given, which distinguishes between common and distinctive parts.
Complete list of metadata

Cited literature [23 references]  Display  Hide  Download
Contributor : David Delmas Connect in order to contact the contributor
Submitted on : Tuesday, November 12, 2019 - 3:16:20 PM
Last modification on : Sunday, June 26, 2022 - 2:42:53 AM
Long-term archiving on: : Thursday, February 13, 2020 - 7:21:40 PM


Files produced by the author(s)



David Delmas, Antoine Miné. Analysis of Software Patches Using Numerical Abstract Interpretation. 26th International Symposium, Bor-Yuh Evan Chang, Oct 2019, Porto, Portugal. pp.225-246, ⟨10.1007/978-3-030-32304-2_12⟩. ⟨hal-02319259⟩



Record views


Files downloads