JThreadSpy: A Tool for Improving the Effectiveness of Concurrent System Teaching and Learning

  • Authors:
  • Giovanni Malnati;Caterina Maria Cuva;Claudia Barberis

  • Affiliations:
  • -;-;-

  • Venue:
  • CSSE '08 Proceedings of the 2008 International Conference on Computer Science and Software Engineering - Volume 05
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Both teaching and learning multithreaded programming are complex tasks, due to the abstraction of the concepts, the non-determinism of the scheduler, the impossibility of using classical strategies adopted in procedural programming and the need to develop a practical vision of concurrency problems. In order to overcome these difficulties we developed JThreadSpy, an educational tool that collects execution traces and displays them with a selectable level of detail using an augmented UML sequence diagram, thus providing a synoptic representation of the execution. In this article, we show the experimental results about the effectiveness of using JThreadSpy in undergraduate and graduate courses, explaining how it helps students to solve concurrency problems. JThreadSpy is also useful in the teaching process, because it can concretely show some malicious programming patterns that lead to race conditions or deadlocks.