Skip to main content

Testing of Execution of Concurrent Processes

Part of the Communications in Computer and Information Science book series (CCIS,volume 1243)

Abstract

Authors propose an algorithm for analysis of business processes to detect potentially incorrect results of concurrent processes execution. Our novel approach is to conclude necessary database isolation level from business process description. If traditional languages with loops and arithmetic operations (two-way counters) are used for business process descriptions, the problem of detecting incorrect execution of concurrent processes cannot be algorithmically solved. This paper introduces a simplified business processes description language CPL-1, a transaction mechanism and an algorithm that supports detection of incorrect results during the concurrent execution of business processes. Business processes are often run concurrently in real world tasks like billing systems, ticket distribution, hotel reservations, etc. Currently there are some popular solutions preventing incorrect execution of concurrent business processes by using built-in transaction mechanisms and/or resource reservations in database management systems (DBMS). The proposed solution is an alternative, which can be used when resource locking or DBMS transaction mechanisms cannot be applied.

Keywords

  • Concurrent transactions
  • Symbolic execution
  • Transaction execution state

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-030-57672-1_20
  • Chapter length: 15 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   69.99
Price excludes VAT (USA)
  • ISBN: 978-3-030-57672-1
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   89.99
Price excludes VAT (USA)

References

  1. Mcdowell, C., Helmold, D.: Debugging concurrent programs. ACM Comput. Surv. 21(4), 593–622 (1989)

    CrossRef  Google Scholar 

  2. Tai, K., Carver, R.: Testing of distributed programs (chap. 33). In: Zomaya, A. (ed.) Parallel and Distributed Computing Handbook. McGraw-Hill, New York (1996)

    Google Scholar 

  3. Auziņš, A., Bārzdiņš, J., Bičevskis, J., Čerāns, K., Kalniņš, A.: Automatic construction of test sets: theoretical approach. In: Bārzdinš, J., Bjørner, D. (eds.) Baltic Computer Science. LNCS, vol. 502, pp. 286–359. Springer, Heidelberg (1991). https://doi.org/10.1007/BFb0019362

    CrossRef  Google Scholar 

  4. Barzdin, J.M., Bičevskis, J.J., Kalninsh, A.A.: Construction of complete sample system for correctness testing. In: Bečvář, J. (ed.) MFCS 1975. LNCS, vol. 32, pp. 1–12. Springer, Heidelberg (1975). https://doi.org/10.1007/3-540-07389-2_178

    CrossRef  Google Scholar 

  5. Cadar, C., Koushnik, S.: Symbolic execution for software testing: three decades later. Commun. ACM 56, 82–90 (2013)

    CrossRef  Google Scholar 

  6. Bianchi, F., Margara, A., Pezz, M.: A survey of recent trends in testing concurrent software systems. IEEE Trans. Softw. Eng. 44(8), 747–783 (2018)

    CrossRef  Google Scholar 

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

    CrossRef  Google Scholar 

  8. Musuvathi, M., Qadeer, C., Ball, T.: CHESS: a systematic testing tool for concurrent software. In: Microsoft Research Technical Report MSR-TR-2007-149 (2007)

    Google Scholar 

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

    Google Scholar 

  10. 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, 855–889 (2017). https://doi.org/10.1007/s11219-017-9385-3

    CrossRef  Google Scholar 

  11. Cai, S., Gallina, B., Nyström, D., Seceleanu, C.: Effective test suite design for detecting concurrency control faults in distributed transaction systems. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11246, pp. 355–374. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03424-5_24

    CrossRef  Google Scholar 

  12. Chays, D., Deng, Y., Frankl, P.G., Dan, S., Vokolos, F., Weyuker, E.: An AGENDA for testing relational database applications. J. Softw.: Test. Verif. Reliab. 14, 17–44 (2004)

    Google Scholar 

  13. Hwang, G.H., Chang, S.J., Chu, H.D.: Technology for testing nondeterministic client/server database applications. IEEE Trans. Software Eng. 30(1), 2004 (2004)

    Google Scholar 

  14. Lin, C.S., Hwang, G.H.: State-cover testing for nondeterministic terminating concurrent programs with an infinite number of synchronization sequences. Sci. Comput. Program. 78, 1294–1323 (2013)

    CrossRef  Google Scholar 

  15. Li, C., Csallner, C.: Dynamic symbolic database application testing. In: DBTest 2010, 7 June 2010 (2010)

    Google Scholar 

  16. Marinescu, R., Seceleanu, C., Le Guen, H., Pettersson, P.: A research overview of tool supported model-based testing of requirements-based designs. In: Advances in Computers, vol. 98, pp 89–140 (2015)

    Google Scholar 

Download references

Acknowledgments

The research leading to these results has received funding from the research project “Competence Centre of Information and Communication Technologies” of EU Structural funds, contract No. 1.2.1.1/18/A/003 signed between IT Competence Centre and Central Finance and Contracting Agency, Research No. 1.6 “Concurrence analysis in business process models”.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Girts Karnitis .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Verify currency and authenticity via CrossMark

Cite this paper

Bicevskis, J., Karnitis, G. (2020). Testing of Execution of Concurrent Processes. In: Robal, T., Haav, HM., Penjam, J., Matulevičius, R. (eds) Databases and Information Systems. DB&IS 2020. Communications in Computer and Information Science, vol 1243. Springer, Cham. https://doi.org/10.1007/978-3-030-57672-1_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-57672-1_20

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-57671-4

  • Online ISBN: 978-3-030-57672-1

  • eBook Packages: Computer ScienceComputer Science (R0)