GGrantIndex
← Search

CAREER: Autonomous Targeted Software Verification

$101,862FY2021CSENSF

Virginia Polytechnic Institute And State University, Blacksburg VA

Investigators

Abstract

Today's society is highly dependent on software-based systems and highly vulnerable to the consequence of software defects. A high percentage of software costs are consumed by efforts to find and fix software defects. It is now common to apply defect-finding techniques continuously throughout development and operation of software systems, reviewing every code change (Modern Code Review, abbreviated MCR) and testing the software for defects continuously (Continuous Integration, abbreviated CI). Unfortunately, these continuous defect-finding efforts incur high cost for software developers, and they provide limited success. The goal of this project is to reduce the unfruitful, manual effort that software developers spend on code reviews and continuous integration, while keeping as many of their fruitful tasks as possible. To achieve this goal, this project will develop techniques to automatically prioritize review and integration actions, giving higher priority to those that are more likely to find defects. This project will advance the understanding of what software changes are risky, which ones are better accepted by developers, and what makes developers trust automatically-targeted defect-finding techniques. It will also produce many techniques and tools to enable software engineers to find more software defects in less time. This project will benefit society by improving software reliability, as well as reducing its cost. The project will conduct interviews to survey software engineers to understand the human factors that would impact the adoption of automated targeted MCR and CI techniques. The project works toward the achievement of three objectives using machine learning and search-based algorithms: reduce the size of the code changes for which MCR and CI get executed, by determining which code sections are unlikely to improve; automatically carry out actions resulting from MCR and CI. The project will also investigate how to generate automated explanations of the decisions made using these techniques. The long-term vision is to provide an integrated system that automatically reduces the number and size of MCR and CI tasks, automatically performs some of them, and explains its automated decisions to software engineers. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

View original record on NSF Award Search →