Efficient Transaction-Based Deterministic Replay for Multi-threaded Programs
Existing replay techniques record inter-thread access event orders on shared memory locations to facilitate replay. Some techniques propose strategies to reduce the recorded events often at the expense of deterministic trace reproduction. We propose a technique based on the division of a thread’s execution trace into sequential code blocks called transactions. Our insight is that there are usually few to no atomicity violations reported during a program execution. Based on our insight, we present TPLAY, a novel deterministic replay technique which records thread access interleavings on shared memory locations at a transactional level. TPLAY also generates an artificial pair of interleavings when an atomicity violation is reported on a transaction. We present an experiment and analyze the results of our experiment using the Splash2x extension of the PARSEC benchmark suite. The experimental results indicate that on average, TPLAY experiences a 13-fold improvement in record log sizes and achieves 98% replay probability on subject programs in comparison to existing work.
Thu 14 Nov
10:40 - 11:00 Talk | MAP-Coverage: a Novel Coverage Criterion for Testing Thread-Safe Classes Zan WangCollege of Intelligence and Computing, Tianjin University, Yingquan ZhaoCollege of Intelligence and Computing, Tianjin University, Shuang LiuCollege of Intelligence and Computing, Tianjin University, Jun SunSingapore Management University, Singapore, Xiang ChenSchool of Information Science and Technology, Nantong University, Huarui LinCollege of Intelligence and Computing, Tianjin University | |||||||||||||||||||||||||||||||||||||||||
11:00 - 11:20 Talk | Automating Non-Blocking Synchronization In Concurrent Data Abstractions Jiange ZhangUniversity of Colorado Colorado Springs, Qing YiUniversity of Colorado Colorado Springs, Damian DechevUniversity of Central Florida Pre-print | |||||||||||||||||||||||||||||||||||||||||
11:20 - 11:40 Talk | Automating CUDA Synchronization via Program Transformation Mingyuan WuSouthern University of Science and Technology, Lingming ZhangThe University of Texas at Dallas, Cong LiuEindhoven University of Technology, Shin Hwei TanSouthern University of Science and Technology, Yuqun ZhangSouthern University of Science and Technology | |||||||||||||||||||||||||||||||||||||||||
11:40 - 12:00 Talk | Efficient Transaction-Based Deterministic Replay for Multi-threaded Programs Ernest Bota PobeeCity University of Hong Kong, Xiupei MeiCity University of Hong Kong, Wing-Kwong ChanCity University of Hong Kong, Hong Kong | |||||||||||||||||||||||||||||||||||||||||
12:00 - 12:10 Demonstration | VeriSmart 2.0: Swarm-Based Bug-Finding for Multi-Threaded Programs with Lazy-CSeq Bernd FischerStellenbosch University, Salvatore La TorreUniversità degli Studi di Salerno, Gennaro ParlatoUniversity of Molise | |||||||||||||||||||||||||||||||||||||||||
12:10 - 12:20 Demonstration | ConVul: An Effective Tool for Detecting Concurrency Vulnerabilities Ruijie MengUniversity of Chinese Academy of Sciences, Biyun ZhuUniversity of Chinese Academy of Sciences, Hao YunUniversity of Chinese Academy of Sciences, Haicheng LiUniversity of Chinese Academy of Sciences, Yan CaiInstitute of Software, Chinese Academy of Sciences, Zijiang YangWestern Michigan University |