A Language-Based Version Control System for Python

Detalhes bibliográficos
Autor(a) principal: Carvalho, Luís
Data de Publicação: 2024
Outros Autores: Seco, João Costa
Idioma: eng
Título da fonte: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Texto Completo: http://hdl.handle.net/10362/180231
Resumo: This work is supported by EU Horizon Europe under Grant, Agreement no. 101093006 (TaRDIS). Publisher Copyright: © Luís Carvalho and João Costa Seco.
id RCAP_bbb4e7678d0632b7bb5fac705a3fcd2f
oai_identifier_str oai:run.unl.pt:10362/180231
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling A Language-Based Version Control System for PythonSoftware evolutiontype theorySoftwareThis work is supported by EU Horizon Europe under Grant, Agreement no. 101093006 (TaRDIS). Publisher Copyright: © Luís Carvalho and João Costa Seco.We extend prior work on a language-based approach to versioned software development to support versioned programs with mutable state and evolving method interfaces. Unlike the traditional approach of mainstream version control systems, where a textual diff represents each evolution step, we treat versions as programming elements. Each evolution step, merge operation, and version relationship is represented explicitly in a multifaceted code representation. This provides static guarantees for safe code reuse from previous versions and forward and backwards compatibility between versions, allowing clients to use newly introduced code without needing to refactor their program manually. By lifting versioning to the language level, we pave the way for tools that interact with software repositories to have more insight into a system’s behavior evolution. We instantiate our work in the Python programming language and demonstrate its applicability regarding common evolution and refactoring patterns found in different versions of popular Python packages.Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl PublishingFaculdade de Ciências e Tecnologia (FCT)NOVALincsDI - Departamento de InformáticaRUNCarvalho, LuísSeco, João Costa2025-03-06T22:58:28Z2024-092024-09-01T00:00:00Zconference objectinfo:eu-repo/semantics/publishedVersionapplication/pdfhttp://hdl.handle.net/10362/180231eng97839597734161868-8969PURE: 107303023https://doi.org/10.4230/LIPIcs.ECOOP.2024.9info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-03-10T01:34:28Zoai:run.unl.pt:10362/180231Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-29T01:14:08.581500Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv A Language-Based Version Control System for Python
title A Language-Based Version Control System for Python
spellingShingle A Language-Based Version Control System for Python
Carvalho, Luís
Software evolution
type theory
Software
title_short A Language-Based Version Control System for Python
title_full A Language-Based Version Control System for Python
title_fullStr A Language-Based Version Control System for Python
title_full_unstemmed A Language-Based Version Control System for Python
title_sort A Language-Based Version Control System for Python
author Carvalho, Luís
author_facet Carvalho, Luís
Seco, João Costa
author_role author
author2 Seco, João Costa
author2_role author
dc.contributor.none.fl_str_mv Faculdade de Ciências e Tecnologia (FCT)
NOVALincs
DI - Departamento de Informática
RUN
dc.contributor.author.fl_str_mv Carvalho, Luís
Seco, João Costa
dc.subject.por.fl_str_mv Software evolution
type theory
Software
topic Software evolution
type theory
Software
description This work is supported by EU Horizon Europe under Grant, Agreement no. 101093006 (TaRDIS). Publisher Copyright: © Luís Carvalho and João Costa Seco.
publishDate 2024
dc.date.none.fl_str_mv 2024-09
2024-09-01T00:00:00Z
2025-03-06T22:58:28Z
dc.type.driver.fl_str_mv conference object
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10362/180231
url http://hdl.handle.net/10362/180231
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 9783959773416
1868-8969
PURE: 107303023
https://doi.org/10.4230/LIPIcs.ECOOP.2024.9
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
publisher.none.fl_str_mv Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833600885141274624