The semantics of "semantic patches" in coccinelle: Program transformation for the working programmer

2Citations
Citations of this article
4Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We rationally reconstruct the core of the Coccinelle system, used for automating and documenting collateral evolutions in Linux device drivers. A denotational semantics of the system's underlying semantic patch language (SmPL) is developed, and extended to include variables. The semantics is in essence a higher-order functional program and so executable; but is inefficient and limited to straight-line source programs. A richer and more efficient SmPL version is defined, implemented by compiling to the temporal logic CTL-V (CTL with existentially quantified variables ranging over source code parameters and program points; defined using the staging concept from partial evaluation). The compilar tion is formally proven correct and a model check algorithm is outlined. © Springer-Verlag Berlin Heidelberg 2007.

Cite

CITATION STYLE

APA

Jones, N. D., & Hansen, R. R. (2007). The semantics of “semantic patches” in coccinelle: Program transformation for the working programmer. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4807 LNCS, pp. 303–318). Springer Verlag. https://doi.org/10.1007/978-3-540-76637-7_21

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free