Ctest4J: A Practical Configuration Testing Framework for Java']Java

被引:0
|
作者
Wang, Shuai [1 ]
Lian, Xinyu [1 ]
Li, Qingyu [1 ]
Marinov, Darko [1 ]
Xu, Tianyin [1 ]
机构
[1] Univ Illinois, Urbana, IL 61801 USA
关键词
Configuration testing; Software testing; Software reliability;
D O I
10.1145/3663529.3663799
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present Ctest4J, a practical configuration testing framework for Java projects. Configuration testing is a recently proposed approach for fiding both misconfigurations and code bugs. Ctest4J addresses the limitations of configuration testing scripts from prior work, including lack of parallel test execution, poor maintainability due to external dependencies, limited integration with modern build systems, and the need for manual instrumentation of configuration API. Ctest4J is a unified framework to write, maintain, and execute configuration tests (Ctests) and integrates with multiple testing frameworks ( JUnit4, JUnit5, and TestNG) and build systems (Maven and Gradle). With Ctest4J, Ctests can be maintained similarly to regular unit tests. Ctest4J also provides a utility for automated code instrumentation for common configuration API. We evaluate Ctest4J on 12 open-source projects. We show that Ctest4J effectively enables configuration testing for these projects and speeds up Ctest execution by 3.4X compared to prior scripts. Ctest4J can be found at https://github.com/xlab-uiuc/ctest4j.
引用
收藏
页码:562 / 566
页数:5
相关论文
共 50 条
  • [41] J-PARALLELIO - AUTOMATIC PARALLELIZATION FRAMEWORK FOR JAVA VIRTUAL MACHINE CODE
    Institute of Computer Science University of Science and Technology, Cracow, Poland
    不详
    arXiv,
  • [42] Automatic repair of real bugs in java']java: a large-scale experiment on the defects4j dataset
    Martinez, Matias
    Durieux, Thomas
    Sommerard, Romain
    Xuan, Jifeng
    Monperrus, Martin
    EMPIRICAL SOFTWARE ENGINEERING, 2017, 22 (04) : 1936 - 1964
  • [43] Vul4J: A Dataset of Reproducible Java']Java Vulnerabilities Geared Towards the Study of Program Repair Techniques
    Bui, Quang-Cuong
    Scandariato, Riccardo
    Ferreyra, Nicolas E. Diaz
    2022 MINING SOFTWARE REPOSITORIES CONFERENCE (MSR 2022), 2022, : 464 - 468
  • [44] Hacking with Multi-touch for Java (MT4j)
    Anslow, Craig
    Marshall, Stuart
    Noble, James
    Biddle, Robert
    Mobile! 2016 - Proceedings of the 1st International Workshop on Mobile Development, co-located with SPLASH 2016, 2016, : 17 - 20
  • [45] Ppt4J: Patch Presence Test for Java Binaries
    Pan, Zhiyuan
    Hu, Xing
    Xia, Xin
    Zhan, Xian
    Lo, David
    Yang, Xiaohu
    arXiv, 2023,
  • [46] THE DISCRETE EVENT SIMULATION FRAMEWORK DESMO-J AND ITS APPLICATION TO THE JAVA']JAVA-BASED SIMULATION OF MOBILE AD HOC NETWORKS
    Goebel, J.
    Krzesinski, A. E.
    Page, B.
    EMSS 2009: 21ST EUROPEAN MODELING AND SIMULATION SYMPOSIUM, VOL I, 2009, : 95 - +
  • [47] Application of Java Relationship Graphs (JRG) to plagiarism detection in Java Projects: A Neo4j Graph Database Approach
    Arora, Ritu
    Motilal Maurya, Arun
    Sharma, Yashvardhan
    ACM International Conference Proceeding Series, 2021, : 46 - 51
  • [48] NOD4J: Near-omniscient debugging tool for Java']Java using size-limited execution trace
    Shimari, Kazumasa
    Ishio, Takashi
    Kanda, Tetsuya
    Ishida, Naoto
    Inoue, Katsuro
    SCIENCE OF COMPUTER PROGRAMMING, 2021, 206
  • [49] CF4J 2.0: Adapting Collaborative Filtering for Java']Java to new challenges of collaborative filtering based recommender systems
    Ortega, F.
    Mayor, J.
    Lopez-Fernandez, D.
    Lara-Cabrera, R.
    KNOWLEDGE-BASED SYSTEMS, 2021, 215
  • [50] DeepMal4J: Java malware detection employing deep learning
    Jha, Pallavi Kumari
    Shankar, Prem
    Sujadevi, V.G.
    Prabhaharan, P.
    Communications in Computer and Information Science, 2019, 969 : 389 - 402