Ctest4J: A Practical Configuration Testing Framework for Java

Shuai Wang, Xinyu Lian, Qingyu Li, Darko Marinov, Tianyin Xu

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

We present Ctest4J, a practical configuration testing framework for Java projects. Configuration testing is a recently proposed approach for finding 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.

Original languageEnglish (US)
Title of host publicationFSE Companion - Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering
EditorsMarcelo d�Amorim
PublisherAssociation for Computing Machinery
Pages562-566
Number of pages5
ISBN (Electronic)9798400706585
DOIs
StatePublished - Jul 10 2024
Event32nd ACM International Conference on the Foundations of Software Engineering, FSE Companion - Porto de Galinhas, Brazil
Duration: Jul 15 2024Jul 19 2024

Publication series

NameFSE Companion - Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering

Conference

Conference32nd ACM International Conference on the Foundations of Software Engineering, FSE Companion
Country/TerritoryBrazil
CityPorto de Galinhas
Period7/15/247/19/24

Keywords

  • Configuration testing
  • Software reliability
  • Software testing

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Ctest4J: A Practical Configuration Testing Framework for Java'. Together they form a unique fingerprint.

Cite this