DocumentCode
2208212
Title
Depiction and playout of multi-threaded program executions
Author
Roychoudhury, Abhik
Author_Institution
Sch. of Comput., National Univ. of Singapore, Singapore
fYear
2003
fDate
6-10 Oct. 2003
Firstpage
331
Lastpage
336
Abstract
Execution of a shared memory multi-threaded program is non-deterministic even for a fixed input. Consequently, a limited amount of the program behavior should be traced and recorded during run-time. However, if the tracing overheads are too high, we have the risk of slowing down the program considerably and even distorting the program behavior. In this paper, we propose to collect and store only the synchronization dependencies during run-time. These dependences are visualized as a message sequence chart (MSC). We do not record the data dependences across threads resulting from unsynchronized reads and writes of a shared variable. Instead all possible orderings of unsynchronized reads/writes are analyzed post-mortem. To describe all these behaviors, we use an important extension of message sequence charts called live sequence charts (LSC). Our MSC/LSC based description of a multi-threaded program execution can be simulated in an automated manner. This can help in understanding program behavior.
Keywords
automatic programming; multi-threading; program diagnostics; shared memory systems; synchronisation; LSC based description; MSC based description; live sequence charts; message sequence chart; multithreaded program execution; post-mortem playout; program behavior; run-time synchronization dependences; tracing overheads; Data visualization; Debugging; Multiprocessing systems; Read-write memory; Runtime; Software engineering; Yarn;
fLanguage
English
Publisher
ieee
Conference_Titel
Automated Software Engineering, 2003. Proceedings. 18th IEEE International Conference on
ISSN
1938-4300
Print_ISBN
0-7695-2035-9
Type
conf
DOI
10.1109/ASE.2003.1240332
Filename
1240332
Link To Document