Seads: Scalable and Cost-Effective Dynamic Dependence Analysis of Distributed Systems via Reinforcement Learning
Wed 25 Aug 2021 21:10 - 21:20 - Analysis—Dynamic Analysis Chair(s): Kexin Pei
Many of distributed software systems are supposed to run continuously. Given their critical roles in our society and daily lives, assuring the quality of distributed systems is crucial. Analyzing run-time program dependencies has long been a fundamental technique underlying numerous tool support for software quality assurance. Yet conventional approaches to dynamic dependence analysis face severe scalability barriers when they are applied to real-world distributed systems, due to the unbounded executions to be analyzed in addition to common efficiency challenges suffered by dynamic analysis in general. In this article, we present Seads, a distributed, online, and cost-effective dynamic dependence analysis framework that aims at scaling the analysis to real-world distributed systems. The analysis itself is distributed to exploit the distributed computing resources (e.g., a cluster) of the system under analysis; it works online to overcome the problem with unbounded execution traces while running continuously with the system being analyzed to provide timely querying of analysis results. Most importantly, given a user-specified time budget, the analysis automatically adjusts itself to better cost-effectiveness trade-offs (than otherwise) while respecting the budget by changing various analysis parameters according to the time being spent by the dependence analysis. At the core of the adjustment is our application of a reinforcement learning method for the decision making—deciding which configuration to adjust to according to the current configuration and its associated analysis cost with respect to the user budget. We have implemented Seads for Java and applied it to eight real-world distributed systems with continuous executions. Our empirical results revealed the efficiency and scalability advantages of our framework over a conventional dynamic analysis, at least for method-level dependence computation at method level.
Wed 25 AugDisplayed time zone: Athens change
09:00 - 10:00 | Analysis—Dynamic AnalysisResearch Papers / Journal First +12h Chair(s): Dimitris Mitropoulos University of Athens, Valerio Terragni University of Auckland | ||
09:00 10mPaper | Efficient Module-Level Dynamic Analysis for Dynamic Languages with Module RecontextualizationDistinguished Paper Award Research Papers Nikos Vasilakis Massachusetts Institute of Technology, Grigoris Ntousakis TU Crete, Veit Heller n.n., Martin C. Rinard Massachusetts Institute of Technology DOI | ||
09:10 10mPaper | Seads: Scalable and Cost-Effective Dynamic Dependence Analysis of Distributed Systems via Reinforcement Learning Journal First Xiaoqin Fu Washington State University, Haipeng Cai Washington State University, USA, Wen Li , Li Li Monash University | ||
09:20 10mPaper | Monotone Precision and Recall Measures for Comparing Executions and Specifications of Dynamic Systems Journal First Artem Polyvyanyy The University of Melbourne, Andreas Solti Vienna University of Economics and Business, Matthias Weidlich Humboldt-Universtität zu Berlin, Claudio Di Ciccio Department of Computer Science, Sapienza University of Rome, Jan Mendling Vienna University of Economics and Business | ||
09:30 30mLive Q&A | Q&A (Analysis—Dynamic Analysis) Research Papers |