Using remote logging for teaching concurrency

  • Authors:
  • Steven Robbins

  • Affiliations:
  • University of Texas at San Antonio, San Antonio, TX

  • Venue:
  • SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Students often have difficulty visualizing, understanding and debugging concurrent programs. Programming assignments involving concurrency are also difficult to grade. The output alone is not sufficient because the print statements from cooperating threads or processes can interfere with each other and garble the results. The remote logging tool described here allows multiple processes or threads to atomically log messages to a local or remote host. Different views of the messages are available in real time through a graphical user interface (GUI). The tool consists of two parts, a library for adding logging commands to a user program and a GUI for presenting different views of the logged messages. A separate logging library is needed for each programming language (e.g., C, C++, Java), but a single GUI works with all of these. A C logging library and a general GUI are available on the web.