Runtime Assertion Checking and Theorem Proving for Concurrent and Distributed Systems

Crystal Chang Din, Olaf Owe, Richard Bubel

Abstract

We investigate the usage of a history-based specification approach for concurrent and distributed systems. In particular, we compare two approaches on checking that those systems behave according to their specification. Concretely, we apply runtime assertion checking and static deductive verification on two small case studies to detect specification violations, respectively to ensure that the system follows its specifications. We evaluate and compare both approaches with respect to their scope and ease of application. We give recommendations on which approach is suitable for which purpose as well as the implied costs and benefits of each approach.

References

  1. Ábrahám, E., Grabe, I., Grüner, A., and Steffen, M. (2009). Behavioral interface description of an object-oriented language with futures and promises. Journal of Logic and Algebraic Programming, 78(7):491-518.
  2. Ahrendt, W. and Dylla, M. (2012). A system for compositional verification of asynchronous objects. Science of Computer Programming, 77(12):1289-1309.
  3. Alpern, B. and Schneider, F. B. (1985). Defining liveness. Information Processing Letters, 21(4):181-185.
  4. Baker Jr., H. G. and Hewitt, C. (1977). The Incremental Garbage Collection of Processes. In Proc. of the 1977 symposium on Artificial intelligence and programming languages, pages 55-59, USA. ACM.
  5. Beckert, B., Hähnle, R., and Schmitt, P. H., editors (2007). Verification of Object-Oriented Software: The KeY Approach, volume 4334 of LNCS. Springer.
  6. Dahl, O.-J. (1977). Can program proving be made practical? In Amirchahy, M. and Néel, D., editors, Les Fondements de la Programmation, pages 57-114. Institut de Recherche d'Informatique et d'Automatique, France.
  7. Din, C. C., Dovland, J., and Owe, O. (2012). Compositional reasoning about shared futures. In et al, G. E., editor, Proc. Intl. Conference on Software Engineering and Formal Methods (SEFM'12), volume 7504 of LNCS, pages 94-108. Springer.
  8. Dovland, J., Johnsen, E. B., and Owe, O. (2005). Verification of concurrent objects with asynchronous method calls. In Proc. IEEE Intl. Conference on Software Science, Technology & Engineering(SwSTE'05), pages 141-150. IEEE Computer Society Press.
  9. Halstead Jr., R. H. (1985). Multilisp: a language for concurrent symbolic computation. ACM Transactions on Programming Languages and Systems, 7(4):501-538.
  10. Hatcliff, J., Leavens, G. T., Leino, K. R. M., Müller, P., and Parkinson, M. (2012). Behavioral interface specification languages. ACM CS, 44(3):16:1-16:58.
  11. HATS (2011). Full ABS Modeling Framework (Mar 2011). Deliverable 1.2 of project FP7-231620 (HATS), available at http://www.hats-project.eu.
  12. Hewitt, C., Bishop, P., and Steiger, R. (1973). A universal modular actor formalism for artificial intelligence. In Proc. 3rd international conference on Artificial intelligence, pages 235-245.
  13. Hoare, C. A. R. (1985). Communicating Sequential Processes. International Series in Computer Science. Prentice Hall.
  14. International Telecommunication Union (1995). Open Distributed Processing - Reference Model parts 1-4. Technical report, ISO/IEC.
  15. Jeffrey, A. S. A. and Rathke, J. (2005). Java Jr.: Fully abstract trace semantics for a core Java language. In Proc. European Symposium on Programming, volume 3444 of LNCS, pages 423-438. Springer.
  16. Johnsen, E. B. and Owe, O. (2007). An asynchronous communication model for distributed concurrent objects. Software and Systems Modeling, 6(1):35-58.
  17. Liskov, B. H. and Shrira, L. (1988). Promises: Linguistic support for efficient asynchronous procedure calls in distributed systems. In Wise, D. S., editor, Proc. SIGPLAN Conference on Programming Language Design and Implementation (PLDI'88), pages 260-267. ACM Press.
Download


Paper Citation


in Harvard Style

Chang Din C., Owe O. and Bubel R. (2014). Runtime Assertion Checking and Theorem Proving for Concurrent and Distributed Systems . In Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-007-9, pages 480-487. DOI: 10.5220/0004877804800487


in Bibtex Style

@conference{modelsward14,
author={Crystal Chang Din and Olaf Owe and Richard Bubel},
title={Runtime Assertion Checking and Theorem Proving for Concurrent and Distributed Systems},
booktitle={Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2014},
pages={480-487},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004877804800487},
isbn={978-989-758-007-9},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - Runtime Assertion Checking and Theorem Proving for Concurrent and Distributed Systems
SN - 978-989-758-007-9
AU - Chang Din C.
AU - Owe O.
AU - Bubel R.
PY - 2014
SP - 480
EP - 487
DO - 10.5220/0004877804800487