Canada Spends Logo

Explorez notre analyse du budget 2026

Grant: Discovery Launch Supplement

Concordia University

$12,500.00

Automated Program Generation for Testing and Repair

EF 2024-25

Résumé
With the rapid evolution of software systems, software maintenance tasks including testing and repair to ensure software quality are indispensable and yet time-consuming. To reduce manual efforts in software maintenance, many automated program generation approaches have been proposed. Given a specification in natural language or an input program, these approaches automatically produce new programs to fulfill the specification or modify the input programs. Automated program generation is essential in (1) automated test program generation, and (2) automated program repair. To automatically test systems that take programs as input (e.g., program analyzers), automated program generation plays the role of producing programs to identify potential bugs in these systems. In automated program repair, automated program generation produces code that serves as patches for fixing bugs. Despite recent advancement in automated program generation techniques, there are several limitations that hinder their wide usage: (1) lack of systematic study that analyzes the characteristics of input programs used and those produced by recent automated program generation techniques for test generation and automated program repair, (2) automated program generation techniques may produce low-quality code (e.g., uncompilable code or programs that misalign with the given specification), (3) the diversity of the programs produced by automated program generation techniques is limited (i.e., they can trigger only limited types of bugs or fix specific types of bugs in automated program repair). The goal of this research is to improve existing automated program generation techniques to address the aforementioned challenges by focusing on three research objectives. RO1: To systematically study the characteristics of programs in automated program generation techniques, this research program will analyze the characteristics of programs in test generation and automated program repair (e.g., grammar coverage, bug-triggering properties, and comparing the characteristics of programs in automated program repair with those in test program generation). RO2: To enhance the quality of generated programs, this research program plans to enhance the current representations of programs used for automated program repair and testing. RO3: To address the lack of diversity in the generated programs, this research program will develop diverse program generation techniques for test program generation and automated program repair. The proposed research will have a significant impact on the software engineering research since it will advance the program generation field by providing technical insights, new datasets, and proposing new automated program generation techniques for effective test generation and automated program repair. Furthermore, the proposed research will train and enable highly qualified personnel (HQP) to contribute to the state-of-the-art software engineering research.
Programme
Discovery Launch Supplement
Bénéficiaire
Emplacement
Quebec, Canada
Type de bénéficiaire
Academia
Type
Grant
Source
NSERC's Awards Data

Tel que publié

Application id
DGECR-2024-00459
Name nom
TAN, SHIN HWEI
Department département
Department of 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
2024
Award amount
12500
Program id
DGECR
Program name en
Discovery Launch Supplement
Program name fr
Supplément Tremplin vers la découverte
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
Automated Program Generation for Testing and Repair
Keywords
automated program repair; software testing; mining software repositories; program analysis; software maintenance; source code generation; software defects; open-source software; test generation; program transformation
Application summary
With the rapid evolution of software systems, software maintenance tasks including testing and repair to ensure software quality are indispensable and yet time-consuming. To reduce manual efforts in software maintenance, many automated program generation approaches have been proposed. Given a specification in natural language or an input program, these approaches automatically produce new programs to fulfill the specification or modify the input programs. Automated program generation is essential in (1) automated test program generation, and (2) automated program repair. To automatically test systems that take programs as input (e.g., program analyzers), automated program generation plays the role of producing programs to identify potential bugs in these systems. In automated program repair, automated program generation produces code that serves as patches for fixing bugs. Despite recent advancement in automated program generation techniques, there are several limitations that hinder their wide usage: (1) lack of systematic study that analyzes the characteristics of input programs used and those produced by recent automated program generation techniques for test generation and automated program repair, (2) automated program generation techniques may produce low-quality code (e.g., uncompilable code or programs that misalign with the given specification), (3) the diversity of the programs produced by automated program generation techniques is limited (i.e., they can trigger only limited types of bugs or fix specific types of bugs in automated program repair). The goal of this research is to improve existing automated program generation techniques to address the aforementioned challenges by focusing on three research objectives. RO1: To systematically study the characteristics of programs in automated program generation techniques, this research program will analyze the characteristics of programs in test generation and automated program repair (e.g., grammar coverage, bug-triggering properties, and comparing the characteristics of programs in automated program repair with those in test program generation). RO2: To enhance the quality of generated programs, this research program plans to enhance the current representations of programs used for automated program repair and testing. RO3: To address the lack of diversity in the generated programs, this research program will develop diverse program generation techniques for test program generation and automated program repair. The proposed research will have a significant impact on the software engineering research since it will advance the program generation field by providing technical insights, new datasets, and proposing new automated program generation techniques for effective test generation and automated program repair. Furthermore, the proposed research will train and enable highly qualified personnel (HQP) to contribute to the state-of-the-art software engineering research.