Model-Driven Fault Injection in Java']Java Source Code

被引:3
|
作者
Rodrigues Jr, Elder [1 ]
Montecchi, Leonardo [1 ]
Ceccarelli, Andrea [2 ]
机构
[1] Univ Estadual Campinas, Campinas, SP, Brazil
[2] Univ Firenze, Florence, Italy
基金
欧盟地平线“2020”; 巴西圣保罗研究基金会;
关键词
Software faults; fault libraries; metamodel; OCL; code patterns; !text type='Java']Java[!/text;
D O I
10.1109/ISSRE5003.2020.00046
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The injection of software faults in source code requires accurate knowledge of the programming language, both to craft faults and to identify injection locations. As such, fault injection and code mutation tools are typically tailored for a specific language and have limited extensibility. In this paper we present a model-driven approach to craft and inject software faults in source code. While its concrete application is presented for Java, the workflow we propose does not depend on a specific programming language. Following Model-Driven Engineering principles, the faults and the criteria to select injection locations are described using structured, machine-readable specifications based on a domain-specific language. Then, automated transformations craft artifacts based on OCL and Java, which represent the faults to be injected and are able to select the candidate injection locations. Finally, artifacts are executed against the target source code, performing the injection in the desired locations. We devise a supporting tool and exercise the approach injecting 13 different kinds of software faults in the Java source code of six different projects.
引用
下载
收藏
页码:414 / 425
页数:12
相关论文
共 50 条
  • [41] Model-based generation of Java']Java code
    Chow, KO
    Jia, WJ
    Chan, VCP
    Cao, JN
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-V, 2000, : 2811 - 2817
  • [42] Generation of Java']Java Code from Alvis Model
    Matyasik, Piotr
    Szpyrka, Marcin
    Wypych, Michal
    INTERNATIONAL CONFERENCE OF COMPUTATIONAL METHODS IN SCIENCES AND ENGINEERING 2015 (ICCMSE 2015), 2015, 1702
  • [43] Approach to Improving Java']Java Source Code Considering Non-compliance with a Java']Java Style Guide
    Becker, Pablo
    Olsina, Luis
    Fernanda Papa, Maria
    COMPUTER SCIENCE - CACIC 2022, 2023, 1778 : 123 - 139
  • [44] Towards Detecting Inconsistent Comments in Java']Java Source Code Automatically
    Stulova, Nataliia
    Blasi, Arianna
    Gorla, Alessandra
    Nierstrasz, Oscar
    2020 20TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM 2020), 2020, : 65 - 69
  • [45] Java']Java Source Code Protection Based on JNI and AES Algorithm
    Hong, Zhao
    Nan, Guo
    2017 IEEE INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND ENGINEERING (CSE) AND IEEE/IFIP INTERNATIONAL CONFERENCE ON EMBEDDED AND UBIQUITOUS COMPUTING (EUC), VOL 1, 2017, : 846 - 849
  • [46] From Lisp S-Expressions to Java']Java Source Code
    Leitao, Antonio Menezes
    COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2008, 5 (02) : 19 - 38
  • [47] On the Nature of Code Cloning in Open-Source Java']Java Projects
    Golubev, Yaroslav
    Bryksin, Timofey
    2021 IEEE 15TH INTERNATIONAL WORKSHOP ON SOFTWARE CLONES, IWSC 2021, 2021, : 22 - 28
  • [48] SPOON: A library for implementing analyses and transformations of Java']Java source code
    Pawlak, Renaud
    Monperrus, Martin
    Petitprez, Nicolas
    Noguera, Carlos
    Seinturier, Lionel
    SOFTWARE-PRACTICE & EXPERIENCE, 2016, 46 (09): : 1155 - 1179
  • [49] GUI Structure and Behavior from Java']Java Source Code Analysis
    Gotti, Zineb
    Mbarki, Samir
    2016 4TH IEEE INTERNATIONAL COLLOQUIUM ON INFORMATION SCIENCE AND TECHNOLOGY (CIST), 2016, : 251 - 256
  • [50] Fisheye views of Java']Java source code: An updated LOD algorithm
    Finlayson, J. Louise
    Mellish, Chris
    Masthoff, Judith
    UNIVERSAL ACCESS IN HUMAN-COMPUTER INTERACTION: APPLICATIONS AND SERVICES, PT 3, PROCEEDINGS, 2007, : 289 - +