Debugging Concurrent Software: A Study Using Multithreaded Sequence Diagrams

Visual Languages and Human-Centric Computing(2010)

引用 6|浏览0
暂无评分
摘要
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.
更多
查看译文
关键词
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,UML sequence diagrams,concurrent software,empirical software engineering
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要