ACM Home Page
Please provide us with feedback. Feedback
Efficient program execution indexing
Full text PdfPdf (349 KB)
Source
Conference on Programming Language Design and Implementation archive
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation table of contents
Tucson, AZ, USA
SESSION: Session VIII table of contents
Pages 238-248  
Year of Publication: 2008
ISBN:978-1-59593-860-2
Also published in ...
Authors
Bin Xin  Purdue University, West Lafayette, IN, USA
William N. Sumner  Purdue University, West Lafayette, IN, USA
Xiangyu Zhang  Purdue University, West Lafayette, IN, USA
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 17,   Downloads (12 Months): 175,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1375581.1375611
What is a DOI?

ABSTRACT

Execution indexing uniquely identifies a point in an execution. Desirable execution indices reveal correlations between points in an execution and establish correspondence between points across multiple executions. Therefore, execution indexing is essential for a wide variety of dynamic program analyses, for example, it can be used to organize program profiles; it can precisely identify the point in a re-execution that corresponds to a given point in an original execution and thus facilitate debugging or dynamic instrumentation. In this paper, we formally define the concept of execution index and propose an indexing scheme based on execution structure and program state. We present a highly optimized online implementation of the technique. We also perform a client study, which targets producing a failure inducing schedule for a data race by verifying the two alternative happens-before orderings of a racing pair. Indexing is used to precisely locate corresponding points across multiple executions in the presence of non-determinism so that no heavyweight tracing/replay system is needed.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Apache bug. http://issues.apache.org/bugzilla/show bug.cgi?id=25520.
 
2
MySQL bug. http://bugs.mysql.com/bug.php?id=791.
3
4
 
5
6
 
7
8
 
9
L. Guo, A. Roychoudhury, and T. Wang. Accurately choosing execution runs for software fault localization. In 15th International Conference on Compiler Construction, pages 80--95, Vienna, Austria, 2006.
 
10
11
12
13
 
14
15
16
 
17
L. Van Put, D. Chanet, B. De Bus, B. De Sutter, and K. De Bosschere. DIABLO: a reliable, retargetable and extensible link-time rewriting framework. In Proceedings of the 2005 IEEE International Symposium On Signal Processing And Information Technology, pages 7--12, Athens, Greece, December 2005. IEEE.
18
 
19
20
21
22
23
24


Collaborative Colleagues:
Bin Xin: colleagues
William N. Sumner: colleagues
Xiangyu Zhang: colleagues