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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Mcdowell, C., Helmold, D.: Debugging concurrent programs. ACM Comput. Surv. 21(4), 593–622 (1989)
Tai, K., Carver, R.: Testing of distributed programs (chap. 33). In: Zomaya, A. (ed.) Parallel and Distributed Computing Handbook. McGraw-Hill, New York (1996)
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
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
Cadar, C., Koushnik, S.: Symbolic execution for software testing: three decades later. Commun. ACM 56, 82–90 (2013)
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)
Jia, Y., Harman, M.: An analysis and survey of the development of mutation testing. IEEE Trans. Softw. Eng. 37(5), 649–678 (2011)
Musuvathi, M., Qadeer, C., Ball, T.: CHESS: a systematic testing tool for concurrent software. In: Microsoft Research Technical Report MSR-TR-2007-149 (2007)
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)
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
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
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)
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)
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)
Li, C., Csallner, C.: Dynamic symbolic database application testing. In: DBTest 2010, 7 June 2010 (2010)
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)
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
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)