Canada Spends Logo

Explore our Budget 2026 analysis

Grant: Discovery Grants Program - Individual

Concordia University

$46,000.00

Software Quality Assurance in the Era of Continuous Integration

FY 2024-25

Summary
Software systems are evolving rapidly to cope with ever-changing requirements and business goals. Hence, having shorter release cycles helps improve user experience by providing the latest features or bug fixes, and improves developer productivity by reducing integration overhead. To achieve fast releases while maintaining high software quality, developers adopt the continuous integration (CI) practice. In CI, every few code changes (e.g., a few commits) trigger an automated process of integrating the code with the central code repository, building the system, testing, and deploying to production. In particular, automated test execution is the cornerstone in CI that ensures the central repository remains stable and up-to-date, and helps developers detect faults before releasing the code changes to production. CI has changed how software practitioners develop, test, and release their software. However, decades of research in software quality assurance focuses mostly on traditional development settings and has not yet been exercised, evaluated, and renovated in CI settings. The goal of this research program is to improve software quality assurance practices in the era of CI. We plan to address the challenges in CI and propose techniques to utilize fine-grained code evolution information. In particular, we plan to work on three research objectives. RO1: To address the challenges associated with frequent test execution, we plan to propose automated techniques to enhance test cases. We will propose techniques to automatically generate test code to cover the newly added and changed code. We will also conduct studies and propose techniques to detect performance issues and improve test execution time. RO2: To address the challenges of lacking fault localization research in CI settings, we will develop benchmarks for fault localization in CI and propose tailored fault localization techniques that utilize fine-grained code evolution information. RO3: To further utilize fine-grained evolution information, we plan to assist developers in diagnosing production issues by combining production data (e.g., logs) and rich CI data for automated diagnosis of production failure. The outcome of this research will significantly advance the research community by enabling researchers to adopt current and future techniques for CI settings. The proposed techniques will significantly improve software quality and reduce software development costs among not only Canadian companies but also companies around the world that follow CI practices. The proposed research will also train several highly qualified personnel (HQP) and allow them to contribute to state-of-the-art Software Engineering research and practice.
Program
Discovery Grants Program - Individual
Location
Quebec, Canada
Recipient Type
Academia
Type
Grant
Source
NSERC's Awards Data

As published

Application id
RGPIN-2023-05736
Name nom
Chen, Tse-Hsun
Department département
Computer Science and Software Engineering
Organization id
70
Institution établissement
Concordia University
Province en
Québec
Province fr
Québec
Country en
CANADA
Country fr
CANADA
Fiscal year exercice financier
2024
Competition year année de concours
2023
Award amount
46000
Program id
RGPIN
Program name en
Discovery Grants Program - Individual
Program name fr
Programme de subventions à la découverte - individuelles
Group en
DISCOVERY RESEARCH
Group fr
RECHERCHE AXÉE SUR LA DÉCOUVERTE
Committee code
1507
Committee name en
Computer Science
Committee name fr
Sciences informatiques
Area of application code
801
Area of application group en
Information and communication services
Area of application group fr
Services d'information et de télécommunications
Area of application en
Computer software
Area of application fr
Logiciel
Research subject code
2706
Research subject group en
Information technology
Research subject group fr
Technologie de l'information
Research subject en
Software engineering
Research subject fr
Génie logiciel
Field of research list names en
Not available
Field of research list names fr
Non disponible
Socioeconomic objective list names en
Not available
Socioeconomic objective list names fr
Non disponible
Application title
Software Quality Assurance in the Era of Continuous Integration
Keywords
software engineering; software quality assurance; continuous integration; software testing; fault localization; debugging
Application summary
Software systems are evolving rapidly to cope with ever-changing requirements and business goals. Hence, having shorter release cycles helps improve user experience by providing the latest features or bug fixes, and improves developer productivity by reducing integration overhead. To achieve fast releases while maintaining high software quality, developers adopt the continuous integration (CI) practice. In CI, every few code changes (e.g., a few commits) trigger an automated process of integrating the code with the central code repository, building the system, testing, and deploying to production. In particular, automated test execution is the cornerstone in CI that ensures the central repository remains stable and up-to-date, and helps developers detect faults before releasing the code changes to production. CI has changed how software practitioners develop, test, and release their software. However, decades of research in software quality assurance focuses mostly on traditional development settings and has not yet been exercised, evaluated, and renovated in CI settings. The goal of this research program is to improve software quality assurance practices in the era of CI. We plan to address the challenges in CI and propose techniques to utilize fine-grained code evolution information. In particular, we plan to work on three research objectives. RO1: To address the challenges associated with frequent test execution, we plan to propose automated techniques to enhance test cases. We will propose techniques to automatically generate test code to cover the newly added and changed code. We will also conduct studies and propose techniques to detect performance issues and improve test execution time. RO2: To address the challenges of lacking fault localization research in CI settings, we will develop benchmarks for fault localization in CI and propose tailored fault localization techniques that utilize fine-grained code evolution information. RO3: To further utilize fine-grained evolution information, we plan to assist developers in diagnosing production issues by combining production data (e.g., logs) and rich CI data for automated diagnosis of production failure. The outcome of this research will significantly advance the research community by enabling researchers to adopt current and future techniques for CI settings. The proposed techniques will significantly improve software quality and reduce software development costs among not only Canadian companies but also companies around the world that follow CI practices. The proposed research will also train several highly qualified personnel (HQP) and allow them to contribute to state-of-the-art Software Engineering research and practice.