• Publications
  • Influence
Learning from mistakes: a comprehensive study on real world concurrency bug characteristics
TLDR
This study carefully examined concurrency bug patterns, manifestation, and fix strategies of 105 randomly selected real world concurrency bugs from 4 representative server and client open-source applications and reveals several interesting findings that provide useful guidance for concurrency Bug detection, testing, and concurrent programming language design. Expand
PR-Miner: automatically extracting implicit programming rules and detecting violations in large software code
TLDR
This paper proposes a general method called PR-Miner that uses a data mining technique called frequent itemset mining to efficiently extract implicit programming rules from large software code written in an industrial programming language such as C, requiring little effort from programmers and no prior knowledge of the software. Expand
LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks
TLDR
This paper proposes a low overhead, software-only information flow tracking system, called LIFT, which minimizes run-time overhead by exploiting dynamic binary instrumentation and optimizations/or detecting various types of security attacks without requiring any hardware changes. Expand
CP-Miner: finding copy-paste and related bugs in large-scale software code
TLDR
This paper proposes a tool, CP-Miner, that uses data mining techniques to efficiently identify copy-pasted code in large software suites and detects copy-paste bugs and has detected many new bugs in popular operating systems. Expand
CTrigger: exposing atomicity violation bugs from their hiding places
TLDR
CTrigger focuses on a special type of interleavings that are inherently correlated to atomicity violation bugs, and uses trace analysis to systematically identify (likely) feasible unserializable interleAVings with low occurrence-probability that are exposed in large programs. Expand
Characterizing logging practices in open-source software
TLDR
This study quantitatively shows that software logging is pervasive and provides several interesting findings on where developers spend most of their efforts in modifying the log messages, which can give insights for programmers, tool developers, and language and compiler designers to improve the current logging practice. Expand
Performance evaluation of two home-based lazy release consistency protocols for shared virtual memory systems
TLDR
Overlapped Home-based LRC takes advantage of the communication processor found on each node of the Paragon to take advantage of some of the protocol overhead of HLRC from the critical path followed by the compute processor, and it is shown that OHLRC provides modest improvements over HLRC. Expand
Hibernator: helping disk arrays sleep through the winter
TLDR
This paper describes the Hibernator design, and presents evaluations of it using both trace-driven simulations and a hybrid system comprised of a real database server (IBM DB2) and an emulated storage server with multi-speed disks. Expand
PRES: probabilistic replay with execution sketching on multiprocessors
TLDR
A novel technique called PRES (probabilistic replay via execution sketching) is proposed to help reproduce concurrency bugs on multi-processors and significantly lowered the production-run recording overhead of previous approaches, while still reproducing most tested bugs in fewer than 10 replay attempts. Expand
C-Miner: Mining Block Correlations in Storage Systems
TLDR
C-Miner is proposed, an algorithm which uses a data mining technique called frequent sequence mining to discover block correlations in storage systems and runs reasonably fast with feasible space requirement, indicating that it is a practical tool for dynamically inferring correlations in a storage system. Expand
...
1
2
3
4
5
...