SHF: Small: Collaborative: Managing Software Evolution through Continuous Measuring and Monitoring
Drexel University, Philadelphia PA
Investigators
Abstract
Architecture degradation can have fundamental impacts on software quality and productivity, resulting in substantial loss of time and money. It has been estimated that failed and troubled software costs around 60 billion to 70 billion dollars per year in the United States alone, and recent research has revealed that only 2%-6% of large projects are successful. None of these problems happen overnight. Software evolves continuously, through numerous maintenance tasks, such as fixing bugs and adding new features. Developers typically are focused on their immediate tasks while the cumulative impacts of their activities, as they affect the architecture, go unnoticed. Early symptoms continuously evolve and grow in scope and significance until the system becomes difficult to maintain. Numerous software metrics and measures have been proposed to monitor software maintainability, but they have not yet achieved the reliability needed for comparing and contrasting projects, or to signal early symptoms of severe problems. Current techniques, which are largely based on (static) syntactic dependencies, tend to report large numbers of false positives. This makes it hard to pinpoint the true problems. The project will develop a novel metric suite for source code assessment based on options theory, accompanied by a suite of evolution history measures using maintenance tasks as first-class entities. The project will also develop a hotspot detection method to capture early symptoms of architecture flaws before the software becomes unmanageably buggy and costly to repair. This project has the potential to revolutionize how software systems are monitored and managed, potentially resulting in substantial savings for development organizations, and resulting in a more disciplined, controlled process of software evolution and maintenance. The proposed metrics and tools will be integrated with widely-used software management tools, such as Bitbucket and Github, potentially impacting hundreds of thousands of software projects. The industrial benchmark will establish a Software Heath Chart against which any software project can make a comparison. The methods produced from this research can be used in software design and maintenance education, providing pedagogical tools with scientific foundations. The empirical basis for this research will provide an industry-wide foundation for reasoning about software evolution and management. 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 →