2021
DOI: 10.1007/978-3-030-72019-3_5
|View full text |Cite
|
Sign up to set email alerts
|

Verified Software Units

Abstract: Modularity - the partitioning of software into units of functionality that interact with each other via interfaces - has been the mainstay of software development for half a century. In case of the C language, the main mechanism for modularity is the compilation unit / header file abstraction. This paper complements programmatic modularity for C with modularity idioms for specification and verification in the context of Verifiable C, an expressive separation logic for CompCert . Technical innovations include (… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
8
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
3
1
1

Relationship

0
5

Authors

Journals

citations
Cited by 5 publications
(8 citation statements)
references
References 58 publications
(62 reference statements)
0
8
0
Order By: Relevance
“…Consider sets of positive numbers. The usual representation of sets as lists is neither canonical nor extensional: the set {1, 2} has several representations, [1,2] or [2,1] or [1,1,2,1,2]. We can recover extensionality by using a subset type { l : list positive | sorted l }, where the sorted predicate ensures that the list is increasing and without repetitions.…”
Section: Discussionmentioning
confidence: 99%
See 4 more Smart Citations
“…Consider sets of positive numbers. The usual representation of sets as lists is neither canonical nor extensional: the set {1, 2} has several representations, [1,2] or [2,1] or [1,1,2,1,2]. We can recover extensionality by using a subset type { l : list positive | sorted l }, where the sorted predicate ensures that the list is increasing and without repetitions.…”
Section: Discussionmentioning
confidence: 99%
“…However, a canonical representation exists, as the list of (positive) differences from one set element to the next greater element. For instance, the set {1, 4, 9, 11} is uniquely represented by the list [1, 4 − 1, 9 − 4, 11 − 9], that is, [1,3,5,2]. This encoding is not only canonical, but also slighty more memory efficient than the usual sorted list representation, as the numbers stored in the list of differences are smaller than those stored in the sorted list.…”
Section: Discussionmentioning
confidence: 99%
See 3 more Smart Citations