Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3639478.3643079acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
short-paper

A Study of Backporting Code in Open-Source Software for Characterizing Changesets

Published: 23 May 2024 Publication History

Abstract

The software development process, shaped by stakeholder feedback, encompasses the creation of diverse versions tailored for customization and addressing hardware limitations. Maintaining these versions involves initiating the transfer of changes for reuse. In the context of a pull-based development model, where the development branch remains current, the term "backporting" is coined to sustain stable versions. Stability requirements may necessitate fewer changes, compatible modifications, or security checks. Consequently, we conducted an analysis of 37,460 backports from 223,602 pull requests in open-source GitHub projects, aiming to identify types of incompatibilities encountered in real-life scenarios. We manually pinpointed various reasons why pull requests may lack compatibility with other versions, including contextual differences, varying dependencies, and statement-level alterations. This study constitutes the inaugural comprehensive characterization of changesets during the porting process across different versions with incompatibilities. The acquired insights can serve as a foundation for automated slicing and adaptation of changesets in stable software versions.

References

[1]
Debasish Chakroborti, Kevin A. Schneider, and Chanchal K. Roy. Backports: Change types, challenges and strategies. In Proceedings of the 30th IEEE/ACM International Conference on Program Comprehension, ICPC '22, page 636--647, New York, NY, USA, 2022. Association for Computing Machinery.
[2]
Baishakhi Ray and Miryung Kim. A case study of cross-system porting in forked projects. In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE '12, New York, NY, USA, 2012. Association for Computing Machinery.
[3]
T. Hoang, J. Lawall, Y. Tian, R. J. Oentaryo, and D. Lo. Patchnet: Hierarchical deep learning-based stable patch identification for the linux kernel. IEEE Transactions on Software Engineering, pages 1--1, 2019.
[4]
Baishakhi Ray, Miryung Kim, Suzette Person, and Neha Rungta. Detecting and characterizing semantic inconsistencies in ported code. In 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 367--377, 2013.
[5]
Julia Lawall, Derek Palinski, Lukas Gnirke, and Gilles Muller. Fast and precise retrieval of forward and back porting information for linux device drivers. In Proceedings of the 2017 USENIX Conference on Usenix Annual Technical Conference, USENIX ATC '17, page 15--26, USA, 2017. USENIX Association.
[6]
Daniel M. German, Massimiliano Di Penta, Yann-Gael Gueheneuc, and Giuliano Antoniol. Code siblings: Technical and legal implications of copying code between applications. In 2009 6th IEEE International Working Conference on Mining Software Repositories, pages 81--90, 2009.
[7]
D. Chakroborti, K. Schneider, and C. Roy. Reback: Recommending backports in social coding environments. Journal of Automated Software Engineering, ASE-24:e-page-number, 2024.
[8]
Luyao Ren. Automated patch porting across forked projects. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2019, page 1199--1201, New York, NY, USA, 2019. Association for Computing Machinery.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE-Companion '24: Proceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings
April 2024
531 pages
ISBN:9798400705021
DOI:10.1145/3639478
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

In-Cooperation

  • Faculty of Engineering of University of Porto

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 May 2024

Check for updates

Author Tags

  1. porting
  2. backport
  3. pull-request
  4. commit
  5. github

Qualifiers

  • Short-paper

Funding Sources

  • Natural Sciences and Engineering Research Council of Canada (NSERC)
  • Canada First Research Excellence Fund (CFREF)

Conference

ICSE-Companion '24
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 54
    Total Downloads
  • Downloads (Last 12 months)54
  • Downloads (Last 6 weeks)6
Reflects downloads up to 13 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media