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...

ver descrição completa

Detalhes bibliográficos
Autores: 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
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