Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science 2018
DOI: 10.1145/3209108.3209109
|View full text |Cite
|
Sign up to set email alerts
|

Continuous Reasoning

Abstract: This paper describes work in continuous reasoning, where formal reasoning about a (changing) codebase is done in a fashion which mirrors the iterative, continuous model of software development that is increasingly practiced in industry. We suggest that advances in continuous reasoning will allow formal reasoning to scale to more programs, and more programmers. The paper describes the rationale for continuous reasoning, outlines some success cases from within industry, and proposes directions for work by the sc… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
4
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 62 publications
(4 citation statements)
references
References 70 publications
0
4
0
Order By: Relevance
“…Following continuous reasoning practice [19], our proofs are integrated into the CI process for AWS-LC. We do not expect this code to change, but we have adopted this practice as part of a larger AWS-LC assurance effort, including code which does change more often.…”
Section: Results and Lessons Learnedmentioning
confidence: 99%
See 1 more Smart Citation
“…Following continuous reasoning practice [19], our proofs are integrated into the CI process for AWS-LC. We do not expect this code to change, but we have adopted this practice as part of a larger AWS-LC assurance effort, including code which does change more often.…”
Section: Results and Lessons Learnedmentioning
confidence: 99%
“…Our objective in this project was to verify the cryptographic code which is actually deployed, and to ensure it stays verified as it changes over time 2 . To do this, we used continuous reasoning, a term due to Peter O'Hearn [19]. In continuous reasoning, there is a tight connection between code, software engineering process, and verification tools.…”
Section: Project Design Constraintsmentioning
confidence: 99%
“…For large software systems, the verification effort to completely re-check the entire software from scratch might be too high, and is largely wasted if, as is often the case, the changes are small [25]. Continuous software verification plays an important role to determine which parts of a given software system need to be re-verified by obtaining information from previous verification runs [10].…”
Section: Equivalence Checkingmentioning
confidence: 99%
“…Achievements collected by Aichernig and Maibaum [2], Boulanger [15], and Gnesi and Margaria [62] show that many researchers have been working towards successful FM transfer. Moreover, researchers experienced in particular FMs draw positive conclusions from FM applications, especially in scaling FMs through adequate tool support for continuous reasoning in agile software development [131,142] . However, few static analysis tools are based on FMs and many of these tools are exposed to reduced effectiveness because of high false-positive rates, particularly if settings are not perfectly adjusted to the corresponding project [58].…”
Section: Transfer Effortsmentioning
confidence: 99%