Skip to main content

Effective Test Suite Design for Detecting Concurrency Control Faults in Distributed Transaction Systems

  • Conference paper
  • First Online:
Leveraging Applications of Formal Methods, Verification and Validation. Distributed Systems (ISoLA 2018)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11246))

Included in the following conference series:

Abstract

Concurrency control faults may lead to unwanted interleavings, and breach data consistency in distributed transaction systems. However, due to the unpredictable delays between sites, detecting concurrency control faults in distributed transaction systems is difficult. In this paper, we propose a methodology, relying on model-based testing and mutation testing, for designing test cases in order to detect such faults. The generated test inputs are designated delays between distributed operations, while the outputs are the occurrence of unwanted interleavings that are consequences of the concurrency control faults. We mutate the distributed transaction specification with common concurrency control faults, and model them as UPPAAL timed automata, in which designated delays are encoded as stopwatches. Test cases are generated via reachability analysis using UPPAAL Model Checker, and are selected to form an effective test suite. Our methodology can reduce redundant test cases, and find the appropriate delays to detect concurrency control faults effectively.

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

Notes

  1. 1.

    We used the online Z3 tool provided by Microsoft (https://rise4fun.com/z3) in this running example. The time to resolve the constraints was less than one second.

References

  1. Adya, A., Liskov, B., O’Neil, P.: Generalized isolation level definitions. In: Proceedings of the 16th ICDE, pp. 67–78 (2000)

    Google Scholar 

  2. Alur, R., Dill, D.L.: A theory of timed automata. Theor. Comput. Sci. 126(2), 183–235 (1994)

    Article  MathSciNet  Google Scholar 

  3. Bernstein, P.A., Goodman, N.: Concurrency control in distributed database systems. ACM Comput. Surv. (CSUR) 13(2), 185–221 (1981)

    Article  MathSciNet  Google Scholar 

  4. Blum, B., Gibson, G.: Stateless model checking with data-race preemption points. In: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 477–493. ACM (2016)

    Google Scholar 

  5. Bradbury, J.S., Cordy, J.R., Dingel, J.: Mutation operators for concurrent Java (J2SE 5.0). In: Second Workshop on Mutation Analysis, p. 11. IEEE (2006)

    Google Scholar 

  6. Cai, S., Gallina, B., Nyström, D., Seceleanu, C.: A formal approach for flexible modeling and analysis of transaction timeliness and isolation. In: Proceedings of the 24th International Conference on Real-Time Networks and Systems, pp. 3–12. ACM (2016)

    Google Scholar 

  7. Cassez, F., Larsen, K.: The impressive power of stopwatches. In: Palamidessi, C. (ed.) CONCUR 2000. LNCS, vol. 1877, pp. 138–152. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44618-4_12

    Chapter  Google Scholar 

  8. Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans. Program. Lang. Syst. (TOPLAS) 8(2), 244–263 (1986)

    Article  Google Scholar 

  9. David, A., Larsen, K.G., Legay, A., Mikučionis, M., Poulsen, D.B.: Uppaal SMC tutorial. Int. J. Softw. Tools Technol. Transf. 17(4), 397–415 (2015)

    Article  Google Scholar 

  10. De Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78800-3_24

    Chapter  Google Scholar 

  11. Deng, Y., Frankl, P., Chen, Z.: Testing database transaction concurrency. In: 18th IEEE International Conference on Automated Software Engineering, Proceedings, pp. 184–193. IEEE (2003)

    Google Scholar 

  12. Deniz, E., Sen, A., Holt, J.: Verification coverage of embedded multicore applications. In: Design, Automation & Test in Europe Conference & Exhibition (DATE), pp. 252–255. IEEE (2012)

    Google Scholar 

  13. Fu, H., Wang, Z., Chen, X., Fan, X.: A systematic survey on automated concurrency bug detection, exposing, avoidance, and fixing techniques. Softw. Qual. J. 26, 1–35 (2017)

    Google Scholar 

  14. Gligoric, M., Jagannath, V., Marinov, D.: MuTMuT: efficient exploration for mutation testing of multithreaded code. In: 2010 Third International Conference on Software Testing, Verification and Validation (ICST), pp. 55–64. IEEE (2010)

    Google Scholar 

  15. Hessel, A., Larsen, K.G., Mikucionis, M., Nielsen, B., Pettersson, P., Skou, A.: Testing real-time systems using UPPAAL. In: Hierons, R.M., Bowen, J.P., Harman, M. (eds.) Formal Methods and Testing. LNCS, vol. 4949, pp. 77–117. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78917-8_3

    Chapter  Google Scholar 

  16. Jia, Y., Harman, M.: An analysis and survey of the development of mutation testing. IEEE Trans. Softw. Eng. 37(5), 649–678 (2011)

    Article  Google Scholar 

  17. Koyachi, N., Sarata, S.: Unmanned loading operation by autonomous wheel loader. In: ICCAS-SICE, 2009, pp. 2221–2225. IEEE (2009)

    Google Scholar 

  18. Kusano, M., Wang, C.: CCmutator: a mutation generator for concurrency constructs in multithreaded C/C++ applications. In: Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering, pp. 722–725. IEEE Press (2013)

    Google Scholar 

  19. Larsen, K.G., Pettersson, P., Wang, Y.: Uppaal in a nutshell. Int. J. Softw. Tools Technol. Transf. (STTT) 1(1), 134–152 (1997)

    Article  Google Scholar 

  20. Lu, S., Park, S., Seo, E., Zhou, Y.: Learning from mistakes: a comprehensive study on real world concurrency bug characteristics. ACM Sigplan Not. 43, 329–339 (2008)

    Google Scholar 

  21. Marinescu, R., Seceleanu, C., Le Guen, H., Pettersson, P.: A research overview of tool-supported model-based testing of requirements-based designs. Adv. Comput. 98, 89–140 (2015)

    Article  Google Scholar 

  22. Musuvathi, M., Qadeer, S., Ball, T., Basler, G., Nainar, P.A., Neamtiu, I.: Finding and reproducing heisenbugs in concurrent programs. In: OSDI, vol. 8, pp. 267–280 (2008)

    Google Scholar 

  23. O’Callahan, R., Choi, J.D.: Hybrid dynamic data race detection. ACM Sigplan Not. 38, 167–178 (2003)

    Google Scholar 

  24. Park, S., Lu, S., Zhou, Y.: CTrigger: exposing atomicity violation bugs from their hiding places. In: ACM SIGARCH Computer Architecture News, vol. 37, pp. 25–36. ACM (2009)

    Google Scholar 

  25. Sen, A., Abadir, M.S.: Coverage metrics for verification of concurrent SystemC designs using mutation testing. In: 2010 IEEE International High Level Design Validation and Test Workshop (HLDVT), pp. 75–81. IEEE (2010)

    Google Scholar 

  26. Sen, K.: Race directed random testing of concurrent programs. ACM SIGPLAN Not. 43(6), 11–21 (2008)

    Article  Google Scholar 

  27. Utting, M., Pretschner, A., Legeard, B.: A taxonomy of model-based testing approaches. Softw. Test. Verif. Reliab. 22(5), 297–312 (2012)

    Article  Google Scholar 

Download references

Acknowledgment

The Swedish Research Council (VR) is gratefully acknowledged for supporting this research by the project “Adequacy-based Testing of Extra-Functional Properties of Embedded Systems”.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Simin Cai .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Cai, S., Gallina, B., Nyström, D., Seceleanu, C. (2018). Effective Test Suite Design for Detecting Concurrency Control Faults in Distributed Transaction Systems. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. Distributed Systems. ISoLA 2018. Lecture Notes in Computer Science(), vol 11246. Springer, Cham. https://doi.org/10.1007/978-3-030-03424-5_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-03424-5_24

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-03423-8

  • Online ISBN: 978-3-030-03424-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics