A Language-Based Version Control System for Python
| Autor(a) principal: | |
|---|---|
| Data de Publicação: | 2024 |
| Outros Autores: | |
| 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 |