Skip to feedback

Award Abstract # 2232565
EAGER: Investigating the Feasibility and Scope of Automated Refactoring for Distributed Software

NSF Org: CCF
Division of Computing and Communication Foundations
Recipient: VIRGINIA POLYTECHNIC INSTITUTE & STATE UNIVERSITY
Initial Amendment Date: August 17, 2022
Latest Amendment Date: August 17, 2022
Award Number: 2232565
Award Instrument: Standard Grant
Program Manager: Sol Greenspan
sgreensp@nsf.gov
 (703)292-7841
CCF
 Division of Computing and Communication Foundations
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: September 1, 2022
End Date: December 31, 2024 (Estimated)
Total Intended Award Amount: $150,000.00
Total Awarded Amount to Date: $150,000.00
Funds Obligated to Date: FY 2022 = $150,000.00
History of Investigator:
  • Eli Tilevich (Principal Investigator)
    tilevich@cs.vt.edu
Recipient Sponsored Research Office: Virginia Polytechnic Institute and State University
300 TURNER ST NW
BLACKSBURG
VA  US  24060-3359
(540)231-5281
Sponsor Congressional District: 09
Primary Place of Performance: Virginia Polytechnic Institute and State University
2202 Kraft Drive
BLACKSBURG
VA  US  24060-6356
Primary Place of Performance
Congressional District:
09
Unique Entity Identifier (UEI): QDE5UHE5XD16
Parent UEI: X6KEFGLHSJX7
NSF Program(s): Software & Hardware Foundation
Primary Program Source: 01002223DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 7916, 7944
Program Element Code(s): 779800
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

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.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

(Showing: 1 - 10 of 11)
An, Kijin and Tilevich, Eli "EdgStr: Automating Client-Cloud to Client-Edge-Cloud Transformation" , 2024 Citation Details
Baravkar, Siddhi and Pellegrini, Olivia and Gaikwad, Pratiksha and Song, Zheng and Tilevich, Eli ""How Can I Be of Service?A Comprehensive Analysis of Web Service Integration Practices" , 2024 Citation Details
Bhatnagar, Sarvesh and Li, Zhengquan and Song, Zheng and Tilevich, Eli "OS3 : The Art and the Practice of Searching for Open-Source Serverless Functions" The 2nd Workshop on Serverless computing for pervasive cloud-edge-device systems and services, co-located with IEEE Percom '23 (STARLESS '23) , 2023 https://doi.org/10.1109/PerComWorkshops56833.2023.10150370 Citation Details
Liu, Yin and Cruz, Breno Dantas and Tilevich, Eli "Trusted and privacy-preserving sensor data onloading" Computer Communications , v.206 , 2023 https://doi.org/10.1016/j.comcom.2023.04.027 Citation Details
Liu, Yin and Li, Shuangyi and Tilevich, Eli "Toward a Better Alignment Between the Research and Practice of Code Search Engines" 29th Asia-Pacific Software Engineering Conference (APSEC 2022) , 2022 https://doi.org/10.1109/APSEC57359.2022.00034 Citation Details
Li, Zhengquan and Shrestha, Summit and Song, Zheng and Tilevich, Eli "Edge Cache on WiFi Access Points: Millisecond-Level App Latency Almost for Free" , 2024 Citation Details
Mondal, Provakar and Tilevich, Eli "Undoing CRDT Operations Automatically" , 2023 https://doi.org/10.1109/CloudCom59040.2023.00047 Citation Details
Song, Zheng and Li, Zhengquan and Tilevich, Eli "A meta-pattern for building QoS-optimal mobile services out of equivalent microservices" Service Oriented Computing and Applications , v.18 , 2024 https://doi.org/10.1007/s11761-024-00391-1 Citation Details
Song, Zheng and Rowader, Owen and Li, Zhengquan and Tello, Maryam and Tilevich, Eli "Quality of Information Matters: Recommending Web Services for Performance and Utility" IEEE International Conference on Cloud Computing Technology and Science (CloudCom 2022) , 2022 https://doi.org/10.1109/CloudCom55334.2022.00016 Citation Details
St_Amour, Leo and Tilevich, Eli "Toward Declarative Auditing of Java Software for Graceful Exception Handling" , 2024 https://doi.org/10.1145/3679007.3685057 Citation Details
St_Amour, Leo and Tilevich, Eli and Gulzar, Muhammad Ali "A Metric for Measuring the Impact of Rare Paths on Program Coverage" , 2025 Citation Details
(Showing: 1 - 10 of 11)

PROJECT OUTCOMES REPORT

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.

This project focused on developing automated techniques to enhance the efficiency and reliability of distributed systems, essential for modern applications like cloud computing and big data processing. As these systems grow more complex, ensuring their smooth and efficient operation is critical.

Intellectual Merit:

The intellectual merit of this project lies in developing novel automated techniques to refactor distributed systems. Refactoring refers to improving the internal structure of code without altering its external behavior. In distributed systems, refactoring is challenging due to asynchronous communication and non-deterministic behaviors arising from the interaction of multiple components across machines.

Our work addressed these challenges by creating new methods for integrating, testing, and optimizing distributed systems. A key innovation was enabling client applications to leverage edge resources, enhancing performance through the replication of cloud services on edge devices. We also developed a tool for testing replicated data libraries, helping to identify and resolve issues caused by complex message exchanges. Additionally, a study on web services provided valuable insights into factors influencing their reliability and popularity. Lastly, we developed a lightweight caching architecture for Wi-Fi access points, reducing latency in time-sensitive applications like AR/VR and autonomous driving.

These contributions advance the understanding and development of distributed systems, offering practical solutions to improve their performance, consistency, and robustness.

Broader Impacts:

This project extends its impact beyond technical contributions. Distributed systems are integral to modern computing, supporting a wide range of services from cloud storage to online applications. By improving their reliability and efficiency through automated refactoring, the project helps ensure these systems remain robust and scalable, particularly as they handle increasingly large and complex datasets.

The findings also have educational value. The PI has incorporated key concepts into courses, giving students exposure to cutting-edge software development techniques in distributed systems through hands-on learning.

Additionally, the PI has initiated discussions with an industry partner to explore future research opportunities and technology transfer. This collaboration connects academic research with real-world applications, paving the way for future innovations and partnerships.

Summary of Outcomes:

This project developed innovative techniques to improve the efficiency and reliability of distributed systems. Key achievements include creating a system that allows client applications to leverage edge resources by replicating cloud services on edge devices. We also introduced an approach for testing replicated data libraries and conducted a study on web services to identify factors affecting their reliability. Additionally, a lightweight caching architecture for Wi-Fi access points was developed, reducing latency for time-sensitive applications.

These contributions enhance the understanding of distributed systems, providing practical solutions for improving performance, consistency, and robustness. The project also had educational impacts, integrating key concepts into coursework, and initiated discussions with an industry partner for future research and technology transfer.


Last Modified: 03/11/2025
Modified by: Eli Tilevich

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page