A Core Calculus for Type-safe Product Lines of C Programs

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Damiani, Ferruccio, Kimura, Daisuke, Paolini, Luca, Tatsuta, Makoto
Format: Preprint
Veröffentlicht: 2026
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866915833894141952
author Damiani, Ferruccio
Kimura, Daisuke
Paolini, Luca
Tatsuta, Makoto
author_facet Damiani, Ferruccio
Kimura, Daisuke
Paolini, Luca
Tatsuta, Makoto
contents In this paper we: (1) propose Lightweight C (LC), namely a core calculus that formalizes a proper subset of the ANSI C without preprocessor directives; (2) define Colored LC (CLC), namely LC endowed with ANSI C preprocessor directives; and (3) define a type system for CLC that guarantees that all programs to be generated by the C preprocessor are well-typed C programs. We believe that the simple formalization provided by CLC could be useful also for teaching purposes. Stefano Berardi spent most of his academic career at the Department of Computer Science of the University of Turin, where he conducts outstanding research on the logical foundations of computer science and on type-based program analyses. Over the years, he taught many courses, from BSc courses on programming with C to PhD courses on program analysis. Therefore, this paper fully falls within Stefano Berardi's research and teaching activities.
format Preprint
id arxiv_https___arxiv_org_abs_2603_04013
institution arXiv
publishDate 2026
record_format arxiv
spellingShingle A Core Calculus for Type-safe Product Lines of C Programs
Damiani, Ferruccio
Kimura, Daisuke
Paolini, Luca
Tatsuta, Makoto
Programming Languages
Software Engineering
In this paper we: (1) propose Lightweight C (LC), namely a core calculus that formalizes a proper subset of the ANSI C without preprocessor directives; (2) define Colored LC (CLC), namely LC endowed with ANSI C preprocessor directives; and (3) define a type system for CLC that guarantees that all programs to be generated by the C preprocessor are well-typed C programs. We believe that the simple formalization provided by CLC could be useful also for teaching purposes. Stefano Berardi spent most of his academic career at the Department of Computer Science of the University of Turin, where he conducts outstanding research on the logical foundations of computer science and on type-based program analyses. Over the years, he taught many courses, from BSc courses on programming with C to PhD courses on program analysis. Therefore, this paper fully falls within Stefano Berardi's research and teaching activities.
title A Core Calculus for Type-safe Product Lines of C Programs
topic Programming Languages
Software Engineering
url https://arxiv.org/abs/2603.04013