Runtime Safety Analysis of Multithreaded Programs

Koushik Sen, Grigore Roşu, Gul Agha

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Foundational and scalable techniques for runtime safety analysis of multithreaded programs are explored in this paper. A technique based on vector clocks to extract the causal dependency order on state updates from a running multithreaded program is presented, together with algorithms to analyze a multithreaded computation against safety properties expressed using temporal logics. A prototype tool implementing our techniques, is also presented, together with examples where it can predict safety errors in multithreaded programs from successful executions of those programs. This tool is called Java MultiPathExplorer (JMPaX), and available for download on the web. To the best of our knowledge, JMPaX is the first tool of its kind.

Original languageEnglish (US)
Title of host publicationProceedings of the Joint 9th European Software Engineering Conference (ESEC) and 11th SIGSOFT Symposium on the Foundations of Software Engineering (FSE-11)
PublisherAssociation for Computing Machinery
Pages337-346
Number of pages10
ISBN (Print)1581137435, 9781581137439
DOIs
StatePublished - 2003
EventProceedings of the Joint 9th European Software Engineering Conference (ESEC) and 11th SIGSOFT Symposium on the Foundations of Software Engineering (FSE-11) - Helsinki, Iceland
Duration: Sep 1 2003Sep 5 2003

Publication series

NameProceedings of the Joint European Software Engineering Conference (ESEC) and SIGSOFT Symposium on the Foundations of Software Engineering (FSE-11)

Other

OtherProceedings of the Joint 9th European Software Engineering Conference (ESEC) and 11th SIGSOFT Symposium on the Foundations of Software Engineering (FSE-11)
CountryIceland
CityHelsinki
Period9/1/039/5/03

Keywords

  • JMPaX
  • Java
  • LTL
  • Multithreaded program
  • Predictive analysis
  • Runtime monitoring
  • Safety analysis
  • Vector clock

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'Runtime Safety Analysis of Multithreaded Programs'. Together they form a unique fingerprint.

Cite this