SmPL: A Domain-Specific Language for Specifying Collateral Evolutions in Linux Device Drivers

Publikation: Bidrag til tidsskriftTidsskriftartikelForskningfagfællebedømt

Standard

SmPL: A Domain-Specific Language for Specifying Collateral Evolutions in Linux Device Drivers. / Padioleau, Yoann; Lawall, Julia Laetitia; Muller, Gilles.

I: Electronic Notes in Theoretical Computer Science, Bind 166, 2007, s. 47-62.

Publikation: Bidrag til tidsskriftTidsskriftartikelForskningfagfællebedømt

Harvard

Padioleau, Y, Lawall, JL & Muller, G 2007, 'SmPL: A Domain-Specific Language for Specifying Collateral Evolutions in Linux Device Drivers', Electronic Notes in Theoretical Computer Science, bind 166, s. 47-62. https://doi.org/doi:10.1016/j.entcs.2006.07.022

APA

Padioleau, Y., Lawall, J. L., & Muller, G. (2007). SmPL: A Domain-Specific Language for Specifying Collateral Evolutions in Linux Device Drivers. Electronic Notes in Theoretical Computer Science, 166, 47-62. https://doi.org/doi:10.1016/j.entcs.2006.07.022

Vancouver

Padioleau Y, Lawall JL, Muller G. SmPL: A Domain-Specific Language for Specifying Collateral Evolutions in Linux Device Drivers. Electronic Notes in Theoretical Computer Science. 2007;166:47-62. https://doi.org/doi:10.1016/j.entcs.2006.07.022

Author

Padioleau, Yoann ; Lawall, Julia Laetitia ; Muller, Gilles. / SmPL: A Domain-Specific Language for Specifying Collateral Evolutions in Linux Device Drivers. I: Electronic Notes in Theoretical Computer Science. 2007 ; Bind 166. s. 47-62.

Bibtex

@article{f597c6507f5311dcbee902004c4f4f50,
title = "SmPL: A Domain-Specific Language for Specifying Collateral Evolutions in Linux Device Drivers",
abstract = "Collateral evolutions are a pervasive problem in large-scale software development. Such evolutions occur when an evolution that affects the interface of a generic library entails modifications, i.e., collateral evolutions, in all library clients. Performing these collateral evolutions requires identifying the affected files and modifying all of the code fragments in these files that in some way depend on the changed interface.We have studied the collateral evolution problem in the context of Linux device drivers. Currently, collateral evolutions in Linux are mostly done manually using a text editor, possibly with the help of tools such as grep. The large number of Linux drivers, however, implies that this approach is time-consuming and unreliable, leading to subtle errors when modifications are not done consistently.In this paper, we propose a transformation language, SmPL, to specify collateral evolutions. Because Linux programmers are accustomed to exchanging, reading, and manipulating program modifications in terms of patches, we build our language around the idea and syntax of a patch, extending patches to semantic patches. Udgivelsesdato: January 3",
keywords = "Faculty of Science, Linux, device drivers, collateral evolutions, domain-specific languages",
author = "Yoann Padioleau and Lawall, {Julia Laetitia} and Gilles Muller",
note = "Paper id:: doi:10.1016/j.entcs.2006.07.022",
year = "2007",
doi = "doi:10.1016/j.entcs.2006.07.022",
language = "English",
volume = "166",
pages = "47--62",
journal = "Electronic Notes in Theoretical Computer Science",
issn = "1571-0661",
publisher = "Elsevier",

}

RIS

TY - JOUR

T1 - SmPL: A Domain-Specific Language for Specifying Collateral Evolutions in Linux Device Drivers

AU - Padioleau, Yoann

AU - Lawall, Julia Laetitia

AU - Muller, Gilles

N1 - Paper id:: doi:10.1016/j.entcs.2006.07.022

PY - 2007

Y1 - 2007

N2 - Collateral evolutions are a pervasive problem in large-scale software development. Such evolutions occur when an evolution that affects the interface of a generic library entails modifications, i.e., collateral evolutions, in all library clients. Performing these collateral evolutions requires identifying the affected files and modifying all of the code fragments in these files that in some way depend on the changed interface.We have studied the collateral evolution problem in the context of Linux device drivers. Currently, collateral evolutions in Linux are mostly done manually using a text editor, possibly with the help of tools such as grep. The large number of Linux drivers, however, implies that this approach is time-consuming and unreliable, leading to subtle errors when modifications are not done consistently.In this paper, we propose a transformation language, SmPL, to specify collateral evolutions. Because Linux programmers are accustomed to exchanging, reading, and manipulating program modifications in terms of patches, we build our language around the idea and syntax of a patch, extending patches to semantic patches. Udgivelsesdato: January 3

AB - Collateral evolutions are a pervasive problem in large-scale software development. Such evolutions occur when an evolution that affects the interface of a generic library entails modifications, i.e., collateral evolutions, in all library clients. Performing these collateral evolutions requires identifying the affected files and modifying all of the code fragments in these files that in some way depend on the changed interface.We have studied the collateral evolution problem in the context of Linux device drivers. Currently, collateral evolutions in Linux are mostly done manually using a text editor, possibly with the help of tools such as grep. The large number of Linux drivers, however, implies that this approach is time-consuming and unreliable, leading to subtle errors when modifications are not done consistently.In this paper, we propose a transformation language, SmPL, to specify collateral evolutions. Because Linux programmers are accustomed to exchanging, reading, and manipulating program modifications in terms of patches, we build our language around the idea and syntax of a patch, extending patches to semantic patches. Udgivelsesdato: January 3

KW - Faculty of Science

KW - Linux

KW - device drivers

KW - collateral evolutions

KW - domain-specific languages

U2 - doi:10.1016/j.entcs.2006.07.022

DO - doi:10.1016/j.entcs.2006.07.022

M3 - Journal article

VL - 166

SP - 47

EP - 62

JO - Electronic Notes in Theoretical Computer Science

JF - Electronic Notes in Theoretical Computer Science

SN - 1571-0661

ER -

ID: 1337803