Skip to main content
Top
Published in: Cluster Computing 1/2017

09-02-2017

Software model checking for resources race

Authors: Hong Wang, Tao Zhang

Published in: Cluster Computing | Issue 1/2017

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

The difficulty of finding resources race is well known. Such errors are hard to be detected, because they often happen irregularly and reproduce difficultly. Especially, the kind race conflicts exist among processes, threads, and interrupts. This paper provided a novel approach to detect the resources race, namely software model checking. It constructed Boolean program and Promela models for resources race. Furthermore, the Promela models have been tested by using the model checker, SPIN. Software model checking can detect resources race in concurrent program without running, although the program had used timing control or mutual exclusion lock to avoid the race. Furthermore, it can find deadlock also, if the program use the mutual locks in a wrong way.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literature
1.
go back to reference Tchamgoue, G.M., Kim, K.H., Jun, Y.K.: Verification of data races in concurrent interrupt handlers. Int. J. Distrib. Sens. Netw. 2013, 1–15 (2013) Tchamgoue, G.M., Kim, K.H., Jun, Y.K.: Verification of data races in concurrent interrupt handlers. Int. J. Distrib. Sens. Netw. 2013, 1–15 (2013)
2.
go back to reference Banerjee, U., Bliss, B., Ma, Z., Petersen, P.: A theory of data race detection. In: PADTAD-IV ACM, pp. 69–78, Portland (2006) Banerjee, U., Bliss, B., Ma, Z., Petersen, P.: A theory of data race detection. In: PADTAD-IV ACM, pp. 69–78, Portland (2006)
3.
go back to reference Tchamgoue, G.M., Kim, K.H., Jun, Y.K.: Dynamic race detection techniques for interrupt-driven programs. In: FGIT, LNCS 7709, pp. 148–153. Springer, Berlin (2012) Tchamgoue, G.M., Kim, K.H., Jun, Y.K.: Dynamic race detection techniques for interrupt-driven programs. In: FGIT, LNCS 7709, pp. 148–153. Springer, Berlin (2012)
4.
go back to reference Ping, W., Yiyun, C., Jian, Z.: Static data-race detection for multithread programs. J. Comput. Res. Dev. 43, 329–337 (2006)CrossRef Ping, W., Yiyun, C., Jian, Z.: Static data-race detection for multithread programs. J. Comput. Res. Dev. 43, 329–337 (2006)CrossRef
5.
go back to reference Engler, D., Ashcraft, K.: RacerX: effective, static detection of race conditions and deadlocks. In: Proceedings of the SOSP’03, Bolton Landing, New York, USA, October 19–22, pp. 237–252 (2003) Engler, D., Ashcraft, K.: RacerX: effective, static detection of race conditions and deadlocks. In: Proceedings of the SOSP’03, Bolton Landing, New York, USA, October 19–22, pp. 237–252 (2003)
6.
go back to reference Tchamgoue, G.M., Kim, K.H., Jun, Y.K.: Dynamic race detection Techniques for interrupt-driven programs. In: FGIT, :LNCS 7709, pp. 148–153. Springer, Berlin (2012) Tchamgoue, G.M., Kim, K.H., Jun, Y.K.: Dynamic race detection Techniques for interrupt-driven programs. In: FGIT, :LNCS 7709, pp. 148–153. Springer, Berlin (2012)
7.
go back to reference Flanagan, C., Freund, S.N.: FastTrack: efficient and precise dynamic race detection. ACM Sigplan Not. 44, 121–133 (2009)CrossRef Flanagan, C., Freund, S.N.: FastTrack: efficient and precise dynamic race detection. ACM Sigplan Not. 44, 121–133 (2009)CrossRef
8.
go back to reference křena, B., Letko, Z., Tzoref, R.: Healing data races on-the-fly. In: Proceedings of the 2007 ACM workshop on Parallel and distributed systems: testing and debugging, pp. 54–64. ACM (2007) křena, B., Letko, Z., Tzoref, R.: Healing data races on-the-fly. In: Proceedings of the 2007 ACM workshop on Parallel and distributed systems: testing and debugging, pp. 54–64. ACM (2007)
9.
go back to reference Kahlon, V., Sinha, N., Zhang, Y.: Static data race detection for concurrent programs with asynchronous calls. In: ESEC/FSE ’09 Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, pp. 13–22 (2009) Kahlon, V., Sinha, N., Zhang, Y.: Static data race detection for concurrent programs with asynchronous calls. In: ESEC/FSE ’09 Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, pp. 13–22 (2009)
10.
go back to reference Yang, Y., Gringauze, A., Wu, D., Rohde, H.K.: Detecting data race and atomicity violation via typestate-guided static analysis. US Patent 8,510,722 (2013) Yang, Y., Gringauze, A., Wu, D., Rohde, H.K.: Detecting data race and atomicity violation via typestate-guided static analysis. US Patent 8,510,722 (2013)
11.
go back to reference Carr, S., Mayo, J., Shene, C.K.: Race conditions : a case study. J. Comput. Small Coll. 17: 88–102 (2001) Carr, S., Mayo, J., Shene, C.K.: Race conditions : a case study. J. Comput. Small Coll. 17: 88–102 (2001)
12.
go back to reference Clarke, E.M., Emerson, A., Sifakis, J.: Model checking: algorithmic verification and debugging. Commun. ACM 52(11), 74–84 (2007)CrossRef Clarke, E.M., Emerson, A., Sifakis, J.: Model checking: algorithmic verification and debugging. Commun. ACM 52(11), 74–84 (2007)CrossRef
13.
go back to reference Clarke, E.M.: The birth of model checking. 25 Years of Model Checking (2008) Clarke, E.M.: The birth of model checking. 25 Years of Model Checking (2008)
14.
go back to reference Thomas, W.: Computation tree logic and regular omega-languages. J. Linear Time Branch. Time Partial Order Log. Models Concurr. 66(3): 1011–1057 (1989) Thomas, W.: Computation tree logic and regular omega-languages. J. Linear Time Branch. Time Partial Order Log. Models Concurr. 66(3): 1011–1057 (1989)
15.
go back to reference Hammer, M., Knapp, A., Merz, S.: Truly on-the-fly LTL model checking. In: Halbwachs, N., Zuck, L. (eds.), TACAS, LCNS 3440. Springer, Heidelberg (2005) Hammer, M., Knapp, A., Merz, S.: Truly on-the-fly LTL model checking. In: Halbwachs, N., Zuck, L. (eds.), TACAS, LCNS 3440. Springer, Heidelberg (2005)
16.
go back to reference Kupferman, O., Vardi, M.Y.: Model checking of safety properties. J. Form. Methods Syst. Des. 19(3), 291–314 (2001)CrossRefMATH Kupferman, O., Vardi, M.Y.: Model checking of safety properties. J. Form. Methods Syst. Des. 19(3), 291–314 (2001)CrossRefMATH
17.
go back to reference McMillan, K.L.: Parameterized verification of the FLASH cache coherence protocol by compositional model checking. In: CHARME 01: IFIP Working Conference on Correct Hardware Design and Verification Methods: LNCS 2144, pp. 179–195. Springer, Heidelberg (2001) McMillan, K.L.: Parameterized verification of the FLASH cache coherence protocol by compositional model checking. In: CHARME 01: IFIP Working Conference on Correct Hardware Design and Verification Methods: LNCS 2144, pp. 179–195. Springer, Heidelberg (2001)
18.
go back to reference Norman, G., Parker, D., Sproston, J.: Model checking for probabilistic timed automata. J. Form. Methods Syst. Des. 43(2), 164–190 (2013)CrossRefMATH Norman, G., Parker, D., Sproston, J.: Model checking for probabilistic timed automata. J. Form. Methods Syst. Des. 43(2), 164–190 (2013)CrossRefMATH
19.
go back to reference Visser, W.: Model checking programs. In: 15th IEEE International Conference on Automated Software Engineering, pp. 203–232. IEEE Press, New York (2000) Visser, W.: Model checking programs. In: 15th IEEE International Conference on Automated Software Engineering, pp. 203–232. IEEE Press, New York (2000)
20.
go back to reference Ball, T., Levin, V., Rajamani, S.K.: A decade of software model checking with SLAM. Commun. ACM 54(7), 68–76 (2011)CrossRef Ball, T., Levin, V., Rajamani, S.K.: A decade of software model checking with SLAM. Commun. ACM 54(7), 68–76 (2011)CrossRef
21.
go back to reference Cimatti, A., et al.: NuSMV 2: an opensource tool for symbolic model checking. In: International Conference on Computer Aided Verification, pp. 359–364. Springer, Berlin (2010) Cimatti, A., et al.: NuSMV 2: an opensource tool for symbolic model checking. In: International Conference on Computer Aided Verification, pp. 359–364. Springer, Berlin (2010)
22.
go back to reference Holzmann, G.J.: Software model checking with spin. Adv. Comput. 65(05), 77–108 (2005)CrossRef Holzmann, G.J.: Software model checking with spin. Adv. Comput. 65(05), 77–108 (2005)CrossRef
23.
go back to reference Graf, S., Saidi, H.: Construction of abstract state graphs with PVS. In: Proceedings of the Computer-aided Verication (CAV 97), pp. 72–83. Springer, Berlin (1997) Graf, S., Saidi, H.: Construction of abstract state graphs with PVS. In: Proceedings of the Computer-aided Verication (CAV 97), pp. 72–83. Springer, Berlin (1997)
24.
go back to reference Holzmann, G.J., Smith, M.H.: Software model checking: extracting verification models from source code. Softw. Test. Verif. Reliab. 11(2), 481–497 (2001)CrossRef Holzmann, G.J., Smith, M.H.: Software model checking: extracting verification models from source code. Softw. Test. Verif. Reliab. 11(2), 481–497 (2001)CrossRef
25.
go back to reference Cimatti, A., Narasamdya, I., Roveri, M.: Software model checking SystemC. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 32(5), 774–787 (2013)CrossRef Cimatti, A., Narasamdya, I., Roveri, M.: Software model checking SystemC. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 32(5), 774–787 (2013)CrossRef
26.
go back to reference Visser, W., Corina, S.P., Khurshid, S.: Test Input Generation with Java PathFinder. ISSTA’04. Boston. Massachusetts, USA (2004) Visser, W., Corina, S.P., Khurshid, S.: Test Input Generation with Java PathFinder. ISSTA’04. Boston. Massachusetts, USA (2004)
27.
go back to reference Holzmann, G.J.: SPIN Model Checker. The Primer and Reference Manual. Addison-Wesley Professional, Los Angeles (2003) Holzmann, G.J.: SPIN Model Checker. The Primer and Reference Manual. Addison-Wesley Professional, Los Angeles (2003)
Metadata
Title
Software model checking for resources race
Authors
Hong Wang
Tao Zhang
Publication date
09-02-2017
Publisher
Springer US
Published in
Cluster Computing / Issue 1/2017
Print ISSN: 1386-7857
Electronic ISSN: 1573-7543
DOI
https://doi.org/10.1007/s10586-017-0757-z

Other articles of this Issue 1/2017

Cluster Computing 1/2017 Go to the issue

Premium Partner