Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/2820518.2820565acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Toward reusing code changes

Published: 16 May 2015 Publication History

Abstract

Existing techniques have succeeded to help developers implement new code. However, they are insufficient to help to change existing code. Previous studies have proposed techniques to support bug fixes but other kinds of code changes such as function enhancements and refactorings are not supported by them. In this paper, we propose a novel system that helps developers change existing code. Unlike existing techniques, our system can support any kinds of code changes if similar code changes occurred in the past. Our research is still on very early stage and we have not have any implementation or any prototype yet. This paper introduces our research purpose, an outline of our system, and how our system is different from existing techniques.

References

[1]
M. Grechanik, C. Fu, Q. Xie, C. McMillan, D. Poshyvanyk, and C. Cumby, "A Search Engine for Finding Highly Relevant Applications," in Proceedings of the 32nd International Conference on Software Engineering, 2010.
[2]
K. Inoue, R. Yokomori, T. Yamamoto, M. Matsushita, and S. Kusumoto, "Ranking Significance of Software Components Based on Use Relations," IEEE Transactions on Software Engineering, vol. 31, no. 3, 2005.
[3]
C. McMillan, M. Grechanik, D. Poshyvanyk, Q. Xie, and C. Fu, "Portfolio: Finding Relevant Functions and Their Usage," in Proceedings of the 33rd International Conference on Software Engineering, 2011.
[4]
J. Koskinen, "Software Maintenance Costs," http://web.archive.org/web/20040202105224/http://www.cs.jyu.fi/~koskinen/smcosts.htm.
[5]
Y. Higo, Y. Ueda, S. Kusumoto, and K. Inoue, "Simultaneous Modification Support Based on Code Clone Analysis," in Proceedings of the 14th Asia-Pacific Software Engineereing Conference, 2007.
[6]
Y. Higo and S. Kusumoto, "How Often Do Unintended Incosistencies Happend? --Deriving Modification Patterns and Detecting Overlooked Code Fragments--," in Proceedings of the 2012 28th IEEE International Conference on Software Maintenance, 2012.
[7]
K. Herzig and A. Zeller, "The Impact of Tangled Code Changes," in Proceedings of the 10th Working Conference on Mining Software Repositories, 2013.
[8]
H. Kirinuki, Y. Higo, K. Hotta, and S. Kusumoto, "Hey! Are You Committing Tangled Changes?" in Proceedings of the 22nd International Conference on Program Comprehension, 2014.
[9]
A. Corazza, S. D. Martino, V. Maggio, and G. Scanniello, "Investigating the Use of Lexical Information for Software System Clustering," in Proceedings of the 2011 15th European Conference on Software Maintenance and Reengineering, 2011.
[10]
I. Keivanloo, J. Rilling, and P. Charland, "Internet-scale Real-time Code Clone Search Via Multi-level Indexing," in Proceedings of the 2011 18th Working Conference on Reverse Engineering, 2011.
[11]
M. Acharya, T. Xie, J. Pei, and J. Xu, "Mining API Patterns As Partial Orders from Source Code: From Usage Scenarios to Specifications," in Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering, 2007.
[12]
R. P. L. Buse and W. Weimer, "Synthesizing API Usage Examples," in Proceedings of the 34th International Conference on Software Engineering, 2012.
[13]
H. A. Nguyen, T. T. Nguyen, G. Wilson, Jr., A. T. Nguyen, M. Kim, and T. N. Nguyen, "A Graph-based Approach to API Usage Adaptation," in Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, 2010.
[14]
H. Zhong, T. Xie, L. Zhang, J. Pei, and H. Mei, "MAPO: Mining and Recommending API Usage Patterns," in Proceedings of the 23rd European Conference on Object-Oriented Programming, 2009.
[15]
L. Barbour, F. Khomh, and Y. Zou, "An Empirical Study of Faults in Late Propagation Clone Genealogies," Journal of Software: Evolution and Process, vol. 25, no. 11, 2007.
[16]
B. S. Baker, "Parameterized Duplication in Strings: Algorithms and an Application to Software Maintenance," SIAM Journal on Computing, vol. 26, no. 5, 1997.
[17]
H. A. Nguyen, A. T. Nguyen, T. T. Nguyen, T. N. Nguyen, and H. Rajan, "A Study of Repetitiveness of Code Changes in Software Evolution," in Proceedings of the 28th International Conference on Automated Software Engineering, 2013.
[18]
S. Negara, M. Codoban, D. Dig, and R. E. Johnson, "Mining Fine-grained Code Changes to Detect Unknown Change Patterns," in Proceedings of the 36th International Conference on Software Engineering, 2014.
[19]
E. T. Barr, Y. Brun, P. Devanbu, M. Harman, and F. Sarro, "The Plastic Surgery Hypothesis," in Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2014.
[20]
X. Wang, D. Lo, J. Cheng, L. Zhang, H. Mei, and J. X. Yu, "Matching Dependence-related Queries in the System Dependence Graph," in Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, 2010.
[21]
N. Meng, M. Kim, and K. S. McKinley, "LASE: Locating and Applying Systematic Edits by Learning from Examples," in Proceedings of the 2013 International Conference on Software Engineering, 2013.
[22]
J. Falleri, F. Morandat, X. Blanc, M. Martinez, and M. Montperrus, "Fine-grained and Accurate Source Code Differencing," in Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, 2014.
[23]
B. Fluri, M. Wuersch, M. PInzger, and H. Gall, "Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction," IEEE Transactions on Software Engineering, vol. 33, no. 11, 2007.
[24]
C. Le Goues, M. Dewey-Vogt, S. Forrest, and W. Weimer, "A Systematic Study of Automated Program Repair: Fixing 55 out of 105 Bugs for $8 Each," in Proceedings of the 34th International Conference on Software Engineering, 2012.
[25]
D. Kim, J. Nam, J. Song, and S. Kim, "Automatic Patch Generation Learned from Human-written Patches," in Proceedings of the 2013 International Conference on Software Engineering, 2013.
[26]
H. D. T. Nguyen, D. Qi, A. Roychoudhury, and S. Chandra, "SemFix: Program Repair via Semantic Analysis," in Proceedings of the 2013 International Conference on Software Engineering, 2013.
[27]
S. Chandra, E. Torlak, S. Barman, and R. Bodik, "Angelic Debugging," in Proceedings of the 33rd International Conference on Software Engineering, 2011.
[28]
W. B. Langdon, M. Modat, J. Petke, and M. Harman, "Improving 3D Medical Image Registration CUDA Software with Genetic Programming," in Proceedings of the 2014 Conference on Genetic and Evolutionary Computation, 2014.
[29]
D. R. White, A. Arcuri, and J. A. Clark, "Evolutionary Improvement of Programs," IEEE Transactions on Evolutionary Computation, vol. 15, no. 4, 2011.
[30]
M. Fokaefs, N. Tsantalis, E. Stroulia, and A. Chatzigeorgiou, "Identification and Application of Extract Class Refactorings in Object-oriented Systems," Journal of Systems and Software, vol. 85, no. 10, 2012.
[31]
A. Han and D. Bae, "Dynamic Profiling-based Approach to Identifying Cost-effective Refactorings," Information and Software Technology, vol. 55, no. 6, 2013.
[32]
J. Henkel and A. Diwan, "CatchUp!: Capturing and Replaying Refactorings to Support API Evolution," in Proceedings of the 27th International Conference on Software Engineering, 2005.
[33]
N. Tsantalis and A. Chatzigeorgiou, "Identification of Move Method Refactoring Opportunities," IEEE Transactions on Software Engineering, vol. 35, no. 3, 2009.

Cited By

View all
  • (2016)Toward improving ability to repair bugs automaticallyProceedings of the 31st Annual ACM Symposium on Applied Computing10.1145/2851613.2851770(1364-1370)Online publication date: 4-Apr-2016

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
MSR '15: Proceedings of the 12th Working Conference on Mining Software Repositories
May 2015
542 pages
ISBN:9780769555942

Sponsors

Publisher

IEEE Press

Publication History

Published: 16 May 2015

Check for updates

Author Tags

  1. change reuse
  2. code clone
  3. source code analysis

Qualifiers

  • Research-article

Conference

ICSE '15
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 25 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2016)Toward improving ability to repair bugs automaticallyProceedings of the 31st Annual ACM Symposium on Applied Computing10.1145/2851613.2851770(1364-1370)Online publication date: 4-Apr-2016

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