Abstract
This paper presents an approach for automatically generating a testing oracle for train stations. Based on a model of a train station and a formal definition of the behavior of the station, Alloy is used to generate all positive traces from a given situation. By specifying the precondition (test input), a simulation of the station model gives all legal train movement from this state, which defines the testing oracle. This oracle can be used for checking the result of testing the implementation of the station by comparing the train movement from the test with the legal train movement specified by the oracle. We suggest a prototype implementation based on the Train Control Language and give an example oracle for a typical test-case. Furthermore, we elaborate on the benefits of using product line technology, given by the Common Variability Language, to reduce the analysis effort necessary to obtain the oracle for product models.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Andoni, A., Daniliuc, D., Khurshid, S., Marinov, D.: Evaluating the Small Scope Hypothesis, MIT CSAIL MIT-LCS-TR-921 (2003)
EMF, Eclipse Modeling Framework, http://www.eclipse.org/modeling/emf/
Endresen, J., Carlson, E., Moen, T., Alme, K.-J., Haugen, Ø., Olsen, G.K., Svendsen, A.: Train Control Language - Teaching Computers Interlocking. In: Computers in Railways XI (COMPRAIL 2008), Toledo, Spain (2008)
Engström, E., Runeson, P.: Software Product Line Testing - a Systematic Mapping Study. Information and Software Technology 53, 2–13 (2011)
Fleurey, F., Haugen, Ø., Møller-Pedersen, B., Olsen, G.K., Svendsen, A., Zhang, X.: A Generic Language and Tool for Variability Modeling, SINTEF, Oslo, Norway, Technical Report SINTEF A13505 (2009)
GMF, Eclipse Graphical Modeling Framework, http://www.eclipse.org/modeling/gmf/
Haugen, O., Møller-Pedersen, B., Oldevik, J., Olsen, G.K., Svendsen, A.: Adding Standardized Variability to Domain Specific Languages. In: SPLC 2008, Limerick, Ireland (2008)
Haugen, Ø., Husa, K., Runde, R., Stølen, K.: Stairs Towards Formal Design with Sequence Diagrams. Software and Systems Modeling 4, 355–357 (2005)
Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press (2006)
Jacob, J.: Trace Specifications in Alloy. In: Frappier, M., Glässer, U., Khurshid, S., Laleau, R., Reeves, S. (eds.) ABZ 2010. LNCS, vol. 5977, pp. 105–117. Springer, Heidelberg (2010)
Kanso, K., Moller, F., Setzer, A.: Automated Verification of Signalling Principles in Railway Interlocking Systems. Electron. Notes Theor. Comput. Sci. 250, 19–31 (2009)
Kelsen, P., Ma, Q.: A Lightweight Approach for Defining the Formal Semantics of a Modeling Language. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 690–704. Springer, Heidelberg (2008)
Lamancha, B.P., Usaola, M.P., Velthius, M.P.: Software Product Line Testing - a Systematic Review. In: Boris, S., José, C., Alpesh, R. (eds.) International Conference on Software and Data Technologies - ICSOFT, pp. 23–30. INSTICC Press (2009)
Memon, A.M., Pollack, M.E., Soffa, M.L.: Automated Test Oracles for Guis. In: Proceedings of the 8th ACM SIGSOFT International Symposium on Foundations of Software Engineering: Twenty-First Century Applications, pp. 30–39. ACM, San Diego (2000)
Memon, A.M., Pollack, M.E., Soffa, M.L.: Automated Test Oracles for Guis. SIGSOFT Softw. Eng. Notes 25, 30–39 (2000)
Neto, A.C.D., Subramanyan, R., Vieira, M., Travassos, G.H.: A Survey on Model-Based Testing Approaches: A Systematic Review. In: 1st ACM International Workshop on Empirical Assessment of Software Engineering Languages and Technologies: held in conjunction with the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007), pp. 31–36. ACM, Atlanta (2007)
Peters, D., Parnas, D.L.: Generating a Test Oracle from Program Documentation: Work in Progress. In: 1994 ACM SIGSOFT International Symposium on Software Testing and Analysis, Seattle, Washington, United States (1994)
Pohl, K., Metzger, A.: Software Product Line Testing. Commun. ACM. 49, 78–81 (2006)
Shafique, M., Labiche, Y.: A Systematic Review of Model Based Testing Tool Support, Technical Report SCE-10-04, Department of Systems and Computer Engineering, Carleton University, Ottawa, Canada (2010)
Svendsen, A., Haugen, Ø., Møller-Pedersen, B.: Analyzing Variability: Capturing Semantic Ripple Effects. In: France, R.B., Kuester, J.M., Bordbar, B., Paige, R.F. (eds.) ECMFA 2011. LNCS, vol. 6698, pp. 253–269. Springer, Heidelberg (2011)
Svendsen, A., Haugen, Ø., Møller-Pedersen, B.: Specifying a Testing Oracle for Train Stations. In: Model-Driven Engineering, Verification, and Validation: Integrating Verification and Validation in MDE Workshop (MoDeVVa 2011). Co-located with MODELS 2011. ACM, Wellington (2011)
Svendsen, A., Haugen, Ø., Møller-Pedersen, B.: Using Variability Models to Reduce Verification Effort of Train Station Models. In: 18th Asia Pacific Software Engineering Conference (APSEC 2011). IEEE, Ho Chi Minh City (2011)
Svendsen, A., Møller-Pedersen, B., Haugen, Ø., Endresen, J., Carlson, E.: Formalizing Train Control Language: Automating Analysis of Train Stations. In: Ning, B., Brebbia, C.A. (eds.) Comprail 2010, pp. 245–256. WIT Press, Beijing (2010)
Svendsen, A., Olsen, G.K., Endresen, J., Moen, T., Carlson, E.J., Alme, K.-J., Haugen, Ø.: The Future of Train Signaling. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 128–142. Springer, Heidelberg (2008)
Svendsen, A., Zhang, X., Haugen, Ø., Møller-Pedersen, B.: Towards Evolution of Generic Variability Models. In: Kienzle, J. (ed.) MODELS 2011 Workshops. LNCS, vol. 7167, pp. 53–67. Springer, Heidelberg (2012)
Utting, M., Pretschner, A., Legeard, B.: A Taxonomy of Model-Based Testing, Working paper series. Department of Computer Science, University of Waikato, Hamilton, New Zealand (2006)
Uzuncaova, E., Garcia, D., Khurshid, S., Batory, D.: Testing Software Product Lines Using Incremental Test Generation. In: Proceedings of the 19th International Symposium on Software Reliability Engineering, pp. 249–258. IEEE Computer Society (2008)
Uzuncaova, E., Khurshid, S., Batory, D.: Incremental Test Generation for Software Product Lines. IEEE Trans. Softw. Eng. 36, 309–322 (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Svendsen, A., Haugen, Ø., Møller-Pedersen, B. (2012). Specifying a Testing Oracle for Train Stations – Going beyond with Product Line Technology. In: Kienzle, J. (eds) Models in Software Engineering. MODELS 2011. Lecture Notes in Computer Science, vol 7167. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-29645-1_20
Download citation
DOI: https://doi.org/10.1007/978-3-642-29645-1_20
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-29644-4
Online ISBN: 978-3-642-29645-1
eBook Packages: Computer ScienceComputer Science (R0)