A UML/MARTE model analysis method for uncovering scenarios leading to starvation and deadlocks in concurrent systems

Marwa Shousha, Lionel Briand, Yvan Labiche

Research output: Contribution to journalArticlepeer-review

Abstract

Concurrency problems such as starvation and deadlocks should be identified early in the design process. As larger, more complex concurrent systems are being developed, this is made increasingly difficult. We propose here a general approach based on the analysis of specialized design models expressed in the Unified Modeling Language (UML) that uses a specifically designed genetic algorithm to detect concurrency problems. Though the current paper addresses deadlocks and starvation, we will show how the approach can be easily tailored to other concurrency issues. Our main motivations are 1) to devise solutions that are applicable in the context of the UML design of concurrent systems without requiring additional modeling and 2) to use a search technique to achieve scalable automation in terms of concurrency problem detection. To achieve the first objective, we show how all relevant concurrency information is extracted from systems' UML models that comply with the UML Modeling and Analysis of Real-Time and Embedded Systems (MARTE) profile. For the second objective, a tailored genetic algorithm is used to search for execution sequences exhibiting deadlock or starvation problems. Scalability in terms of problem detection is achieved by showing that the detection rates of our approach are, in general, high and are not strongly affected by large increases in the size of complex search spaces.

Original languageEnglish
Article number5661791
Pages (from-to)354-374
Number of pages21
JournalIEEE Transactions on Software Engineering
Volume38
Issue number2
DOIs
Publication statusPublished - 2012
Externally publishedYes

Keywords

  • concurrent systems
  • deadlock
  • genetic algorithms
  • MARTE
  • MDD
  • model analysis
  • Search-based software engineering
  • starvation
  • UML

Fingerprint

Dive into the research topics of 'A UML/MARTE model analysis method for uncovering scenarios leading to starvation and deadlocks in concurrent systems'. Together they form a unique fingerprint.

Cite this