SHF: Small: Find and Fix Similar Software Bugs
Iowa State University, Ames IA
Investigators
Abstract
Finding and fixing bugs are crucial in the process of developing reliable and high-quality software. Software developers could base on their own experience with their programs, or effectively find bugs by consulting the similar bugs and fixes from others in the past for the same or different systems. However, the body of knowledge in software engineering is still very limited on the nature, the causes and effects, and the characteristics of such recurring bugs. The learning process from prior known bugs is still ad-hoc, manually, and un-systematically. In this project, a comprehensive approach is introduced to capture the knowledge of prior bugs and corresponding fixes, and to leverage such knowledge to build automated tools to detect potential recurring buggy code at other locations in the same or different systems. Such tools will help to detect bugs early in the development process, leading to higher-quality software and the improvement in productivity of software developers in the bug fixing practice. In this project, an empirical study will be conducted to collect, analyze, and understand the nature and characteristics of recurring and similar bugs within one and across multiple systems. This project is expected to advance software engineering knowledge on the theoretical foundation, concepts, practical techniques, and automated tools to (1) capture the characteristics and measure the similarity of code units involved in prior known fixed bugs, (2) identify the locations of potential buggy units and derive the guidelines to fix them by matching them to the relevant peer code units of the known bugs, and (3) support the similar bug detection and fixing process. The teaching modules and validation efforts in this project will involve students and professionals, promoting teaching and training software quality assurance.
View original record on NSF Award Search →