Semantic Versioning for Python']Python Programs

被引:0
|
作者
Carvalho, Luis [1 ]
机构
[1] NOVA Univ Lisbon, Lisbon, Portugal
来源
COMPANION PROCEEDINGS OF THE 2023 ACM SIGPLAN INTERNATIONAL CONFERENCE ON SYSTEMS, PROGRAMMING, LANGUAGES, AND APPLICATIONS: SOFTWARE FOR HUMANITY, SPLASH COMPANION 2023 | 2023年
关键词
Software evolution; type theory;
D O I
10.1145/3618305.3623589
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
We propose a language-based approach to software versioning. Unlike the traditional approach of mainstream version control systems, where each evolution step is represented by a textual diff, we treat versions as programming elements. Each evolution step, merge operation, and version relationship, is represented explicitly in the program. This provides compile time guarantees for safety code reuse from previous versions, as well as forward and backwards compatibility between versions, allowing clients to use newly introduced code without needing to refactor their program. By lifting the versioning to the language level, we pave the way for tools that interact with software repositories to have more insight regarding the evolution of the software semantics.
引用
收藏
页码:13 / 15
页数:3
相关论文
共 50 条
  • [1] Interactive Python']Python Programs for Crystallography
    Julian, M.
    Julian, F.
    Jones, H.
    ACTA CRYSTALLOGRAPHICA A-FOUNDATION AND ADVANCES, 2020, 76 : A66 - A66
  • [2] ESBMC-Python']Python: A Bounded Model Checker for Python']Python Programs
    Farias, Bruno
    Menezes, Rafael
    de Lima Filho, Eddie B.
    Sun, Youcheng
    Cordeiro, Lucas C.
    PROCEEDINGS OF THE 33RD ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2024, 2024, : 1836 - 1840
  • [3] Dynamic Slicing of Python']Python Programs
    Chen, Zhifei
    Chen, Lin
    Zhou, Yuming
    Xu, Zhaogui
    Chu, William C.
    Xu, Baowen
    2014 IEEE 38TH ANNUAL INTERNATIONAL COMPUTERS, SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), 2014, : 219 - 228
  • [4] Discovering Parallelisms in Python']Python Programs
    Wei, Siwei
    Song, Guyang
    Zhu, Senlin
    Ruan, Ruoyi
    Zhu, Shihao
    Cai, Yan
    PROCEEDINGS OF THE 31ST ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2023, 2023, : 832 - 844
  • [5] Measuring Polymorphism in Python']Python Programs
    Akerblom, Beatrice
    Wrigstad, Tobias
    ACM SIGPLAN NOTICES, 2016, 51 (02) : 114 - 128
  • [6] Portable Parallel Programs with Python']Python and OpenCL
    Di Pierro, Massimo
    COMPUTING IN SCIENCE & ENGINEERING, 2014, 16 (01) : 34 - 40
  • [7] Model Checking Python']Python Programs with MSVL
    Shu, Xinfeng
    Gao, Fengyun
    Gao, Weiran
    Zhang, Lili
    Wang, Xiaobing
    Zhao, Liang
    STRUCTURED OBJECT-ORIENTED FORMAL LANGUAGE AND METHOD (SOFL+MSVL 2019), 2020, 12028 : 205 - 224
  • [8] Detecting Code Smells in Python']Python Programs
    Chen, Zhifei
    Chen, Lin
    Ma, Wanwangying
    Xu, Baowen
    2016 INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, TESTING AND EVOLUTION (SATE 2016), 2016, : 18 - 23
  • [9] Writing Analytic Element Programs in Python']Python
    Bakker, Mark
    Kelson, Victor A.
    GROUND WATER, 2009, 47 (06) : 828 - 834
  • [10] ESTIMATING COMPLEXITY OF PROGRAMS IN PYTHON']PYTHON LANGUAGE
    Misra, Sanjay
    Cafer, Ferid
    TEHNICKI VJESNIK-TECHNICAL GAZETTE, 2011, 18 (01): : 23 - 32