Mostrar el registro sencillo del ítem
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 |