research

Effective Predictive Runtime Analysis Using Sliced Causality and Atomicity

Abstract

Predictive runtime analysis has been proposed to improve the effectiveness of concurrent program analysis and testing. Observing an execution, predictive runtime analysis extracts causality which is then used as the model of the program and checked against desired properties. This way, one can predict concurrent errors without actually hitting them. The causality constructed during the analysis determines the prediction ability of this approach. This paper presents an efficient and sound approach to computing sliced causality and atomicity which significantly but soundly improves existing causalities by removing irrelevant causal partial orders using dependence, relevance, and atomicity information of the program. Algorithms presented in this paper have been implemented and extensively evaluated. The results show that the technique is effective and sound: we found all the previously known bugs as well as unknown errors in popular systems, like the Tomcat webserver and the Apache FTP server, without any false alarms

    Similar works