This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
2010 IEEE Symposium on Visual Languages and Human-Centric Computing
Debugging Concurrent Software: A Study Using Multithreaded Sequence Diagrams
Leganes, Madrid Spain
September 21-September 25
ISBN: 978-0-7695-4206-5
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.
Index Terms:
concurrent software, empirical software engineering, UML sequence diagrams
Citation:
Scott D. Fleming, Eileen Kraemer, R. E. K. Stirewalt, Laura K. Dillon, "Debugging Concurrent Software: A Study Using Multithreaded Sequence Diagrams," vlhcc, pp.33-40, 2010 IEEE Symposium on Visual Languages and Human-Centric Computing, 2010
Usage of this product signifies your acceptance of the Terms of Use.