Monitoring Data Structures using Hardware Transactional Memory

Shakeel Butt, Arati Baliga, Vinod Ganapathy, Mihai Christodorescu.

Rutgers University, Department of Computer Science Technical Report 662; Piscataway, New Jersey, filed December 2009, revised February 2011.

The robustness of software systems is adversely affected by programming errors and security exploits that corrupt heap data structures. In this paper, we present the design and implementation of TxMon, a system to detect such data structure corruptions. TxMon leverages the concurrency control machinery implemented by hardware transactional memory (HTM) systems to additionally enforce programmer-specified consistency properties on data structures at runtime. We implemented a prototype version of TxMon using an HTM system (LogTM-SE) and studied the feasibility of applying TxMon to enforce data structure consistency properties on several benchmarks. Our experiments show that TxMon is effective at monitoring data structure properties, imposing tolerable runtime performance overheads.

Technical report: [ PDF ]


Papers page