American Journal of Software Engineering and Applications

| Peer-Reviewed |

Expressions for Source Control Management Systems

Received: 21 June 2022    Accepted: 8 July 2022    Published: 5 September 2022
Views:       Downloads:

Share This Article

Abstract

In the last decades, many standards were established to increase productivity during Software Lifecycle Management. All these techniques and methodologies promise a higher success rate in software projects which could affirm themselves in the case the involved protagonists are willing to follow the instances recommended. Semantic Versioning, for example, addresses the information leak between functional changes, BugFixes and compatibility of existing and future releases of artifacts. Diving deeper into the daily craftsmanship of software projects enables us to identify the Source Control Management Systems (SCM) as a big treasure box. Much information can be extracted from these repositories, which are currently ignored for project analyzing. Expressions on SCM Commit Messages represent a new formalism that is both human-readable and machine-processable. Such a standard also forms a bridge between the code base and the requirements management and release management, since these activities are identified by a freely expandable vocabulary in the SCM. Another advantage of this strategy is the clear and compact expressiveness for development teams. A very practical aspect of my proposal is the easy applicability of the presented solution in real software development projects. As with the Semantic Versioning methodology already mentioned, there are no additional technical requirements to be met, since commit messages are a fundamental function of SCM systems. This paper discusses the option to improve data collection for controlling software projects and knowledge sharing in collaborative teams.

DOI 10.11648/j.ajsea.20221102.11
Published in American Journal of Software Engineering and Applications (Volume 11, Issue 2, December 2022)
Page(s) 22-30
Creative Commons

This is an Open Access article, distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution and reproduction in any medium or format, provided the original work is properly cited.

Copyright

Copyright © The Author(s), 2024. Published by Science Publishing Group

Keywords

Source Control Management (SCM), Configuration Management, Software Lifecycle Management (SLM), Software Engineering, Distributed Development, Team Collaboration, Software Maintenance

References
[1] E. Burton Swanson, 1978, The Dimension of Maintenance.
[2] Walter F. Tichy, 1985, RCS - A System for Version Control.
[3] Chuck Walrad and Darrel Strom, 2002, The Importance of Branching Models in SCM.
[4] Michael Fischer, Martin Pinzger, Harald Gall, 2003, Populating a Release History Database from Version Control and Bug Tracking Systems.
[5] Filip Van Rysselberghe and Serge Demeyer, 2004, Mining Version Control Systems for FACs (Frequently Applied Changes).
[6] Louis Glassy, 2005, Using version control to observe student software development processes.
[7] Abram Hindle and Daniel M. German, 2005, SCQL: a formal model and a query language for source control.
[8] Yongchang Ren, Tao Xing, Qiang Quan, Ying Zhao, 2010, Software Configuration Management of Version Control Study Based on Baseline.
[9] Parminder Kaur and Hardeep Singh, 2011, A Model for Versioning Control Mechanism in Component- Based Systems
[10] Shaun Phillips, Jonathan Sillito, Rob Walker, 2011, Branching and merging: an investigation into current version control practices.
[11] Abdullah Uz Tansel and Ali Koc, 2011, A Survey of Version Control Systems.
[12] Christian Bird et al., 2014, Transition from Centralized to Decentralized Version Control Systems A Case Study on Reasons, Barriers, and Outcomes.
[13] Norman E. Fenton and Shari Lawrence Pfieeger, 1997, PWS Publishing Company, Software Metrics - A Rigorous and Practical Approach 2nd Edition, ISBN O·534·95425·1.
[14] Jez Humble and David Farley, 2010, Addison-Wesley, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, ISBN 0-321-60191-2.
[15] Scott Chacon and Ben Straub, 2014, Apress, Pro Git 2nd Edition, ISBN 978-1-4842-0077-3.
[16] Mike Clark, 2004, The Pragmatic Bookshelf, Pragmatic Project Automation, ISBN 0-9745140-3-9.
[17] Dave Thomas and Andy Hunt, 2003, The Pragmatic Bookshelf, Pragmatic Version Control with CVS, ISBN 0-9745140-0-4.
[18] Mike Mason, 2010, The Pragmatic Bookshelf, Pragmatic Guide to Subversion, ISBN 1-934356-61-1.
[19] Sonatype Inc. (2017), Maven Central, https://search.maven.org
[20] Git (2022), Git Documentation https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows
[21] Vincent Driessen (2022), Git Flow, https://nvie.com/posts/a-successful-git-branching-model/
[22] Martin Folwer, (2022), Feature Toggles, https://www.martinfowler.com/articles/feature-toggles.html
[23] Red Gate Software Ltd. (!999), Database Versioning, https://flywaydb.org
[24] Cris Beams (2022), Writing Git Commit Messages, https://chris.beams.io/posts/git-commit/
[25] Who-T (2009), On Commit Messages, http://who-t.blogspot.mx/2009/12/on-commit-messages.html
[26] Microsoft (20), GitHub Open-Source repository, https://github.com/ElmarDott/TP-CORE/
Cite This Article
  • APA Style

    Marco Schulz. (2022). Expressions for Source Control Management Systems. American Journal of Software Engineering and Applications, 11(2), 22-30. https://doi.org/10.11648/j.ajsea.20221102.11

    Copy | Download

    ACS Style

    Marco Schulz. Expressions for Source Control Management Systems. Am. J. Softw. Eng. Appl. 2022, 11(2), 22-30. doi: 10.11648/j.ajsea.20221102.11

    Copy | Download

    AMA Style

    Marco Schulz. Expressions for Source Control Management Systems. Am J Softw Eng Appl. 2022;11(2):22-30. doi: 10.11648/j.ajsea.20221102.11

    Copy | Download

  • @article{10.11648/j.ajsea.20221102.11,
      author = {Marco Schulz},
      title = {Expressions for Source Control Management Systems},
      journal = {American Journal of Software Engineering and Applications},
      volume = {11},
      number = {2},
      pages = {22-30},
      doi = {10.11648/j.ajsea.20221102.11},
      url = {https://doi.org/10.11648/j.ajsea.20221102.11},
      eprint = {https://article.sciencepublishinggroup.com/pdf/10.11648.j.ajsea.20221102.11},
      abstract = {In the last decades, many standards were established to increase productivity during Software Lifecycle Management. All these techniques and methodologies promise a higher success rate in software projects which could affirm themselves in the case the involved protagonists are willing to follow the instances recommended. Semantic Versioning, for example, addresses the information leak between functional changes, BugFixes and compatibility of existing and future releases of artifacts. Diving deeper into the daily craftsmanship of software projects enables us to identify the Source Control Management Systems (SCM) as a big treasure box. Much information can be extracted from these repositories, which are currently ignored for project analyzing. Expressions on SCM Commit Messages represent a new formalism that is both human-readable and machine-processable. Such a standard also forms a bridge between the code base and the requirements management and release management, since these activities are identified by a freely expandable vocabulary in the SCM. Another advantage of this strategy is the clear and compact expressiveness for development teams. A very practical aspect of my proposal is the easy applicability of the presented solution in real software development projects. As with the Semantic Versioning methodology already mentioned, there are no additional technical requirements to be met, since commit messages are a fundamental function of SCM systems. This paper discusses the option to improve data collection for controlling software projects and knowledge sharing in collaborative teams.},
     year = {2022}
    }
    

    Copy | Download

  • TY  - JOUR
    T1  - Expressions for Source Control Management Systems
    AU  - Marco Schulz
    Y1  - 2022/09/05
    PY  - 2022
    N1  - https://doi.org/10.11648/j.ajsea.20221102.11
    DO  - 10.11648/j.ajsea.20221102.11
    T2  - American Journal of Software Engineering and Applications
    JF  - American Journal of Software Engineering and Applications
    JO  - American Journal of Software Engineering and Applications
    SP  - 22
    EP  - 30
    PB  - Science Publishing Group
    SN  - 2327-249X
    UR  - https://doi.org/10.11648/j.ajsea.20221102.11
    AB  - In the last decades, many standards were established to increase productivity during Software Lifecycle Management. All these techniques and methodologies promise a higher success rate in software projects which could affirm themselves in the case the involved protagonists are willing to follow the instances recommended. Semantic Versioning, for example, addresses the information leak between functional changes, BugFixes and compatibility of existing and future releases of artifacts. Diving deeper into the daily craftsmanship of software projects enables us to identify the Source Control Management Systems (SCM) as a big treasure box. Much information can be extracted from these repositories, which are currently ignored for project analyzing. Expressions on SCM Commit Messages represent a new formalism that is both human-readable and machine-processable. Such a standard also forms a bridge between the code base and the requirements management and release management, since these activities are identified by a freely expandable vocabulary in the SCM. Another advantage of this strategy is the clear and compact expressiveness for development teams. A very practical aspect of my proposal is the easy applicability of the presented solution in real software development projects. As with the Semantic Versioning methodology already mentioned, there are no additional technical requirements to be met, since commit messages are a fundamental function of SCM systems. This paper discusses the option to improve data collection for controlling software projects and knowledge sharing in collaborative teams.
    VL  - 11
    IS  - 2
    ER  - 

    Copy | Download

Author Information
  • Marco Schulz Consulting, Puebla, Mexico

  • Sections