{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/129313"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/129313","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Analyzing the portability of configuration testing for open-source Java projects","abstract":"Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2025-10-19 without embargo terms","abstract_html":"Submission original under an indefinite embargo labeled &#x27;Open Access&#x27;. The submission was exported from vireo on 2025-10-19 without embargo terms","abstract_has_math":false,"creators":["Li, Qingyu"],"institution":"University of Illinois Urbana-Champaign","degree_name":"M.S.","degree_level":"Thesis","degree_discipline":"Computer Engineering","degree_department":null,"school":null,"contributors":["Xu, Tianyin"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2025,"date_issued":"2025-05-08","date_published":"2025-05-08","updated_at":"2026-07-22T22:25:04Z","subjects":["Configuration","Configuration Testing","Portability","Configuration Api","Ctest","Ctest4j."],"languages":["en","eng"],"rights":["Copyright 2025 Qingyu Li"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://hdl.handle.net/2142/129313","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Xu, Tianyin"]},{"key":"dc:creator","label":"Author","values":["Li, Qingyu"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2025-05-08","2025-05"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Engineering"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["M.S."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Configuration","Configuration Testing","Portability","Configuration Api","Ctest","Ctest4j."]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en","eng"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2025 Qingyu Li"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["https://hdl.handle.net/2142/129313"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2025-10-19 without embargo terms","The student, Qingyu Li, accepted the attached license on 2025-05-03 at 07:05.","The student, Qingyu Li, submitted this Thesis for approval on 2025-05-03 at 07:11.","This Thesis was approved for publication on 2025-05-08 at 15:46.","DSpace SAF Submission Ingestion Package generated from Vireo submission #22195 on 2025-10-19 at 18:12:21","The advancement of Java-based open-source projects underscores the critical role of configuration testing in ensuring software reliability, particularly since misconfiguration remains a dominant factor contributing to production failures and widespread outages. Ctest, proposed by Sun et al., offers an essential approach to improving software reliability through its capability to expose dormant software bugs and diverse misconfigurations by leveraging existing test code under production configurations [1]. Despite these advantages, Ctest has not been adopted by any existing project, and systematic studies on applying Ctest to diverse Java-based open-source projects and evaluating its portability are still lacking. Without a comprehensive understanding of the porting process and portability, the application scope of Ctest remains limited, restricting its potential benefits in enhancing software robustness. Therefore, conducting systematic research on Ctest portability is both urgent and meaningful. This thesis contributes in three main aspects: First, from a technical perspective, we developed various tools to automate and facilitate the porting process, significantly minimizing the manual effort required to integrate Ctest into Java projects. Specifically, we automated critical porting steps such as dependency inclusion, package imports, and Ctest annotations, ensuring that portability assessment primarily reflects intrinsic project attributes rather than the complexity of porting itself. We also developed static analysis tools to extract project attributes relevant to portability systematically. Second, from an analytical perspective, we comprehensively analyzed the portability of Ctest by studying 18 prominent Java-based open-source projects. We identified key attributes significantly influencing Ctest portability and developed metrics to quantify them, such as the number of configuration interfaces, the types of configuration frameworks, and the structure of configuration systems. For projects unsuitable for porting, we identified underlying causes and proposed targeted solutions. Lastly, from an application perspective, we successfully expanded Ctest’s applicability by porting nine additional projects and validated the effectiveness of Ctest through comparative analysis. Results demonstrated consistent effectiveness with minimal to no runtime degradation, highlighting the practicality and reliability of Ctest in diverse Java environments. In summary, this thesis systematically investigates the technical, analytical, and practical aspects of configuration testing portability, achieving positive outcomes and laying a solid foundation for future improvements in both theoretical understanding and practical tooling."]},{"key":"dc:format","label":"Dc Format","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Analyzing the portability of configuration testing for open-source Java projects"]}]}],"canonical_facts":{"dc:contributor":["Xu, Tianyin"],"dc:creator":["Li, Qingyu"],"dc:date":["2025-05-08","2025-05"],"dc:description":["Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2025-10-19 without embargo terms","The student, Qingyu Li, accepted the attached license on 2025-05-03 at 07:05.","The student, Qingyu Li, submitted this Thesis for approval on 2025-05-03 at 07:11.","This Thesis was approved for publication on 2025-05-08 at 15:46.","DSpace SAF Submission Ingestion Package generated from Vireo submission #22195 on 2025-10-19 at 18:12:21","The advancement of Java-based open-source projects underscores the critical role of configuration testing in ensuring software reliability, particularly since misconfiguration remains a dominant factor contributing to production failures and widespread outages. Ctest, proposed by Sun et al., offers an essential approach to improving software reliability through its capability to expose dormant software bugs and diverse misconfigurations by leveraging existing test code under production configurations [1]. Despite these advantages, Ctest has not been adopted by any existing project, and systematic studies on applying Ctest to diverse Java-based open-source projects and evaluating its portability are still lacking. Without a comprehensive understanding of the porting process and portability, the application scope of Ctest remains limited, restricting its potential benefits in enhancing software robustness. Therefore, conducting systematic research on Ctest portability is both urgent and meaningful. This thesis contributes in three main aspects: First, from a technical perspective, we developed various tools to automate and facilitate the porting process, significantly minimizing the manual effort required to integrate Ctest into Java projects. Specifically, we automated critical porting steps such as dependency inclusion, package imports, and Ctest annotations, ensuring that portability assessment primarily reflects intrinsic project attributes rather than the complexity of porting itself. We also developed static analysis tools to extract project attributes relevant to portability systematically. Second, from an analytical perspective, we comprehensively analyzed the portability of Ctest by studying 18 prominent Java-based open-source projects. We identified key attributes significantly influencing Ctest portability and developed metrics to quantify them, such as the number of configuration interfaces, the types of configuration frameworks, and the structure of configuration systems. For projects unsuitable for porting, we identified underlying causes and proposed targeted solutions. Lastly, from an application perspective, we successfully expanded Ctest’s applicability by porting nine additional projects and validated the effectiveness of Ctest through comparative analysis. Results demonstrated consistent effectiveness with minimal to no runtime degradation, highlighting the practicality and reliability of Ctest in diverse Java environments. In summary, this thesis systematically investigates the technical, analytical, and practical aspects of configuration testing portability, achieving positive outcomes and laying a solid foundation for future improvements in both theoretical understanding and practical tooling."],"dc:format":["application/pdf"],"dc:identifier":["https://hdl.handle.net/2142/129313"],"dc:language":["en","eng"],"dc:rights":["Copyright 2025 Qingyu Li"],"dc:subject":["Configuration","Configuration Testing","Portability","Configuration Api","Ctest","Ctest4j."],"dc:title":["Analyzing the portability of configuration testing for open-source Java projects"],"dc:type":["text"],"thesis:degree_discipline":["Computer Engineering"],"thesis:degree_level":["Thesis"],"thesis:degree_name":["M.S."],"thesis:institution_name":["University of Illinois Urbana-Champaign"]},"updated_at":"2026-07-22T22:25:04Z"}