Skip to content

Commit 4527bc7

Browse files
author
Matthieu Lemerre
committed
Add OOPSLA'2024 bibtex + update
1 parent 1ddbf85 commit 4527bc7

File tree

3 files changed

+23
-1
lines changed

3 files changed

+23
-1
lines changed

_data/publications.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
easy-summary: /papers/2024-oopsla-typedc-dependent-nominal-physical-type-system.html
2020
pdf: /assets/publications/pdfs/2024-oopsla-full-with-appendices.pdf
2121
talk-slides: /assets/publications/slides/2024-oopsla-typedc-dependent-nominal-physical-typesystem.pdf
22+
bibtex: /assets/publications/bibtex/2024-oopsla-typedc-dependent-nominal-typesystem.bib
2223
# talk-video: TODO
2324
topics:
2425
- abstract interpretation
@@ -38,6 +39,7 @@
3839
artifact-custom-image-height: "70"
3940
easy-summary: /papers/2024-sas-trace-partitioning-as-an-optimization-problem.html
4041
pdf: /assets/publications/pdfs/2024-sas-tpop.pdf
42+
# bibtex: TODO
4143
# talk-slides: TODO
4244
# talk-video: TODO
4345
topics:
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
@article{10.1145/3689712,
2+
author = {Simonnet, Julien and Lemerre, Matthieu and Sighireanu, Mihaela},
3+
title = {A Dependent Nominal Physical Type System for Static Analysis of Memory in Low Level Code},
4+
year = {2024},
5+
issue_date = {October 2024},
6+
publisher = {Association for Computing Machinery},
7+
address = {New York, NY, USA},
8+
volume = {8},
9+
number = {OOPSLA2},
10+
url = {https://doi.org/10.1145/3689712},
11+
doi = {10.1145/3689712},
12+
abstract = {We tackle the problem of checking non-proof-carrying code, i.e. automatically proving type-safety (implying in our type system spatial memory safety) of low-level C code or of machine code resulting from its compilation without modification. This requires a precise static analysis that we obtain by having a type system which (i) is expressive enough to encode common low-level idioms, like pointer arithmetic, discriminating variants by bit-stealing on aligned pointers, storing the size and the base address of a buffer in distinct parts of the memory, or records with flexible array members, among others; and (ii) can be embedded in an abstract interpreter. We propose a new type system that meets these criteria. The distinguishing feature of this type system is a nominal organization of contiguous memory regions, which (i) allows nesting, concatenation, union, and sharing parameters between regions; (ii) induces a lattice over sets of addresses from the type definitions; and (iii) permits updates to memory cells that change their type without requiring one to control aliasing. We provide a semantic model for our type system, which enables us to derive sound type checking rules by abstract interpretation, then to integrate these rules as an abstract domain in a standard flow-sensitive static analysis. Our experiments on various challenging benchmarks show that semantic type-checking using this expressive type system generally succeeds in proving type safety and spatial memory safety of C and machine code programs without modification, using only user-provided function prototypes.},
13+
journal = {Proc. ACM Program. Lang.},
14+
month = oct,
15+
articleno = {272},
16+
numpages = {30},
17+
keywords = {Abstract interpretation, Dependent types, Spatial memory safety, Type checking, Typed C}
18+
}

papers/2024-oopsla-typedc-dependent-nominal-physical-type-system.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,8 @@ that some monotonicity conditions are met.
193193
194194
## Further information
195195
196+
- If you want to know more, the [**slides**](/assets/publications/slides/2024-oopsla-typedc-dependent-nominal-physical-typesystem.pdf) should be quite accessible.
197+
196198
- Interested in using it? Be an early adopter, check the
197199
[**tutorial**](/docs/tutorial_oopsla2024.pdf) and try proving that your
198200
code is (spatially) memory-safe now!
@@ -204,5 +206,5 @@ code is (spatially) memory-safe now!
204206
which contains the version of Codex used by the artifact reviewers, as
205207
well as the benchmarks used.
206208
207-
- To appear at
209+
- Appeared at
208210
[OOPSLA'2024](https://2024.splashcon.org/track/splash-2024-oopsla).

0 commit comments

Comments
 (0)