Dynamic slicing of concurrent specification languages
[EN] Dynamic slicing is a technique to extract the part of the program (called slice) that influences or is influenced, in a particular execution, by a given point of interest in the source code (called slicing criterion). Since a single execution is considered, the technique often uses a trace of t...
| Autores: | , , , |
|---|---|
| Formato: | artículo |
| Fecha de publicación: | 2016 |
| País: | España |
| Recursos: | Universitat Politècnica de València (UPV) |
| Repositorio: | RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia |
| Idioma: | inglés |
| OAI Identifier: | oai:riunet.upv.es:10251/80770 |
| Acesso em linha: | https://riunet.upv.es/handle/10251/80770 |
| Access Level: | acceso abierto |
| Palavra-chave: | Concurrent programming CSP Slicing BIBLIOTECONOMIA Y DOCUMENTACION LENGUAJES Y SISTEMAS INFORMATICOS |
| id |
ES_de7bd38b2a15edc9244fdf46ab254ffd |
|---|---|
| oai_identifier_str |
oai:riunet.upv.es:10251/80770 |
| network_acronym_str |
ES |
| network_name_str |
España |
| repository_id_str |
|
| spelling |
Dynamic slicing of concurrent specification languagesLlorens Agost, María Luisa|||0000-0002-2790-0055Oliver Villarroya, Javier|||0000-0002-1169-1260Silva, Josep|||0000-0001-5096-0008Tamarit Muñoz, SalvadorConcurrent programmingCSPSlicingBIBLIOTECONOMIA Y DOCUMENTACIONLENGUAJES Y SISTEMAS INFORMATICOS[EN] Dynamic slicing is a technique to extract the part of the program (called slice) that influences or is influenced, in a particular execution, by a given point of interest in the source code (called slicing criterion). Since a single execution is considered, the technique often uses a trace of this execution to analyze data and control dependencies. In this work we present the first formulation and implementation of dynamic slicing in the context of CSP. Most of the ideas presented can be directly applied to other concurrent specification languages such as Promela or CCS, but we center the discussion and the implementation on CSP. We base our technique on a new data structure to represent CSP computations called track. A track is a data structure which represents the sequence of expressions that have been evaluated during the computation, and moreover, it is labeled with the location of these expressions in the specification. The implementation of a dynamic slicer for CSP is useful for debugging, program comprehension, and program specialization, and it is also interesting from a theoretical perspective because CSP introduces difficulties such as heavy concurrency and non-determinism, synchronizations, frequent absence of data dependence, etc. © 2016 Elsevier B.V. All rights reservedThis work has been partially supported by the EU (FEDER) and the Spanish Ministerio de Economia y Competitividad under Grant TIN2013-44742-C4-1-R and by the Generalitat Valenciana under Grant PROMETEOII/2015/013 (SmartLogic). Salvador Tamarit was partially supported by Madrid regional projects N-GREENS Software-CM (S2013/ICE-2731), and by European Union project POLCA (STREP FP7-ICT-20133.4 610686).ElsevierEscuela Técnica Superior de Ingeniería de TelecomunicaciónDepartamento de Sistemas Informáticos y ComputaciónEscuela Técnica Superior de Ingeniería InformáticaInstituto Universitario Valenciano de Investigación en Inteligencia ArtificialEuropean CommissionMinisterio de Economía y CompetitividadGeneralitat ValencianaComunidad de MadridRepositorio Institucional de la Universitat Politècnica de València Riunet20162016-04-01journal articlehttp://purl.org/coar/resource_type/c_6501VoRhttp://purl.org/coar/version/c_970fb48d4fbd8a85info:eu-repo/semantics/articleapplication/pdfapplication/pdfhttps://riunet.upv.es/handle/10251/80770reponame:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valénciainstname:Universitat Politècnica de València (UPV)InglésengMinisterio de Economía y Competitividad http://dx.doi.org/10.13039/501100003329 TIN2013-44742-C4-1-R VALIDACION ASISTIDA DE PROGRAMAS MEDIANTE METODOS PRECISOS Y RIGUROSOS PARA UNA INGENIERIA DEL SOFTWARE ROBUSTAGeneralitat Valenciana https://doi.org/10.13039/501100003359 PROMETEOII%2F2015%2F013 SmartLogic: Logic Technologies for Software Security and PerformanceCaja de Ahorros del Mediterráneo https://doi.org/10.13039/100012818 S2013%2FICE-2731European Commission https://doi.org/10.13039/501100000780 FP7 610686 Programming Large Scale Heterogeneous Infrastructuresopen accesshttp://purl.org/coar/access_right/c_abf2Reserva de todos los derechoshttp://rightsstatements.org/vocab/InC/1.0/info:eu-repo/semantics/openAccessoai:riunet.upv.es:10251/807702026-06-13T07:49:27Z |
| dc.title.none.fl_str_mv |
Dynamic slicing of concurrent specification languages |
| title |
Dynamic slicing of concurrent specification languages |
| spellingShingle |
Dynamic slicing of concurrent specification languages Llorens Agost, María Luisa|||0000-0002-2790-0055 Concurrent programming CSP Slicing BIBLIOTECONOMIA Y DOCUMENTACION LENGUAJES Y SISTEMAS INFORMATICOS |
| title_short |
Dynamic slicing of concurrent specification languages |
| title_full |
Dynamic slicing of concurrent specification languages |
| title_fullStr |
Dynamic slicing of concurrent specification languages |
| title_full_unstemmed |
Dynamic slicing of concurrent specification languages |
| title_sort |
Dynamic slicing of concurrent specification languages |
| dc.creator.none.fl_str_mv |
Llorens Agost, María Luisa|||0000-0002-2790-0055 Oliver Villarroya, Javier|||0000-0002-1169-1260 Silva, Josep|||0000-0001-5096-0008 Tamarit Muñoz, Salvador |
| author |
Llorens Agost, María Luisa|||0000-0002-2790-0055 |
| author_facet |
Llorens Agost, María Luisa|||0000-0002-2790-0055 Oliver Villarroya, Javier|||0000-0002-1169-1260 Silva, Josep|||0000-0001-5096-0008 Tamarit Muñoz, Salvador |
| author_role |
author |
| author2 |
Oliver Villarroya, Javier|||0000-0002-1169-1260 Silva, Josep|||0000-0001-5096-0008 Tamarit Muñoz, Salvador |
| author2_role |
author author author |
| dc.contributor.none.fl_str_mv |
Escuela Técnica Superior de Ingeniería de Telecomunicación Departamento de Sistemas Informáticos y Computación Escuela Técnica Superior de Ingeniería Informática Instituto Universitario Valenciano de Investigación en Inteligencia Artificial European Commission Ministerio de Economía y Competitividad Generalitat Valenciana Comunidad de Madrid Repositorio Institucional de la Universitat Politècnica de València Riunet |
| dc.subject.none.fl_str_mv |
Concurrent programming CSP Slicing BIBLIOTECONOMIA Y DOCUMENTACION LENGUAJES Y SISTEMAS INFORMATICOS |
| topic |
Concurrent programming CSP Slicing BIBLIOTECONOMIA Y DOCUMENTACION LENGUAJES Y SISTEMAS INFORMATICOS |
| description |
[EN] Dynamic slicing is a technique to extract the part of the program (called slice) that influences or is influenced, in a particular execution, by a given point of interest in the source code (called slicing criterion). Since a single execution is considered, the technique often uses a trace of this execution to analyze data and control dependencies. In this work we present the first formulation and implementation of dynamic slicing in the context of CSP. Most of the ideas presented can be directly applied to other concurrent specification languages such as Promela or CCS, but we center the discussion and the implementation on CSP. We base our technique on a new data structure to represent CSP computations called track. A track is a data structure which represents the sequence of expressions that have been evaluated during the computation, and moreover, it is labeled with the location of these expressions in the specification. The implementation of a dynamic slicer for CSP is useful for debugging, program comprehension, and program specialization, and it is also interesting from a theoretical perspective because CSP introduces difficulties such as heavy concurrency and non-determinism, synchronizations, frequent absence of data dependence, etc. © 2016 Elsevier B.V. All rights reserved |
| publishDate |
2016 |
| dc.date.none.fl_str_mv |
2016 2016-04-01 |
| dc.type.none.fl_str_mv |
journal article http://purl.org/coar/resource_type/c_6501 VoR http://purl.org/coar/version/c_970fb48d4fbd8a85 |
| dc.type.openaire.fl_str_mv |
info:eu-repo/semantics/article |
| format |
article |
| dc.identifier.none.fl_str_mv |
https://riunet.upv.es/handle/10251/80770 |
| url |
https://riunet.upv.es/handle/10251/80770 |
| dc.language.none.fl_str_mv |
Inglés eng |
| language_invalid_str_mv |
Inglés |
| language |
eng |
| dc.relation.none.fl_str_mv |
Ministerio de Economía y Competitividad http://dx.doi.org/10.13039/501100003329 TIN2013-44742-C4-1-R VALIDACION ASISTIDA DE PROGRAMAS MEDIANTE METODOS PRECISOS Y RIGUROSOS PARA UNA INGENIERIA DEL SOFTWARE ROBUSTA Generalitat Valenciana https://doi.org/10.13039/501100003359 PROMETEOII%2F2015%2F013 SmartLogic: Logic Technologies for Software Security and Performance Caja de Ahorros del Mediterráneo https://doi.org/10.13039/100012818 S2013%2FICE-2731 European Commission https://doi.org/10.13039/501100000780 FP7 610686 Programming Large Scale Heterogeneous Infrastructures |
| dc.rights.none.fl_str_mv |
open access http://purl.org/coar/access_right/c_abf2 Reserva de todos los derechos http://rightsstatements.org/vocab/InC/1.0/ |
| dc.rights.openaire.fl_str_mv |
info:eu-repo/semantics/openAccess |
| rights_invalid_str_mv |
open access http://purl.org/coar/access_right/c_abf2 Reserva de todos los derechos http://rightsstatements.org/vocab/InC/1.0/ |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
application/pdf application/pdf |
| dc.publisher.none.fl_str_mv |
Elsevier |
| publisher.none.fl_str_mv |
Elsevier |
| dc.source.none.fl_str_mv |
reponame:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia instname:Universitat Politècnica de València (UPV) |
| instname_str |
Universitat Politècnica de València (UPV) |
| reponame_str |
RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia |
| collection |
RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia |
| repository.name.fl_str_mv |
|
| repository.mail.fl_str_mv |
|
| _version_ |
1869421978205552640 |
| score |
15.301603 |