- -

Runtime verification in Erlang by using contracts

RiuNet: Institutional repository of the Polithecnic University of Valencia

Share/Send to

Cited by

Statistics

  • Estadisticas de Uso

Runtime verification in Erlang by using contracts

Show simple item record

Files in this item

dc.contributor.author Fredlund, Lars-Åke es_ES
dc.contributor.author Mariño, Julio es_ES
dc.contributor.author Pérez-Rubio, Sergio es_ES
dc.contributor.author Tamarit Muñoz, Salvador es_ES
dc.date.accessioned 2021-01-15T04:31:34Z
dc.date.available 2021-01-15T04:31:34Z
dc.date.issued 2019 es_ES
dc.identifier.issn 0302-9743 es_ES
dc.identifier.uri http://hdl.handle.net/10251/159142
dc.description.abstract [EN] During its lifetime, a program regularly undergoes changes that seek to improve its functionality or efficiency. However, such modifications may also introduce new errors. In this work, we use the designby-contract approach to allow programmers to formally state, in the code, some of the knowledge and assumptions originally made when the code was first written. Such contracts can then be checked at runtime, to ensure that modifications made to a program did not violate those assumptions. Applying these principles we have designed a runtime verification system for the Erlang language, permitting to specify as annotations the contracts needed for both sequential and concurrent code. As a second contribution we extend the commonly used Erlang gen server behaviour (a design pattern) permitting to specify declaratively when a server is ready to service a client request. The ideas presented in this paper have been implemented in a tool named EDBC. Its source code is available at github.com as an open-source and free project. es_ES
dc.description.sponsorship This work has been partially supported by MINECO/AEI/FEDER (EU) under grant TIN2016-76843-C4-1-R, by the Comunidad de Madrid under grant S2013/ICE-2731 (N-Greens Software), and by the Generalitat Valenciana under grant PROMETEOII/2015/013 (SmartLogic). Salvador Tamarit was partially supported by the Conselleria de Educación, Investigación, Cultura y Deporte de la Generalitat Valenciana under grant APOSTD/2016/036. es_ES
dc.language Inglés es_ES
dc.publisher Springer-Verlag es_ES
dc.relation.ispartof Lecture Notes in Computer Science es_ES
dc.relation.ispartof Functional and Constraint Logic Programming es_ES
dc.rights Reserva de todos los derechos es_ES
dc.subject Runtime verification es_ES
dc.subject Design-by-contract es_ES
dc.subject Program instrumentation es_ES
dc.subject Concurrency es_ES
dc.subject.classification LENGUAJES Y SISTEMAS INFORMATICOS es_ES
dc.subject.classification CIENCIAS DE LA COMPUTACION E INTELIGENCIA ARTIFICIAL es_ES
dc.title Runtime verification in Erlang by using contracts es_ES
dc.type Artículo es_ES
dc.type Comunicación en congreso es_ES
dc.type Capítulo de libro es_ES
dc.identifier.doi 10.1007/978-3-030-16202-3_4 es_ES
dc.relation.projectID info:eu-repo/grantAgreement/CAM//S2013%2FICE-2731/ es_ES
dc.relation.projectID info:eu-repo/grantAgreement/GVA//PROMETEOII%2F2015%2F013/ES/SmartLogic: Logic Technologies for Software Security and Performance/ es_ES
dc.relation.projectID info:eu-repo/grantAgreement/GVA//APOSTD%2F2016%2F036/ es_ES
dc.relation.projectID info:eu-repo/grantAgreement/MINECO//TIN2016-76843-C4-1-R/ES/METODOS RIGUROSOS PARA EL INTERNET DEL FUTURO/ es_ES
dc.rights.accessRights Abierto es_ES
dc.contributor.affiliation Universitat Politècnica de València. Departamento de Sistemas Informáticos y Computación - Departament de Sistemes Informàtics i Computació es_ES
dc.description.bibliographicCitation Fredlund, L.; Mariño, J.; Pérez-Rubio, S.; Tamarit Muñoz, S. (2019). Runtime verification in Erlang by using contracts. Lecture Notes in Computer Science. 11285:56-73. https://doi.org/10.1007/978-3-030-16202-3_4 es_ES
dc.description.accrualMethod S es_ES
dc.relation.conferencename 26th International Workshop on Functional and (Constraint) Logic Programming (WFLP 2018) es_ES
dc.relation.conferencedate Septiembre 06-06,2018 es_ES
dc.relation.conferenceplace Frankfurt am Main, Germany es_ES
dc.relation.publisherversion https://doi.org/10.1007/978-3-030-16202-3_4 es_ES
dc.description.upvformatpinicio 56 es_ES
dc.description.upvformatpfin 73 es_ES
dc.type.version info:eu-repo/semantics/publishedVersion es_ES
dc.description.volume 11285 es_ES
dc.relation.pasarela S\403311 es_ES
dc.contributor.funder Comunidad de Madrid es_ES
dc.contributor.funder Generalitat Valenciana es_ES
dc.contributor.funder Ministerio de Economía y Competitividad es_ES
dc.description.references Antoy, S., Hanus, M.: Contracts and specifications for functional logic programming. In: Russo, C., Zhou, N.-F. (eds.) PADL 2012. LNCS, vol. 7149, pp. 33–47. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-27694-1_4 es_ES
dc.description.references Arts, T., Hughes, J., Johansson, J., Wiger, U.T.: Testing telecoms software with quviq QuickCheck. In: Proceedings of the 2006 ACM SIGPLAN Workshop on Erlang, pp. 2–10. ACM (2006) es_ES
dc.description.references Carlsson, R., Rémond, M.: EUnit: a lightweight unit testing framework for Erlang. In: Feeley, M., Trinder, P.W. (eds.) Proceedings of the 2006 ACM SIGPLAN Workshop on Erlang, p. 1. ACM (2006) es_ES
dc.description.references Cassar, I., Francalanza, A., Aceto, L., Ingólfsdóttir, A.: eAOP: an aspect oriented programming framework for Erlang. In: Chechina, N., Fritchie, S.L. (eds.) Proceedings of the 16th ACM SIGPLAN International Workshop on Erlang, pp. 20–30. ACM (2017) es_ES
dc.description.references Colombo, C., Francalanza, A., Gatt, R.: Elarva: a monitoring tool for Erlang. In: Khurshid, S., Sen, K. (eds.) RV 2011. LNCS, vol. 7186, pp. 370–374. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29860-8_29 es_ES
dc.description.references Ericsson AB: EDoc (2018). http://erlang.org/doc/apps/edoc/chapter.html es_ES
dc.description.references Fredlund, L., Mariño, J., Alborodo, R.N., Herranz, Á.: A testing-based approach to ensure the safety of shared resource concurrent systems. Proc. Inst. Mech. Eng. Part O: J. Risk Reliab. 230(5), 457–472 (2016) es_ES
dc.description.references Hanus, M.: Combining static and dynamic contract checking for curry. In: Fioravanti, F., Gallagher, J.P. (eds.) LOPSTR 2017. LNCS, vol. 10855, pp. 323–340. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-94460-9_19 es_ES
dc.description.references Herranz, Á., Mariño, J., Carro, M., Moreno Navarro, J.J.: Modeling concurrent systems with shared resources. In: Alpuente, M., Cook, B., Joubert, C. (eds.) FMICS 2009. LNCS, vol. 5825, pp. 102–116. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04570-7_9 es_ES
dc.description.references Jimenez, M., Lindahl, T., Sagonas, K.: A language for specifying type contracts in Erlang and its interaction with success typings. In: Thompson, S.J., Fredlund, L. (eds.) Proceedings of the 2007 ACM SIGPLAN Workshop on Erlang, Freiburg, Germany, 5 October 2007, pp. 11–17. ACM (2007) es_ES
dc.description.references Leino, K.R.M.: Dafny: an automatic program verifier for functional correctness. In: Clarke, E.M., Voronkov, A. (eds.) LPAR 2010. LNCS, vol. 6355, pp. 348–370. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-17511-4_20 es_ES
dc.description.references Lindahl, T., Sagonas, K.: Detecting software defects in telecom applications through lightweight static analysis: a war story. In: Chin, W.-N. (ed.) APLAS 2004. LNCS, vol. 3302, pp. 91–106. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-30477-7_7 es_ES
dc.description.references Lorenz, D.H., Skotiniotis, T.: Extending design by contract for aspect-oriented programming. CoRR, abs/cs/0501070 (2005) es_ES
dc.description.references Meyer, B.: Applying “Design by Contract”. IEEE Comput. 25(10), 40–51 (1992) es_ES
dc.description.references Pitidis, M., Sagonas, K.: Purity in Erlang. In: Hage, J., Morazán, M.T. (eds.) IFL 2010. LNCS, vol. 6647, pp. 137–152. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-24276-2_9 es_ES
dc.description.references Plociniczak, H., Eisenbach, S.: JErlang: Erlang with joins. In: Clarke, D., Agha, G. (eds.) COORDINATION 2010. LNCS, vol. 6116, pp. 61–75. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13414-2_5 es_ES
dc.description.references Rondon, P.M., Kawaguci, M., Jhala, R.: Liquid types. In: PLDI 2008, pp. 159–169. ACM (2008) es_ES


This item appears in the following Collection(s)

Show simple item record