DocumentCode
3077537
Title
Debugging Concurrent Software: A Study Using Multithreaded Sequence Diagrams
Author
Fleming, Scott D. ; Kraemer, Eileen ; Stirewalt, R.E.K. ; Dillon, Laura K.
fYear
2010
fDate
21-25 Sept. 2010
Firstpage
33
Lastpage
40
Abstract
Concurrent software is notoriously difficult to debug. We investigate the use of UML sequence diagrams to help developers correctly reason about the potential behaviors of buggy concurrent software. We conducted a controlled experiment that compared internal (i.e., "in the head") and external representations for reasoning about multithreaded software. For external representations, participants created multithreaded sequence diagrams. The results of the experiment demonstrate a strong positive effect associated with using external representations. Participants who drew diagrams were significantly more successful at reasoning about the potential behavior of concurrent software. Moreover, participants who produced diagrams with higher levels of detail and with fewer errors tended to achieve greater levels of success. Additionally, this paper contributes an extension to the UML sequence diagram notation for showing behavior of multithreaded software and formal metrics for assessing the complexity of thread interactions.
Keywords
Unified Modeling Language; concurrency control; multi-threading; program debugging; software metrics; UML sequence diagram; concurrent software debugging; formal metrics; multithreaded sequence diagram; multithreaded software; thread interactions complexity; Complexity theory; Context; Instruction sets; Measurement; Unified modeling language; Visualization; UML sequence diagrams; concurrent software; empirical software engineering;
fLanguage
English
Publisher
ieee
Conference_Titel
Visual Languages and Human-Centric Computing (VL/HCC), 2010 IEEE Symposium on
Conference_Location
Leganes
ISSN
1943-6092
Print_ISBN
978-1-4244-8485-0
Type
conf
DOI
10.1109/VLHCC.2010.14
Filename
5635186
Link To Document