Functional Test Case Generation for Real-Time Systems

  • Dino Mandrioli
  • Sandro Morasca
  • Angelo Morzenti
Conference paper
Part of the Dependable Computing and Fault-Tolerant Systems book series (DEPENDABLECOMP, volume 8)


We address the problem of automatic derivation of functional test cases for real-time systems. We present techniques for deriving test cases from formal specification of such systems coded in TRIO, a language which extends classical temporal logic to deal explicitly with time measures. An interactive tool is outlined that implements such techniques. Essentially the tool is based on interpretation algorithms of the TRIO language. Several heuristic criteria are suggested to drastically reduce the size of generated test cases.


Time Instant Temporal Domain Test Case Generation History Generator Sluice Gate 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    G. Bernot, M. C. Gaudel, B. Marre. Software testing based on formal specifications: a theory and a tool. Software Engineering Journal, November 1991.Google Scholar
  2. [2]
    L. Bougé, N. Choquet, L. Epibourg, M. C. Gaudel. Test Case Generation from Algebraic Specifications Using Logic Programming. The Journal of Systems and Sofware Vol. 6, 1986, pp. 343–360.CrossRefGoogle Scholar
  3. [3]
    A. Celentano, S. Crespi-Reghizzi, P. DellaVigna, C. Ghezzi, G. Granata, F. Savoretti. Compiler testing using a sentence generator. Software-Testing and Experience Vol. 10, 1980, pp.987–918.CrossRefGoogle Scholar
  4. [4]
    A. Coen, A. Morzenti, D. Sciuto. Specification and verification of hardware systems using the temporal logic language TRIO. In Computer hardware description languages and their application, D. Borrione, R. Waxman Eds., IFIP, North-Holland, Marseille, France, April 1991, pp. 43–62.Google Scholar
  5. [5]
    E. Corsetti, A. Montanari, E. Ratto. Dealing with different time granularities in formal specifications of real-time systems. The Journal of Real-Time Systems, Vol. 3, 1991, pp. 191–205.CrossRefGoogle Scholar
  6. [6]
    O. J. Dahl, E. W. Dijkstra, C. A. R. Hoare. Structured Programming. Academic Press, 1972.Google Scholar
  7. [7]
    B. Dasarathy. Timing constraints of real-time systems: constructs for expressing them, methods of validating them. IEEE Transaction on Software Engineering, Vol. SE-11, January 1985, pp. 80–86.CrossRefGoogle Scholar
  8. [8]
    R. A. DeMillo, M. W. McCracken, R. J. Martin, J. F. Passafiume. Software Testing and Evaluation. Benjamin/Cummings, Menlo Park, CA, 1987.Google Scholar
  9. [9]
    H.B. Enderton. A Mathematical Introduction to Logic. Academic Press, New York, 1972.MATHGoogle Scholar
  10. [10]
    M. Felder, D. Mandrioli, A. Morzenti. Proving properties of Real-Time Systems through logical Specifications and Petri Nets Models. Tech. Kept. 91-72 Dip. di Elettronica, Politecnico di Milano, December, 1991.Google Scholar
  11. [11]
    M. Felder, A. Morzenti. Validating Real-Time Systems by executing logic specifications in TRIO. Proc. IEEE/ACM ICSE 14, 1992.Google Scholar
  12. [12]
    S. Fujiware, G. V. Bochman, F. Khendek, M. Amalou, A. Ghedamsi. Test selection based on finite automata. IEEE Transaction on Software Engineering, Vol. SE-17, No. 6, June 1991, pp. 591–603.CrossRefGoogle Scholar
  13. [13]
    J. Gannon, P. Mc Mullin, R. Hamlet. Data abstraction Implementation Specification and testing. ACM Transactions on Programming Languages and Systems, Vol. 3, No. 3, July 1981, pp. 211–223.CrossRefGoogle Scholar
  14. [14]
    C. Ghezzi, D. Mandrioli, A. Morzenti. TRIO, a logic language for executable specifications of realtime systems. In 10th French Tunisian Seminar on Computer Science, Tunis, May 1989, pp. 322-349.Google Scholar
  15. [15]
    C. Ghezzi, D. Mandrioli, A. Morzenti. TRIO, a logic language for executable specifications of real-time systems. Journal of Systems and Software, Vol. 12, No. 2, May 1990, pp. 107–123.CrossRefGoogle Scholar
  16. [16]
    C. Ghezzi, M. Jazayeri, D. Mandrioli. Fundamentals of Software Engineering. Prentice-Hall International Editors, Englewood Cliffs, N.J., 1991.MATHGoogle Scholar
  17. [17]
    P. Jalote. Testing the Completeness of Specifications. IEEE Transactions on Software Engineering, Vol. SE-15, No. 5, May 1989, pp. 526–531.CrossRefGoogle Scholar
  18. [18]
    P. Jalote. Specification and Testing of Abstract Data Types. Computer Languages, Vol. 17, No. 1, 1992, pp. 75–82.CrossRefGoogle Scholar
  19. [19]
    R. A. Kemmerer. Testing Formal Specifications to Detect Design Errors. IEEE Transactions on Software Engineering, January 1985.Google Scholar
  20. [20]
    D. Mandrioli, S. Morasca, A. Morzenti. Functional test case generation for real-time systems. Tech. Kept. 92-8, Politecnico di Milano, Dipartimento di Elettronica, Milano, Italy, January, 1992.Google Scholar
  21. [21]
    E. Mendelson. Introduction to Mathematical Logic. Van Nostrand Reinhold Company, New York, 1963.Google Scholar
  22. [22]
    S. Morasca, M. Pezze. Using high-level Petri nets for testing concurrent and real-time systems. In Real-time systems: theory and applications, H. Zendan Ed., British Computer Society, North Holland, September 1990, pp. 119–131.Google Scholar
  23. [23]
    A. Morzenti, E. Ratto, M. Roncato, L. Zoccolante. TRIO: a Logic Formalism for the Specification of Real Time Systems. Proc. Euromicro Workshop on Real Time, IEEE, Como, Italy, 1989.Google Scholar
  24. [24]
    A. Morzenti, P. SanPietro. TRIO+ an Object Oriented Logic Specification Language. Tech. Rept. Research Report, ENELCRA, in Italian, January, 1990.Google Scholar
  25. [25]
    A. Morzenti, P. SanPietro. An object-oriented logic language for modular system specification. Tech. Rept. 90-27, Poiltecnico di Milano, Dipartimento di Elettronica, Milano, Italy, June, 1990.Google Scholar
  26. [26]
    A. Morzenti, P. SanPietro. An Object Oriented Logic Language for Modular System Specification. Proc. ECOOP’91, Geneva, July 1991, Springer-Verlag.Google Scholar
  27. [27]
    A. Morzenti, D. Mandrioli, C. Ghezzi. A Model Parametric Real-Time Logic. ACM Transactions on Programming Languages and Systems, 1992.Google Scholar
  28. [28]
    D. H. Pitts, D. Freestone. The derivation of conformance tests from LOTOS specifications. IEEE Transactions on Software Engineering, Vol. SE-16, No. 12, December 1990, pp. 1337–1343.CrossRefGoogle Scholar
  29. [29]
    J. A. Stankovic. Misconcepts about real-time computing: A serious problem for next-generation computing. IEEE Computer, Vol. 21, No. 10, October 1988, pp. 10–19.CrossRefGoogle Scholar
  30. [30]
    K. C. Tai, E. E. Obaid. Reproducing testing of Ada taskprograms. In Conference on Ada applications and environments, IEEE, 1986.Google Scholar
  31. [31]
    N. Wirth. Toward a Discipline of Real-Time Programming. Communications of the ACM, Vol. 20, No. 8, August 1977.Google Scholar

Copyright information

© Springer-Verlag Wien 1993

Authors and Affiliations

  • Dino Mandrioli
    • 1
  • Sandro Morasca
    • 2
  • Angelo Morzenti
    • 1
  1. 1.Dipartimento di ElettronicaPolitecnico di MilanoMilanoItaly
  2. 2.Institute for Advanced Computer StudiesUniversity of MarylandCollege ParkUSA

Personalised recommendations