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

skip to main content
10.1145/3106237.3122818acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
short-paper

Cherry-picking of code commits in long-running, multi-release software

Published: 21 August 2017 Publication History

Abstract

This paper presents Tartarian, a tool that supports maintenance of software with long-running, multi-release branches in distributed version control systems. When new maintenance code, such as bug fixes and code improvement, is committed into a branch, it is likely that such code can be applied or reused with some other branches. To do so, a developer may manually identify a commit and cherry pick it. Tartarian can support this activity by providing commit hashtags, which the developer uses as metadata to specify their intentions when committing the code. With these tags, Tartarian uses dependency graph, that represents the dependency constraints of the branches, and Branch Identifier, which matches the commit hashtags with the dependency graph, to identify the applicable branches for the commits. Using Tartarian, developers may be able to maintain software with multiple releases more efficiently. A video demo of Tartarian is available at www.github.com/tartarian.

References

[1]
Jorge Aranda and Gina Venolia. 2009. The secret life of bugs: Going past the errors and omissions in software repositories. In Proceedings of the 31st International Conference on Software Engineering (ICSE ’09). IEEE Computer Society, Washington, DC, USA, 298-308.
[2]
Stefan Bellon, Rainer Koschke, Giulio Antoniol, Jens Krinke, and Ettore Merlo. 2007. Comparison and evaluation of clone detection tools. IEEE Transactions on software engineering, Vol. 33, no. 9. IEEE.
[3]
Casalnuovo, Casey. Analyzing and Generating Commit Messages for Software Repositories. Diss. University of Delaware, 2013.
[4]
CortàźĽs-Coy, Luis Fernando, et al. 2014. On automatically generating commit messages via summarization of source code changes. In Proceedings of the 14th International Working Conference on Source Code Analysis and Manipulation (SCAM ’14). IEEE, USA, 275-284.
[5]
Philip J. Guo, Thomas Zimmermann, Nachiappan Nagappan, and Brendan Murphy. 2010. Characterizing and predicting which bugs get fixed: an empirical study of Microsoft Windows. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1 (ICSE ’10), Vol. 1. ACM, New York, NY, USA, 495-504.
[6]
Siyuan Jiang and Collin McMillan. 2017. Towards automatic generation of short summaries of commits. In Proceedings of the 25th International Conference on Program Comprehension (ICPC ’17). IEEE Press, Piscataway, NJ, USA, 320-323.
[7]
Eirini Kalliamvakou, Daniela Damian, Kelly Blincoe, Leif Singer, and Daniel M. German. 2015. Open source-style collaborative development practices in commercial projects using GitHub. In Proceedings of the 37th International Conference on Software Engineering - Volume 1 (ICSE ’15), Vol. 1. IEEE Press, Piscataway, NJ, USA, 574-585.
[8]
Neo Technology. Cypher Introduction. http://neo4j.com/docs/developermanual/current/cypher/#cypher-intro. Retrieved July, 2017.
[9]
Neo Technology. Neo4J. http://neo4j.com. Retrieved July, 2017.
[10]
Chanchal K. Roy, James R. Cordy, and Rainer Koschke. 2009. Comparison and evaluation of code clone detection techniques and tools: A qualitative approach. Sci. Comput. Program. 74, 7 (May 2009), 470-495.
[11]
Amitabh Srivastava, Jay Thiagarajan, and Craig Schertz. 2005. Efficient integration testing using dependency analysis. Technical Report MSR-TR-2005-94, Vol. 82. Microsoft Research.
[12]
Oracle. Java Platform, Standard Edition Oracle JDK 9 Migration Guide. https://docs.oracle.com/javase/9/migrate/. Retrieved June, 2017.
[13]
Oracle. Deprecated API. https://docs.oracle.com/javase/8/docs/api/deprecatedlist.html. Retrieved June, 2017.

Cited By

View all
  • (2024)A Meta-Study of Software-Change IntentionsACM Computing Surveys10.1145/3661484Online publication date: 25-Apr-2024
  • (2023)Analysis and Propagation of Feature Revisions in Preprocessor-based Software Product Lines2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER56733.2023.00035(284-295)Online publication date: Mar-2023
  • (2023)Dependency Facade: The Coupling and Conflicts between Android Framework and Its Customization2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)10.1109/ICSE48619.2023.00144(1674-1686)Online publication date: May-2023

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEC/FSE 2017: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering
August 2017
1073 pages
ISBN:9781450351058
DOI:10.1145/3106237
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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 August 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. cherry pick
  2. dependency
  3. git
  4. github
  5. version control system

Qualifiers

  • Short-paper

Conference

ESEC/FSE'17
Sponsor:

Acceptance Rates

Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)3
Reflects downloads up to 14 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)A Meta-Study of Software-Change IntentionsACM Computing Surveys10.1145/3661484Online publication date: 25-Apr-2024
  • (2023)Analysis and Propagation of Feature Revisions in Preprocessor-based Software Product Lines2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER56733.2023.00035(284-295)Online publication date: Mar-2023
  • (2023)Dependency Facade: The Coupling and Conflicts between Android Framework and Its Customization2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)10.1109/ICSE48619.2023.00144(1674-1686)Online publication date: May-2023

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