CompleX-Machine: An Automated Testing Tool Using X-Machine Theory
This paper is aimed at creating an Automatic Java X-Machine testing tool for software development. The nature of software development is changing; thus, the type of software testing tools required is also changing. Software is growing increasingly complex and, in part due to commercial impetus for faster software releases with new features and value, increasingly in danger of containing faults. These faults can incur huge cost for software development organisations and users; Cambridge Judge Business School’s research estimated the cost of software bugs to the global economy is $312 billion. Beyond the cost, faster software development methodologies and increasing expectations on developers to become testers is driving demand for faster, automated, and effective tools to prevent potential faults as early as possible in the software development lifecycle. Using X-Machine theory, this paper will explore a new tool to address software complexity, changing expectations on developers, faster development pressures and methodologies, with a view to reducing the huge cost of fixing software bugs.
 F. Ipate, "Class testing from state diagrams using stream X-machine based methods", in 18th Australian Software Engineering Conference 2007 (ASWEC’07), Melbourne, 2007, pp. 245-254.
 M. Holcombe, "X-machines as a basis for dynamic system specification", Software Engineering Journal, vol. 3, no. 2, p. 69, 1988.
 G. Laycock, "The Theory and Practice of Specification Based Software Testing", Ph.D, University of Sheffield, 1993.
 H. Tahbildar, P. Borbora and K. G.P, "Teaching Automated Test Data Generation Tools for C, C++, and Java Programs", International Journal of Computer Science and Information Technology, vol. 5, no. 1, pp. 181-195, 2013.
 "What is this thing called Conformance?", NIST, 2010. (Online). Available: https://www.nist.gov/itl/ssd/information-systems-group/what-thing-called-conformance. (Accessed: 19- Apr- 2017).
 Minimizing code defects to improve software quality and lower development costs, 1st ed. New York: IBM Corporation, 2017.
 W. Wong, R. Gao, Y. Li, R. Abreu and F. Wotawa, "A Survey on Software Fault Localization", IEEE Transactions on Software Engineering, vol. 42, no. 8, pp. 707-740, 2016.
 The Economic Impacts of Inadequate Infrastructure for Software Testing, 1st ed. National Institute of Standards and Technology, 2002.
 G. Myers, The Art of Software Testing, 1st ed. New Jersey: John Wiley and Sons, Inc., 2004, p.9.
 M. Holcombe, "Testing, testing, testing!", in Correct Systems – Building Business Process Solutions, 1st ed., M. Holcombe and F. Ipate, Ed. London: Springer-Verlag, 1998, pp. 61-92.
 K. EI-Fakih, N. Yevtushenko and G. Bochmann, "FSM-based incremental conformance testing methods", IEEE Transactions on Software Engineering, vol. 30, no. 7, pp. 425-436, 2004.
 R. Mugridge, R. Utting and D. Streader, "Evolving Web-Based Test Automation into Agile Business Specifications", Future Internet, vol. 3, no. 4, pp. 159-174, 2011.
 A. Ahmed, "Software Requirements Management", in Software Project Management: A Process-Driven Approach, 1st ed., A. Amed, Ed. Florida: Taylor and Francis Group, 2017, pp. 145-157.
 L. Crispin and J. Gregory, "Automation", in Agile Testing: A Practical Guide for Testers and Agile Teams, 1st ed., L. Crispin and J. Gregory, Ed. Boston: Pearson Education, 2009, pp. 255-271.
 VersionOne Inc, "10th Annual State of Agile Report", VersionOne Inc, 2016.
 C. Csallner, Y. Smaragdakis, and T. Xie, “DSD-Crasher: A hybrid analysis tool for bug finding”, ACM Transactions on Software Engineering and Methodology (TOSEM), vol. 17, no. 2, pp. 245-254, 2006.
 H. Tahbildar and B. Kalita, "Automated Software Test Data Generation: Direction of Research", International Journal of Computer Science & Engineering Survey, vol. 2, no. 1, pp. 99-120, 2011.
 M. Boshernitsan, M. Doong and A. Savoia, "From Daikon to Agitator: Lessons and challenges in building a commercial tool for developer testing", in Fifth International Symposium on Software Testing and Analysis, Portland, 2006.
 T. Chow, "Testing Software Design Modeled by Finite-State Machines", IEEE Transactions on Software Engineering, vol. -4, no. 3, pp. 178-187, 1978.
 Balanescu, T., Cowling, A. J., Georgescu, H., Gheorghe, M., Holcombe, M. and Vertan, C, “Communicating stream X-Machines systems are no more than X-Machines”, in Journal of Universal Computer Science, vol. 5, no. 9, pp. 494-507, 1999.
 J. Barnard, J. Whitworth, and M. Woodward, “Communicating X-Machines”, in Information and Software Technology, vol. 38, no. 6, pp. 401-407, 1996
 A. Simons, K. Bogdanov and M. Holcombe, "Complete functional testing using Object Machines", University of Sheffield, Sheffield, 2017.
 J. Aguado and A.J. Cowling, “Foundations of the x-machine theory for testing”, University of Sheffield, Sheiffeild, 2017
 M. Holcombe, P. Thomas and R. Paul, Correct Systems, 1st ed. London: Springer London, 1998, pp. 61-92.