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

被引:10
|
作者
Padioleau, Yoann [1 ]
Lawall, Julia L. [2 ]
Muller, Gilles [1 ]
机构
[1] LINA, Ecole Mines Nantes INRIA, OBASCO Grp, Nantes, France
[2] Univ Copenhagen, DIKU, Copenhagen, Denmark
关键词
Linux; device drivers; collateral evolutions; domain-specific languages;
D O I
10.1016/j.entcs.2006.07.022
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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.
引用
收藏
页码:47 / 62
页数:16
相关论文
共 50 条
  • [41] THE FUNDAMENTALS OF DOMAIN-SPECIFIC SIMULATION LANGUAGE ENGINEERING
    Van Mierlo, Simon
    Vangheluwe, Hans
    Denil, Joachim
    [J]. 2019 WINTER SIMULATION CONFERENCE (WSC), 2019, : 1482 - 1494
  • [42] A Domain-Specific Language for Generating Dataflow Analyzers
    Zeng, Jia
    Mitchell, Chuck
    Edwards, Stephen A.
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 164 (02) : 103 - 119
  • [43] A domain-specific language for managing ETL processes
    Popovic, Aleksandar
    Ivkovic, Vladimir
    Trajkovic, Nikola
    Lukovic, Ivan
    [J]. PEERJ COMPUTER SCIENCE, 2024, 10
  • [44] NNL:a domain-specific language for neural networks
    王秉睿
    Chen Yunji
    [J]. High Technology Letters, 2020, 26 (02) : 160 - 167
  • [45] A Domain-Specific Language for Automatic Generation of Checkers
    Hadiwijaya, Ryan Ignatius
    Liem, M. M. Inggriani
    [J]. 2015 INTERNATIONAL CONFERENCE ON DATA AND SOFTWARE ENGINEERING (ICODSE), 2015, : 7 - 12
  • [46] A domain-specific language for the specification of UCON policies
    Reina Quintero, Antonia M.
    Martinez Perez, Salvador
    Jesus Varela-Vaca, Angel
    Gomez Lopez, Maria Teresa
    Cabot, Jordi
    [J]. JOURNAL OF INFORMATION SECURITY AND APPLICATIONS, 2022, 64
  • [47] A domain-specific language to visualize software evolution
    Fernandez, Alison
    Berger, Alexandre
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2018, 98 : 118 - 130
  • [48] SESSL: A Domain-Specific Language for Simulation Experiments
    Ewald, Roland
    Uhrmacher, Adelinde M.
    [J]. ACM TRANSACTIONS ON MODELING AND COMPUTER SIMULATION, 2014, 24 (02):
  • [49] Declaratively Defining Domain-Specific Language Debuggers
    Lindeman, Ricky T.
    Kats, Lennart C. L.
    Visser, Eelco
    [J]. GPCE 11: PROCEEDINGS OF THE TENTH INTERNATIONAL CONFERENCE ON GENERATIVE PROGRAMMING AND COMPONENT ENGINEERING, 2011, : 127 - 136
  • [50] Framework for domain-specific modeling language development
    Grant, ES
    Reza, H
    [J]. SERP'04: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING RESEARCH AND PRACTICE, VOLS 1 AND 2, 2004, : 183 - 187