Testing Temporal Logic on Infinite Java Traces

Damián Adalid, Alberto Salmerón, María del Mar Gallardo, Pedro Merino

2012

Abstract

This paper presents an approach for testing reactive and concurrent Java programs which combines model checking and runtime monitoring. We use a model checker for two purposes. On the one hand, it analyzes multiple program executions by generating test input parameters. On the other hand, it checks each program execution against a linear temporal logic (LTL) property. The paper presents two methods to abstract the Java states that allow efficient testing of LTL. One of this methods supports the detection of cycles to test LTL on potentially infinite Java execution traces. Runtime monitoring is used to generate the Java execution traces to be considered as input of the model checker. Our current implementation in the tool TJT uses Spin as the model checker and the Java Debug Interface (JDI) for runtime monitoring. TJT is presented as a plug-in for Eclipse and it has been successfully applied to complex public Java programs.

References

  1. Havelund, K., Ros¸u, G.: An overview of the runtime verification tool java pathexplorer. Form. Methods Syst. Des. 24 (2004) 189-215
  2. Godefroid, P.: Model checking for programming languages using verisoft. In: Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages. POPL 7897, New York, NY, USA, ACM (1997) 174-186
  3. Stoller, S. D.: Model-checking multi-threaded distributed Java programs. International Journal on Software Tools for Technology Transfer 4 (2002) 71-91
  4. Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model checking programs. Automated Software Engg. 10 (2003) 203-232
  5. Musuvathi, M., Park, D. Y. W., Chou, A., Engler, D. R., Dill, D. L.: Cmc: A pragmatic approach to model checking real code. In: OSDI. (2002)
  6. Holzmann, G. J.: The SPIN Model Checker : Primer and Reference Manual. Addison-Wesley Professional (2003)
  7. Gallardo, M. D. M., Merino, P., Sanán, D.: Model checking dynamic memory allocation in operating systems. J. Autom. Reason. 42 (2009) 229-264
  8. Fu, C., Milanova, A., Ryder, B. G., Wonnacott, D. G.: Robustness testing of java server applications. IEEE Trans. Softw. Eng. 31 (2005) 292-311
  9. Corbett, J., Dwyer, M., Hatcliff, J., Laubach, S., Pasareanu, C., Robby, Zheng, H.: Bandera: extracting finite-state models from java source code. In: Software Engineering, 2000. Proceedings of the 2000 International Conference on. (2000) 439-448
  10. Havelund, K., Pressburger, T.: Model checking java programs using java pathfinder. STTT 2 (2000) 366-381
Download


Paper Citation


in Harvard Style

Adalid D., Salmerón A., del Mar Gallardo M. and Merino P. (2012). Testing Temporal Logic on Infinite Java Traces . In Proceedings of the 10th International Workshop on Modelling, Simulation, Verification and Validation of Enterprise Information Systems and 1st International Workshop on Web Intelligence - Volume 1: MSVVEIS, (ICEIS 2012) ISBN 978-989-8565-14-3, pages 37-47. DOI: 10.5220/0004127700370047


in Bibtex Style

@conference{msvveis12,
author={Damián Adalid and Alberto Salmerón and María del Mar Gallardo and Pedro Merino},
title={Testing Temporal Logic on Infinite Java Traces},
booktitle={Proceedings of the 10th International Workshop on Modelling, Simulation, Verification and Validation of Enterprise Information Systems and 1st International Workshop on Web Intelligence - Volume 1: MSVVEIS, (ICEIS 2012)},
year={2012},
pages={37-47},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004127700370047},
isbn={978-989-8565-14-3},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 10th International Workshop on Modelling, Simulation, Verification and Validation of Enterprise Information Systems and 1st International Workshop on Web Intelligence - Volume 1: MSVVEIS, (ICEIS 2012)
TI - Testing Temporal Logic on Infinite Java Traces
SN - 978-989-8565-14-3
AU - Adalid D.
AU - Salmerón A.
AU - del Mar Gallardo M.
AU - Merino P.
PY - 2012
SP - 37
EP - 47
DO - 10.5220/0004127700370047