Specifying a Testing Oracle for Train Stations – Going beyond with Product Line Technology

  • Andreas Svendsen
  • Øystein Haugen
  • Birger Møller-Pedersen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7167)


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.


Model-based testing testing oracle traces Train Control language Alloy product lines variability modeling Common Variability Language 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Andoni, A., Daniliuc, D., Khurshid, S., Marinov, D.: Evaluating the Small Scope Hypothesis, MIT CSAIL MIT-LCS-TR-921 (2003)Google Scholar
  2. 2.
    EMF, Eclipse Modeling Framework,
  3. 3.
    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)Google Scholar
  4. 4.
    Engström, E., Runeson, P.: Software Product Line Testing - a Systematic Mapping Study. Information and Software Technology 53, 2–13 (2011)CrossRefGoogle Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    GMF, Eclipse Graphical Modeling Framework,
  7. 7.
    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)Google Scholar
  8. 8.
    Haugen, Ø., Husa, K., Runde, R., Stølen, K.: Stairs Towards Formal Design with Sequence Diagrams. Software and Systems Modeling 4, 355–357 (2005)CrossRefGoogle Scholar
  9. 9.
    Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press (2006)Google Scholar
  10. 10.
    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)CrossRefGoogle Scholar
  11. 11.
    Kanso, K., Moller, F., Setzer, A.: Automated Verification of Signalling Principles in Railway Interlocking Systems. Electron. Notes Theor. Comput. Sci. 250, 19–31 (2009)CrossRefGoogle Scholar
  12. 12.
    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)CrossRefGoogle Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    Memon, A.M., Pollack, M.E., Soffa, M.L.: Automated Test Oracles for Guis. SIGSOFT Softw. Eng. Notes 25, 30–39 (2000)CrossRefGoogle Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    Pohl, K., Metzger, A.: Software Product Line Testing. Commun. ACM. 49, 78–81 (2006)CrossRefGoogle Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    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)CrossRefGoogle Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    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)Google Scholar
  24. 24.
    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)CrossRefGoogle Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    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)Google Scholar
  28. 28.
    Uzuncaova, E., Khurshid, S., Batory, D.: Incremental Test Generation for Software Product Lines. IEEE Trans. Softw. Eng. 36, 309–322 (2010)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Andreas Svendsen
    • 1
    • 2
  • Øystein Haugen
    • 1
  • Birger Møller-Pedersen
    • 2
  1. 1.SINTEFOsloNorway
  2. 2.Department of InformaticsUniversity of OsloOsloNorway

Personalised recommendations