Computing That Serves

Towards a Recommendation System for Software Maintenance Decision Support


Thursday, November 8, 2012 - 11:00am


Byron Williams

Assistant Professor in the Dept of Computer Science of Engineering at Mississippi State University


Chuck Knutson

Software maintenance has been regarded as the most expensive phase of the software lifecycle.Software engineering researchers must develop practical solutions to handle the challenges presentedin maintaining mature software systems. Research that provides viable means of mitigating the risksinvolved when changing software, reducing the complexity of mature software systems, and eliminatingthe introduction of preventable bugs is paramount to today’s software engineering discipline. Givingsoftware developers the information that they need to make quality decisions about changes thatwill negatively affect their software systems is a key aspect to mitigating those risks. To address theseproblems, developers need a way to better understand the effects of a change prior to making them.
This presentation discusses the problems associated with increasing architectural complexity causedby software change using a two-fold approach. The first approach is to characterize software changesto assess their architectural impact prior to implementation. The Software Architecture ChangeCharacterization Scheme (SACCS), is an analysis method designed to help developers understand asoftware change and its impact on the system. SACCS contains a set of characteristics and attributesthat require a developer to take a comprehensive look at the change request to determine changeimpact. The second approach is to pinpoint a set of architecture metrics that correlate to system qualityand maintainability and to use these metrics to determine the level of difficulty involved in making achange. These two approaches, built on historical change data and combined with statistical and artificialintelligence analysis techniques evidenced by empirical investigations, will provide the basis for a decisionsupport recommendation system for software changes.


Dr. Byron J. Williams is an Assistant Professor in the Department of Computer Science of Engineering atMississippi State University (MSU). He received his Ph.D. from MSU in 2009. In his prior role as AssociateDirector and Chief Software Engineer at Jackson State University’s Center for Defense Integrated Data,Dr. Williams led the software engineering project management efforts, which consisted of implementingsoftware development policies and procedures to enhance the software development capabilities ofthe Center. Dr. Williams has a solid high-tech background in software engineering for overall systemsimprovement. He has considerable project management, development, and consulting experienceensuring solid technical software design and seamless systems integration and execution. Dr. Williams’research interests are Empirical Software Engineering, Software Architectures, Maintenance andEvolution, Software Metrics, Software Security, and Agile Methods. Dr. Williams is an IEEE ComputerSociety Certified Software Development Professional (CSDP) and a Member of the Mississippi StateUniversity Entrepreneurship Center Advisory Board.