Run-time fault detection in monitor based concurrent programming

Jiannong Cao, Nick K.C. Cheung, Alvin T.S. Chan

Research output: Chapter in book / Conference proceedingConference article published in proceeding or bookAcademic researchpeer-review

1 Citation (Scopus)

Abstract

The monitor concept provides a structured and flexible high-level programming construct to control concurrent accesses to shared resources. It has been widely used in a concurrent programming environment for implicitly ensuring mutual exclusion and explicitly achieving process synchronization. This paper proposes an extension to the monitor construct for detecting run time errors in monitor operations. Monitors are studied and classified according to their functional characteristics. A taxonomy of concurrency control faults over a monitor is then defined. The concepts of a monitor event sequence and a monitor state sequence provide a uniform approach to history information recording and fault detection. Rules for detecting various types of faults are defined. Based on these rules, fault detection algorithms are developed. A prototypical implementation of the proposed monitor construct with run-time fault detection mechanisms has been developed in Java. We shall briefly report our experience with and the evaluation of the robust monitor prototype.
Original languageEnglish
Title of host publicationProceedings of the International Conference on Dependable Systems and Networks
Pages357-366
Number of pages10
DOIs
Publication statusPublished - 1 Dec 2001
EventProceedings of the International Conference on Dependable Systems and Networks - Goteborg, Sweden
Duration: 1 Jul 20014 Jul 2001

Conference

ConferenceProceedings of the International Conference on Dependable Systems and Networks
Country/TerritorySweden
CityGoteborg
Period1/07/014/07/01

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture
  • Computer Networks and Communications

Fingerprint

Dive into the research topics of 'Run-time fault detection in monitor based concurrent programming'. Together they form a unique fingerprint.

Cite this