Explicit State Model Checking Effects on Learning-Based Testing

Authors

  • Iram Jaffar Computer Science Department, Quaid-i-Azam University, Islamabad, Pakistan
  • Muddassar Azam Sindhu Computer Science Department, Quaid-i-Azam University, Islamabad, Pakistan
  • Shafiq Ur Rehman Center of Excellence in Sciences and Applied Technologies (CESAT), Islamabad, Pakistan

Keywords:

Software Testing, Explicit State Model Checking, Learning-Based Testing, Counterexamples.

Abstract

Exploring the impact of integrating an explicit state model checker into the learning-based testing (LBT) framework presents an intriguing challenge. Traditionally, LBT has leveraged symbolic model checkers such as NuSMV and SAL, which use Binary Decision Diagrams (BDDs) to analyze multiple states concurrently. In contrast, explicit state model checkers evaluate one state at a time, a key distinction that suggests potential advantages for explicit state checking in the context of LBT. Thus, it is valuable to investigate how integrating an explicit state model checking algorithm might influence the performance of LBT. Model checkers explore the state space to verify conformance with user-defined correctness requirements, typically represented as Linear Temporal Logic (LTL) formulas. If a property violation is detected, it is presented as a counterexample. NuSMV and SAL employ different algorithms for generating and displaying counterexamples. This paper specifically examines the effect of SPIN-generated counterexamples on the LBT process. Evaluation metrics include Total LBT Iterations, First Bug Reporting Time (in milliseconds), Counterexample Length, Precision, and Efficiency, among others. Total Model Checking Time (in milliseconds) captures the cumulative time spent verifying the model over all iterations. SPIN consistently requires the least time for all specifications compared to other model checkers. As a result, experiments demonstrate that SPIN is more efficient when integrated with LBT, leading to faster convergence of the LBT hypothesis to the target System Under Test (SUT) in comparison to NuSMV and SAL.

References

P. M. Jacob and M. Prasanna, "A Comparative analysis on Black box testing strategies," 2016 International Conference on Information Science (ICIS), Kochi, 2016, pp. 1-6. doi: 10.1109/INFOSCI.2016.7845290

M. S. Reorda, "In-field test of safety-critical systems: is functional test a feasible solution?," 2015 16th Latin-American Test Symposium (LATS), Puerto Vallarta, 2015, pp. 1-2. doi: 10.1109/LATW.2015.7102528

J. Gaur, A. Goyal, T. Choudhury, and S. Sabitha, "A walk through of software testing techniques," 2016 International Conference System Modeling & Advancement in Research Trends (SMART), Moradabad, 2016, pp. 103-108. doi: 10.1109/SYSMART.2016.7894499

M. Nouman, U. Pervez, O. Hasan, and K. Saghar, "Software testing: A survey and tutorial on white and black-box testing of C/C++ programs," 2016 IEEE Region 10 Symposium (TENSYMP), Bali, 2016, pp. 225-230. doi: 10.1109/TENCONSpring.2016.7519409

A. Sabbaghi and M. R. Keyvanpour, "State-based models in model-based testing: A systematic review," 2017 IEEE 4th International Conference on Knowledge-Based Engineering and Innovation (KBEI), Tehran, 2017, pp. 0942-0948. doi: 10.1109/KBEI.2017.8324934

Meinke, Karl & Niu, Fei & Sindhu, Muddassar. (2011). Learning-Based Software Testing: A Tutorial. Communications in Computer and Information Science. 336. 10.1007/978-3-642-34781-8 16.

I. Jaffar, M. Usman and A. Jolfaei, "Security Hardening of Implantable Cardioverter Defibrillators," 2019 IEEE International Conference on Industrial Technology (ICIT), 2019, pp. 1173-1178, doi: 10.1109/ICIT.2019.8755126.

E. M. Clarke, Model Checking. London: The MIT Press, 2000, p. 144.

N. Deb, N. Chaki and A. Ghose, "ToNuSMV: A Prototype for Enabling Model Checking of Models," 2016 IEEE 24th International Requirements Engineering Conference (RE), Beijing, 2016, pp. 397-398. doi: 10.1109/RE.2016.62

Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verication. Proc. 1st Symposium on Logic in Computer Science, Cambridge, pp. 322-331, 1986

Holzmann, G.J., Peled, D., Yannakakis, M.: On nested depth-first search. In: The Spin Verication System, DIMACS/32, American Mathematical Society, pp. 23-32. 1996

Amir Pnueli. The temporal logic of programs. 18th Annual Symposium on Foundations of Computer Science (sfcs 1977), pages 4657, 1977.

Jamil, Abid & Arif, Muhammad & Abubakar, Normi & Ahmad, Akhlaq. (2016). Software Testing Techniques: A Literature Review. 177-182. 10.1109/ICT4M.2016.045.

Ehmer, Mohd & Khan, Farmeena. (2012). A Comparative Study of White Box, Black Box and Grey Box Testing Techniques. International Journal of Advanced Computer Science and Applications. 3. 10.14569/IJACSA.2012.030603.

AP Van der Meer, R Kherrazi, and M Hamilton. Using formal specification to support model based testing asdspec: a tool combining the best of two techniques. arXiv preprint arXiv:1403.7257, 2014.

Laurie Williams. A (partial) introduction to software engineering practices and methods. NCSU CSC326 Course Pack, 2009(5):3363, 2008.

M. Ben-Ari. 2008. Principles of the Spin Model Checker (1st. ed.).

C. Baier, & J. P. Katoen, (2008). Principles of model checking. MIT press.

A. Groce, W. Visser (2003) What Went Wrong: Explaining Counterexamples. In: Ball T., Rajamani S.K. (eds) Model Checking Software. SPIN 2003. Lecture Notes in Computer Science, vol 2648. Springer, Berlin, Heidelberg

G. J. Holzmann. The model checker SPIN. IEEE Transactions on Software Engineering, 23:279–295, 1997.

G. Fraser, F. Wotawa, and P. E. Ammann. Testing with model checkers: A survey. Software Testing Verification and Reliability, 19(3):215261, 2009.

Mark Utting, Alexander Pretschner, and Bruno Legeard. A taxonomy of model-based testing approaches. Software Testing, Verication and Reliability, 22(5):297312, 2012.

A. A. Shah, 2017. Learning Based Testing Using SAL (Symbolic Analysis Laboratory) Model Checker. Mphil Thesis. Quaid-i-Azam Univeristy, Islamabad, Pakistan.

W. Wang, X. Bao and T. Zhao, "A research for embedded system software accident mechanism," 2017 2nd International Conference on System Reliability and Safety (ICSRS), Milan, 2017, pp. 460-464. doi: 10.1109/ICSRS.2017.8272865

S. Mubeen, H. B. Lawson, J. Lundb¨ack, M. G˚alnander and K. Lundb¨ack, "Provisioning of Predictable Embedded Software in the Vehicle Industry: The Rubus Approach," 2017 IEEE/ACM 4th International Workshop on Software Engineering Research and Industrial Practice (SER&IP), Buenos Aires, 2017, pp. 3-9. doi: 10.1109/SER-IP.2017..1

M. Boasson, "Modeling and simulation in reactive systems," Proceedings of the 4th International Workshop on Parallel and Distributed Real-Time Systems, Honolulu, HI, USA, 1996, pp. 27-34. doi: 10.1109/WPDRTS.1996.557434

B. Zeng and L. Tan, "Test Reactive Systems with Buchi Automata: Acceptance Condition Coverage Criteria and Performance Evaluation," 2015 IEEE International Conference on Information Reuse and Integration, San Francisco, CA, 2015, pp. 380-387. doi: 10.1109/IRI.2015.64

L. E. G. Martins and T. Gorschek, "Requirements Engineering for Safety Critical Systems: Overview and Challenges," in IEEE Software, vol. 34, no. 4, pp. 49-57, 2017. doi: 10.1109/MS.2017.94

H. Hwang and Y. B. Park, "Safety - Critical Software Quality Improvement Using Requirement Analysis," 2017 International Conference on Platform Technology and Service (PlatCon), Busan, 2017, pp. 1-4. doi: 10.1109/PlatCon.2017.7883725

A. M. Bakr, M. M. Fouda, M. Salama, A. K. Alsammak and H. Yahia, "Hazard analysis of real-time safety critical systems using hierarchical communicating real-time state machines formal model," 2017 12th International Conference on Computer Engineering and Systems (ICCES), Cairo, 2017, pp. 628-634. doi: 10.1109/ICCES.2017.8275381

R. M. Hierons, "Testing from Partial Finite State Machines without Harmonised Traces," in IEEE Transactions on Software Engineering, vol. 43, no. 11, pp. 1033-1043, 1 Nov. 2017. doi: 10.1109/TSE.2017.2652457

Tan, O. Sokolsky and I. Lee, "Specification-based testing with linear temporal logic," Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration, 2004. IRI 2004., Las Vegas, NV, 2004, pp. 493-498

I. Buzhinsky and V. Vyatkin, "Testing automation systems by means of model checking," 2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), Limassol, 2017, pp. 1-7. doi: 10.1109/ETFA.2017.8247579

E. Clarke, J. Sumit, L. Yuan & V. Helmut. (2002), “Tree-like counterexamples in model checking,” Proceedings - Symposium on Logic in Computer Science. 19- 29. 10.1109/LICS.2002.1029814.

C.W. Axelrod, (2011). “Applying lessons from safety-critical systems to security-critical software,” 2011 IEEE Long Island Systems, Applications and Technology Conference, 1-6.

J. Wang, Y. Huang, C. Chen, Z. Liu, S. Wang and Q. Wang, "Software Testing With Large Language Models: Survey, Landscape, and Vision," in IEEE Transactions on Software Engineering, vol. 50, no. 4, pp. 911-936, April 2024, doi: 10.1109/TSE.2024.3368208.

P. Long, & J. Zhao, “Equivalence, identity, and unitarity checking in black-box testing of quantum programs,” in Journal of Systems and Software, 211, 2024, 112000.

G. J. Holzmann, “The Model Checker SPIN,” in IEEE Transactions on Software Engineering, vol. 23, no. 5, pp. 279-295, May 1997.

Downloads

Published

2024-10-28

How to Cite

Jaffar, I., Sindhu, M. A., & Ur Rehman, S. (2024). Explicit State Model Checking Effects on Learning-Based Testing. International Journal of Innovations in Science & Technology, 6(7), 258–271. Retrieved from https://journal.50sea.com/index.php/IJIST/article/view/1100