MDAT: a multithreading debugging and testing tool

  • Authors:
  • Eric Larson;Rochelle Palting

  • Affiliations:
  • Seattle University, Seattle, WA, USA;Seattle University, Seattle, WA, USA

  • Venue:
  • Proceeding of the 44th ACM technical symposium on Computer science education
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

MDAT is a multithreaded testing and debugging tool designed for students learning to program with multiple threads. MDAT automatically generates random schedules to allow students to more thoroughly test their programs. The design of MDAT takes full control over the scheduling allowing a failing run to be reproduced. To assist debugging, MDAT includes an output trace that shows the status of all threads, locks, and semaphores in the program and has an interactive mode that allows students to try out their own schedules. MDAT was effective at detecting deadlock and mutual exclusion violations in student submissions of the unisex restroom problem.