EAGER: Investigating the Feasibility and Scope of Automated Refactoring for Distributed Software
Virginia Polytechnic Institute And State University, Blacksburg VA
Investigators
Abstract
As software is maintained over its lifetime and new features are added, it often becomes necessary to restructure the software to continue working with expected functionality and performance. This restructuring, called refactoring, is tedious and error-prone, consuming software development time and delaying releases. In modern software development processes, refactoring is routine but only applies to software running on one machine. With the increasing ubiquity of distributed applications, such as those for the web, mobile systems, and the Internet of Things, refactoring techniques do not apply. This EAGER grant explores the issues involved in extending refactoring to distributed systems. Refactoring is the application of semantics-preserving program transformations to restructure software for better performance, modularity, and other attributes. Refactoring has become an integral part of the modern software development processes, but only for centralized software that runs within a single address space. When evolving a distributed system, programmers apply existing refactoring techniques to its individual components, treating them as separate, unrelated parts, so these techniques remain unaware of the distributed communication across these parts. When programmers can refactor only the individual parts of a distributed system, (1) the overall system’s execution semantics may not be preserved, and (2) the system’s distribution cannot be changed, thus making it impossible to fulfill many important objectives for modifying modern distributed systems. Distributed applications have many accompanying challenges – such as being written by independent programmers in decentralized ecosystems and in multiple languages with different semantics that need to be related and preserved. This EAGER grant will uncover technical possibilities and challenges as a step toward understanding and addressing these challenges. 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 →