Show simple item record

dc.contributor.authorXie, Shaohua
dc.description.abstractSoftware systems that employ concurrency (e.g. online reservation, e-commerce, banking, brokerage, social networking, and medical systems) are becoming more and more prevalent. For such systems, the safe use of concurrency and synchronization and its optimization are key to success. However, practitioners often find multi-threaded concurrent software systems difficult to design, verify and maintain. Common difficulties inherent in concurrent software include safety, liveness, and non-determinism issues. Our research aims to investigate which aspects of learning about and employing concurrency and synchronization are most difficult and what methods and tools can be used to effectively ameliorate the difficulties. Specifically, this research (1) empirically investigates the challenges encountered by novices engaged in learning about concurrency; (2) empirically evaluates the usability of existing notations, tools, and methods intended to address those challenges; (3) proposes, develops and empirically evaluates new notations and tools; (4) generates a body of reproducible, empirical knowledge that informs improvements in teaching proper use of concurrency and synchronization.
dc.subjectEmpirical studies
dc.subjectSoftware engineering notations
dc.subjectConcurrency and synchronization
dc.titleEvaluating and refining diagrams that support the comprehension of concurrency and synchronization
dc.description.departmentComputer Science
dc.description.majorComputer Science
dc.description.advisorEileen T. Kraemer
dc.description.committeeEileen T. Kraemer
dc.description.committeeMaria Hybinette
dc.description.committeeKrzysztof J. Kochut

Files in this item


There are no files associated with this item.

This item appears in the following Collection(s)

Show simple item record