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 条
  • [1] NDL: A domain-specific language for device drivers
    Conway, CL
    Edwards, SA
    [J]. ACM SIGPLAN NOTICES, 2004, 39 (07) : 30 - 36
  • [2] Documenting and Automating Collateral Evolutions in Linux Device Drivers
    Padioleau, Yoann
    Lawall, Julia
    Hansen, Rene Rydhof
    Muller, Gilles
    [J]. EUROSYS'08: PROCEEDINGS OF THE EUROSYS 2008 CONFERENCE, 2008, : 247 - 260
  • [3] SIPE: A Domain-Specific Language for Specifying Interactive Programming Exercises
    Swacha, Jakub
    [J]. TOWARDS A SYNERGISTIC COMBINATION OF RESEARCH AND PRACTICE IN SOFTWARE ENGINEERING, 2018, 733 : 15 - 29
  • [4] A UML-based language for specifying domain-specific patterns
    Kim, DK
    France, R
    Ghosh, S
    [J]. JOURNAL OF VISUAL LANGUAGES AND COMPUTING, 2004, 15 (3-4): : 265 - 289
  • [5] Critic Authoring Templates for Specifying Domain-Specific Visual Language Tool Critics
    Ali, Norhayati Mohd
    Hosking, John
    Huh, Jun
    Grundy, John
    [J]. ASWEC 2009: 20TH AUSTRALIAN SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2009, : 81 - 90
  • [6] A Domain-Specific Language for Microservices
    Donham, Jacob
    [J]. PROCEEDINGS OF THE 9TH ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON SCALA (SCALA '18), 2018, : 2 - 12
  • [7] A Domain-Specific Language for Aviation Domain Interoperability
    Comitz, Paul
    [J]. 2013 INTEGRATED COMMUNICATIONS, NAVIGATION AND SURVEILLANCE CONFERENCE (ICNS), 2013,
  • [8] Domain-specific languages: From design to implementation application to video device drivers generation
    Thibault, SA
    Marlet, R
    Consel, C
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1999, 25 (03) : 363 - 377
  • [9] A domain specific language for video device drivers: from design to implementation
    Thibault, S
    Marlet, R
    Consel, C
    [J]. PROCEEDINGS OF THE CONFERENCE ON DOMAIN-SPECIFIC LANGUAGES, 1997, : 11 - 26
  • [10] Specifying Domain-Specific Refactorings for AndroMDA Based on Graph Transformation
    Taentzer, Gabriele
    Mueller, Dirk
    Mens, Tom
    [J]. APPLICATIONS OF GRAPH TRANSFORMATIONS WITH INDUSTRIAL RELEVANCE, 2008, 5088 : 104 - +