Automated atomicity-violation fixing

G Jin, L Song, W Zhang, S Lu, B Liblit - Proceedings of the 32nd ACM …, 2011 - dl.acm.org
Fixing software bugs has always been an important and time-consuming process in software
development. Fixing concurrency bugs has become especially critical in the multicore era …

TaxDC: A taxonomy of non-deterministic concurrency bugs in datacenter distributed systems

T Leesatapornwongsa, JF Lukman, S Lu… - Proceedings of the …, 2016 - dl.acm.org
We present TaxDC, the largest and most comprehensive taxonomy of non-deterministic
concurrency bugs in distributed systems. We study 104 distributed concurrency (DC) bugs …

Carat: Collaborative energy diagnosis for mobile devices

AJ Oliner, AP Iyer, I Stoica, E Lagerspetz… - Proceedings of the 11th …, 2013 - dl.acm.org
We aim to detect and diagnose energy anomalies, abnormally heavy battery use. This paper
describes a collaborative black-box method, and an implementation called Carat, for …

Assisting developers of big data analytics applications when deploying on hadoop clouds

W Shang, ZM Jiang, H Hemmati… - 2013 35th …, 2013 - ieeexplore.ieee.org
Big data analytics is the process of examining large amounts of data (big data) in an effort to
uncover hidden patterns or unknown correlations. Big Data Analytics Applications (BDA …

Automated {Concurrency-Bug} Fixing

G Jin, W Zhang, D Deng - … Symposium on Operating Systems Design and …, 2012 - usenix.org
Concurrency bugs are widespread in multithreaded programs. Fixing them is time-
consuming and error-prone. We present CFix, a system that automates the repair of …

{REPT}: Reverse debugging of failures in deployed software

W Cui, X Ge, B Kasikci, B Niu, U Sharma… - … USENIX Symposium on …, 2018 - usenix.org
Debugging software failures in deployed systems is important because they impact real
users and customers. However, debugging such failures is notoriously hard in practice …

Understanding real-world concurrency bugs in go

T Tu, X Liu, L Song, Y Zhang - Proceedings of the twenty-fourth …, 2019 - dl.acm.org
Go is a statically-typed programming language that aims to provide a simple, efficient, and
safe way to build multi-threaded software. Since its creation in 2009, Go has matured and …

Clap: Recording local executions to reproduce concurrency failures

J Huang, C Zhang, J Dolby - Acm Sigplan Notices, 2013 - dl.acm.org
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key
steps. First, it logs thread local execution paths at runtime. Second, offline, it computes …

Failure sketching: A technique for automated root cause diagnosis of in-production failures

B Kasikci, B Schubert, C Pereira, G Pokam… - Proceedings of the 25th …, 2015 - dl.acm.org
Developers spend a lot of time searching for the root causes of software failures. For this,
they traditionally try to reproduce those failures, but unfortunately many failures are so hard …

RaceMob: Crowdsourced data race detection

B Kasikci, C Zamfir, G Candea - Proceedings of the twenty-fourth ACM …, 2013 - dl.acm.org
Some of the worst concurrency problems in multi-threaded systems today are due to data
races---these bugs can have messy consequences, and they are hard to diagnose and fix …