Due to growing demands for computing performance and scalability, distributed software systems are increasingly developed and deployed. Most of the critical software and services being used today, such as financial systems and medical networks, are distributed systems in nature. The quality, including various factors (e.g., reliability and security), of these systems is thus of paramount importance to the modern society and economy. Dynamic program analysis, a methodology that models and reasons about the behavior of programs using their execution information, has been a key enabler for powerful quality assurance tool support. However, conventional dynamic analysis is known to suffer from scalability challenges due to its substantial overheads. It also has been a standing challenge to balance the effectiveness (e.g., precision) and cost (e.g., time) of the analysis, as reflected in many analysis techniques that are efficient but do not provide a practically useful level of precision and those that are usefully precise but at unacceptable cost. To dynamic analysis of distributed software, these challenges are exacerbated because of the typically large code size and greater complexity of those software systems, in addition to unbounded execution information as a result of the fact that distributed systems commonly run as continuous (uninterrupted) services. This project will address these challenges by investigating self-adaptive dynamic analysis, a fundamentally new paradigm of dynamic program analysis, which continuously adapts its cost and effectiveness to the optimal tradeoff within user-specified budget bounds. The state of the art in dynamic analysis will be significantly advanced by this new paradigm and its superior scalability and cost-effectiveness optimality, especially in the challenging context of distributed software.

This project will develop the foundational underpinning of self-adaptive dynamic analysis, including (1) the formulation of an integrated dynamic analysis infrastructure featured by hybrid dependence modeling and a built-in cost-benefit model, and (2) the design of self-adaptive and distributed dynamic-analysis algorithms focusing on dependence abstraction as empowered by the infrastructure and guided by the cost-benefit model. Compared to conventional dynamic analysis, which commonly adopts a fixed algorithmic configuration throughout the entire analysis, the studied framework exploits differences in the complexity, and accordingly those in the analysis overheads (for the same level of precision), of different regions of programs and different segments of program executions. These differences will be sensed through various monitoring utilities in the infrastructure and leveraged to adjust the algorithmic configuration (e.g., granularity and selection of the dynamic data used by the analysis). With intelligent uses of assorted program information and analysis configurations, the new framework will provide flexible cost-effectiveness balances to meet diverse budgetary needs. Meanwhile, it will attain high scalability through automatic, distributed control of the distributed analysis. By making smart decisions at runtime, the analysis will achieve and sustain optimal cost-benefit tradeoffs with respect to given constraints (e.g., resources limits) and changing run-time environment conditions during continuous system executions.

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.

Project Start
Project End
Budget Start
2019-08-01
Budget End
2022-07-31
Support Year
Fiscal Year
2019
Total Cost
$150,000
Indirect Cost
Name
Washington State University
Department
Type
DUNS #
City
Pullman
State
WA
Country
United States
Zip Code
99164