Tingting Yu, assistant professor in the Department of Computer Science, has received a three-year grant from the National Science Foundation. The total amount of the award is approximately $500,000. The project will involve collaboration between University of Kentucky and Stevens Institute of Technology, and the goal is to improve the quality of modern software systems.
The abstract for the project is below.
Title: Test-Centric Architecture Modeling
Software architecture and software testing are both important areas of research and practice in software engineering. Research in software architectural modeling and analysis has focused on providing general guidance in software design, development, and maintenance. Research in software testing has examined a broad spectrum of endeavors, ranging from development testing to regression testing for maintenance. However, the two areas have long been disconnected to each other. That is, architecture modeling and analysis techniques are largely agnostic to the unique design features of test code, whereas software testing is conducted without leveraging any architectural guidance. This project aims to build a novel architecture modeling framework to bridge the gap between software architecture and testing. The project will enable the synergy between architecture and test efficiency across the long lifetimes of modern software systems that can provide theoretical advances and practical solutions in both fields.
The research team will create a family of first-of-its-kind architectural modeling and analysis techniques that centers on testing and amplifies benefits to both software architecture and software testing. More specifically, this modeling and analysis framework includes 1) A test-centric architecture modeling approach to help developers and practitioners understand and evaluate the architectural design of test code, e.g., whether the design is good or bad, easy or difficult to maintain and test; 2) A test-centric architectural analysis approach to detect and analyze architectural anti-patterns centered around test code that hinder maintenance and increase costs on test code; and 3) An architecture-guided testing approach that provides cost-effective regression testing techniques, including regression testing selection and prioritization, built upon the high-level architectural modeling.