Skip to main content

A UML/MARTE Model Analysis Method for Detection of Data Races in Concurrent Systems

  • Conference paper
Model Driven Engineering Languages and Systems (MODELS 2009)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5795))

Abstract

The earlier concurrency problems are identified, the less costly they are to fix. As larger, more complex concurrent systems are developed, early detection of problems is made increasingly difficult. We have developed a general approach meant to be used in the context of Model Driven Development. Our approach is based on the analysis of design models expressed in the Unified Modeling Language (UML) and uses specifically designed genetic algorithms to detect concurrency problems. Our main motivation is to devise practical solutions that are applicable in the context of UML design of concurrent systems without requiring additional modeling. All relevant concurrency information is extracted from UML models that comply with the UML Modeling and Analysis of Real-Time and Embedded Systems (MARTE) profile. Our approach was shown to work for both deadlocks and starvation. The current paper addresses data race detection, further illustrating how our approach can be tailored to other concurrency issues. Results on a case study inspired from the Therac-25 radiation machine show that our approach is effective in the detection of data races.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Chen, L.: The Challenge of Race Conditions in Parallel Programming. Sun Developer Network, Sun Microsystems, http://developers.sun.com/solaris/articles/raceconditions.html

  2. Lei, B., Wang, L., Li, X.: UML Activity Diagram Based Testing of Java Concurrent Programs for Data Race and Inconsistency. In: 1st International Conference on Software Testing, Verification and Validation, pp. 200–209. IEEE Press, Los Alamitos (2008)

    Google Scholar 

  3. Petriu, D.C.: Performance analysis with the SPT profile. In: Gerard, S., Babau, J., Champeau, J. (eds.) Model-Driven Engineering of Distributed and Embedded Systems, pp. 205–224. Wiley-ISTE (2005)

    Google Scholar 

  4. Leveson, N.: Safeware: System Safety and Computers. Addison-Wesley, Reading (1995)

    Google Scholar 

  5. Demathieu, S., Thomas, F., Andre, C., Gerard, S., Terrier, F.: First experiments using the UML profile for MARTE. In: 11th IEEE International Symposium on Object Oriented Real-Time Distributed Computing, pp. 50–57. The Printing House (2008)

    Google Scholar 

  6. Mradiha, C., Tanguy, Y., Jouvray, C., Terrier, F., Gerard, S.: An execution framework for MARTE-based models. In: 13th IEEE International Conference on Engineering of Complex Computer Systems, pp. 222–227. The Printing House (2008)

    Google Scholar 

  7. Downey, A.B.: The Little Book of Semaphores, 2nd edn. Green Tea Press (2005)

    Google Scholar 

  8. Flanagan, C., Freund, S.N.: Type-Based Race Detection for Java. ACM SIGPLAN Notices 35(5), 219–232 (2000)

    Article  Google Scholar 

  9. Flanagan, C., Rustan, K., Leino, M., Lillibridge, M., Nelson, G., Saxe, J.B., Stata, R.: Extended Static Checker for Java. ACM SIGPLAN Notices 37(5), 234–245 (2002)

    Article  Google Scholar 

  10. Haupt, R.L., Haupt, S.E.: Practical genetic algorithms. Wiley, Chichester (1998)

    MATH  Google Scholar 

  11. Abadi, M., Flanagan, C., Freund, S.N.: Types for Safe Locking: Static Race Detection for Java. ACM TOPLAS 28(2), 207–255 (2006)

    Article  Google Scholar 

  12. OMG: Unified Modeling Language (UML). Version 2.1.2, http://www.omg.org/cgi-bin/doc?formal/09-02-02.pdf

  13. Shousha, M., Briand, L.C., Labiche, Y.: A UML/MARTE Model Analysis Methodology for Detection of Starvation and Deadlocks in Concurrent Systems. Technical Report SCE-09-01. Carleton University, Canada (2009)

    Google Scholar 

  14. Kahlon, V., Yang, Y., Sankaranarayanan, S., Gupta, A.: Fast and Accurate Static Data-Race Detection for Concurrent Programs. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 226–239. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  15. Kleppe, A., Warmer, J., Bast, W.: MDA Explained - The Model Driven Architecture: Practice and Promise. Addison-Wesley, Reading (2003)

    Google Scholar 

  16. Back, T.: Self-adaptation in genetic algorithms. In: Proceedings of European Conference on Artificial Life, pp. 263–271. MIT Press, Cambridge (1992)

    Google Scholar 

  17. Mahfoud, S.W., Goldberg, D.E.: Parallel recombinative simulated annealing: a genetic algorithm. Parallel Computing 21(1), 1–28 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  18. Koza, J.R.: Genetic programming: on the programming of computers by means of natural selection. MIT Press, Cambridge (1992)

    MATH  Google Scholar 

  19. OMG: UML Profile for Modeling and Analysis of Real-time and Embedded Systems, http://www.omg.org/cgi-bin/apps/doc?ptc/08-06-08.pdf

  20. Chugh, R., Voung, J.W., Jhala, R., Lerner, S.: Dataflow Analysis for Concurrent Programs Using Datarace Detection. In: ACM PLDI, pp. 316–326. ACM, New York (2008)

    Chapter  Google Scholar 

  21. Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., Anderson, T.: Eraser: A Dynamic Data Race Detector for Multithreaded Programs. ACM TOCS 15(4), 391–411 (1997)

    Article  Google Scholar 

  22. Brat, G., Havelund, K., Park, S., Visser, W.: Java Pathfinder Second Generation of a Java Model Checker. In: Proceedings of Workshop on Advances in Verification (2000)

    Google Scholar 

  23. Shousha, M., Briand, L., Labiche, Y.: A UML/SPT model analysis methodology for concurrent systems based on genetic algorithms. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 475–489. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  24. OMG: UML Profile for Schedulability, Performance and Time Specification, http://www.omg.org/docs/formal/05-01-02.pdf

  25. Ali, S., Briand, L.C., Hemmati, H., Panesar-Walawege, R.K.: A Systematic Review of the Application and Empirical Investigation of Search-based Test-Case Generation. Technical Report Simula. SE. 293. Simula Research Laboratory, Norway (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Shousha, M., Briand, L.C., Labiche, Y. (2009). A UML/MARTE Model Analysis Method for Detection of Data Races in Concurrent Systems. In: Schürr, A., Selic, B. (eds) Model Driven Engineering Languages and Systems. MODELS 2009. Lecture Notes in Computer Science, vol 5795. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04425-0_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-04425-0_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-04424-3

  • Online ISBN: 978-3-642-04425-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics