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

skip to main content
10.1145/2642937.2642948acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article

Recommending refactorings based on team co-maintenance patterns

Published: 15 September 2014 Publication History

Abstract

Refactoring aims at restructuring existing source code when undisciplined development activities have deteriorated its comprehensibility and maintainability. There exist various approaches for suggesting refactoring opportunities, based on different sources of information, e.g., structural, semantic, and historical. In this paper we claim that an additional source of information for identifying refactoring opportunities, sometimes orthogonal to the ones mentioned above, is team development activity. When the activity of a team working on common modules is not aligned with the current design structure of a system, it would be possible to recommend appropriate refactoring operations---e.g., extract class/method/package---to adjust the design according to the teams' activity patterns. Results of a preliminary study---conducted in the context of extract class refactoring---show the feasibility of the approach, and also suggest that this new refactoring dimension can be complemented with others to build better refactoring recommendation tools.

References

[1]
R. Agrawal, T. Imielinski, and A. N. Swami. Mining association rules between sets of items in large databases. In ACM DATA, pages 207--216, 1993.
[2]
G. Bavota, A. De Lucia, A. Marcus, and R. Oliveto. Automating extract class refactoring: an improved method and its evaluation. Empirical Software Engineering, Accepted on Apr 2013.
[3]
C. Bird, N. Nagappan, B. Murphy, H. Gall, and P. T. Devanbu. Don't touch my code!: examining the effects of ownership on software quality. In SIGSOFT/FSE'11, pages 4--14, 2011.
[4]
M. Cataldo, J. D. Herbsleb, and K. M. Carley. Socio-technical congruence: A framework for assessing the impact of technical and work dependencies on software development productivity. In ESEM 2008, pages 2--11. ACM.
[5]
M. L. Collard, H. H. Kagdi, and J. I. Maletic. An XML-based lightweight C++ fact extractor. In IWPC 2003, pages 134--143. IEEE Computer Society.
[6]
M. Fokaefs, N. Tsantalis, E. Stroulia, and A. Chatzigeorgiou. Identification and application of extract class refactorings in object-oriented systems. J. Syst. Softw., 85(10):2241--2260, Oct. 2012.
[7]
M. Fowler. Refactoring: improving the design of existing code. Addison-Wesley, 1999.
[8]
L. Kaufman and P. J. Rousseeuw. Finding Groups in Data: An Introduction to Cluster Analysis. Wiley-Interscience, 2005.
[9]
M. G. Kendall and S. Babington. The problem of m rankings. Annals of Mathematical Statistics, pages 275--287, 1939.
[10]
F. Murtagh and P. Legendre. Ward's hierarchical clustering method: Clustering criterion and agglomerative algorithm. CoRR, abs/1111.6285, 2011.
[11]
A. Ouni, M. Kessentini, H. A. Sahraoui, and M. S. Hamdi. The use of development history in software refactoring using a multi-objective evolutionary algorithm. In GECCO, pages 1461--1468. ACM, 2013.
[12]
F. Palomba, G. Bavota, M. Di Penta, R. Oliveto, A. De Lucia, and D. Poshyvanyk. Detecting bad smells in source code using change history information. In ASE, 2013.
[13]
A. Panichella, B. Dit, R. Oliveto, M. Di Penta, D. Poshyvanyk, and A. De Lucia. How to effectively use topic models for software engineering tasks? an approach based on genetic algorithms. In ICSE 2013, pages 522--531, 2013.
[14]
N. Tsantalis and A. Chatzigeorgiou. Identification of move method refactoring opportunities. IEEE TSE, 35(3):347--367, 2009.
[15]
Z. Wen and V. Tzerpos. An effectiveness measure for software clustering algorithms. In IWPC 2004, pages 194--203.

Cited By

View all
  • (2023)Dependency Update Strategies and Package CharacteristicsACM Transactions on Software Engineering and Methodology10.1145/360311032:6(1-29)Online publication date: 29-Sep-2023
  • (2023)An Accurate Identifier Renaming Prediction and Suggestion ApproachACM Transactions on Software Engineering and Methodology10.1145/360310932:6(1-51)Online publication date: 29-Sep-2023
  • (2023)Rise of Distributed Deep Learning Training in the Big Model Era: From a Software Engineering PerspectiveACM Transactions on Software Engineering and Methodology10.1145/359720432:6(1-26)Online publication date: 29-Sep-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ASE '14: Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
September 2014
934 pages
ISBN:9781450330138
DOI:10.1145/2642937
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 ACM 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: 15 September 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. developers
  2. refactoring
  3. teams

Qualifiers

  • Research-article

Funding Sources

Conference

ASE '14
Sponsor:

Acceptance Rates

ASE '14 Paper Acceptance Rate 82 of 337 submissions, 24%;
Overall Acceptance Rate 82 of 337 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Dependency Update Strategies and Package CharacteristicsACM Transactions on Software Engineering and Methodology10.1145/360311032:6(1-29)Online publication date: 29-Sep-2023
  • (2023)An Accurate Identifier Renaming Prediction and Suggestion ApproachACM Transactions on Software Engineering and Methodology10.1145/360310932:6(1-51)Online publication date: 29-Sep-2023
  • (2023)Rise of Distributed Deep Learning Training in the Big Model Era: From a Software Engineering PerspectiveACM Transactions on Software Engineering and Methodology10.1145/359720432:6(1-26)Online publication date: 29-Sep-2023
  • (2023)Pre-implementation Method Name Prediction for Object-oriented ProgrammingACM Transactions on Software Engineering and Methodology10.1145/359720332:6(1-35)Online publication date: 29-Sep-2023
  • (2023)XCoS: Explainable Code Search Based on Query Scoping and Knowledge GraphACM Transactions on Software Engineering and Methodology10.1145/359380032:6(1-28)Online publication date: 29-Sep-2023
  • (2023)Toward Understanding Deep Learning Framework BugsACM Transactions on Software Engineering and Methodology10.1145/358715532:6(1-31)Online publication date: 29-Sep-2023
  • (2023)Fair Enough: Searching for Sufficient Measures of FairnessACM Transactions on Software Engineering and Methodology10.1145/358500632:6(1-22)Online publication date: 29-Sep-2023
  • (2023)State of Refactoring Adoption: Better Understanding Developer Perception of Refactoring2023 IEEE/ACM 20th International Conference on Mining Software Repositories (MSR)10.1109/MSR59073.2023.00090(635-639)Online publication date: May-2023
  • (2022)Software Refactoring Prediction Using SVM and Optimization AlgorithmsProcesses10.3390/pr1008161110:8(1611)Online publication date: 15-Aug-2022
  • (2022)On the use of textual feature extraction techniques to support the automated detection of refactoring documentationInnovations in Systems and Software Engineering10.1007/s11334-021-00388-518:2(233-249)Online publication date: 1-Jun-2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media