@gron

RClassify: Classifying Race Conditions in Web Applications via Deterministic Replay

, and . Proceedings of the 39th International Conference on Software Engineering, page 278--288. Piscataway, NJ, USA, IEEE Press, (2017)
DOI: 10.1109/ICSE.2017.33

Abstract

Race conditions are common in web applications but are difficult to diagnose and repair. Although there exist tools for detecting races in web applications, they all report a large number of false positives. That is, the races they report are either bogus, meaning they can never occur in practice, or benign, meaning they do not lead to erroneous behaviors. Since manually diagnosing them is tedious and error prone, reporting these race warnings to developers would be counter-productive. We propose a platform-agnostic, deterministic replay-based method for identifying not only the real but also the truly harmful race conditions. It relies on executing each pair of racing events in two different orders and assessing their impact on the program state: we say a race is harmful only if (1) both of the two executions are feasible and (2) they lead to different program states. We have evaluated our evidence-based classification method on a large set of real websites from Fortune-500 companies and demonstrated that it significantly outperforms all state-of-the-art techniques.

Description

RClassify

Links and resources

Tags

community

  • @gron
  • @dblp
@gron's tags highlighted