[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2597008.2597805acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Prioritizing maintainability defects based on refactoring recommendations

Published: 02 June 2014 Publication History

Abstract

As a measure of software quality, current static code analyses reveal thousands of quality defects on systems in brown-field development in practice. Currently, there exists no way to prioritize among a large number of quality defects and developers lack a structured approach to address the load of refactoring. Consequently, although static analyses are often used, they do not lead to actual quality improvement. Our approach recommends to remove quality defects, exemplary code clones and long methods, which are easy to refactor and, thus, provides developers a first starting point for quality improvement. With an empirical industrial Java case study, we evaluate the usefulness of the recommendation based on developers’ feedback. We further quantify which external factors influence the process of quality defect removal in industry software development.

References

[1]
V. Bauer, L. Heinemann, B. Hummel, E. Juergens, and M. Conradt. A framework for incremental quality analysis of large software systems. In ICSM’12, 2012.
[2]
C. Boogerd and L. Moonen. Prioritizing software inspection results using static profiling. In SCAM ’06, 2006.
[3]
C. Boogerd and L. Moonen. Ranking software inspection results using execution likelihood. In Proceedings Philips Software Conference, 2006.
[4]
C. Boogerd and L. Moonen. Using software history to guide deployment of coding standards, chapter 4, pages 39–52. Embedded Systems Institute, Eindhoven, the Netherlands, 2009.
[5]
S. Bouktif, G. Antoniol, E. Merlo, and M. Neteler. A novel approach to optimize clone refactoring activity. In GECCO ’06, 2006.
[6]
F. Deissenboeck, E. Juergens, B. Hummel, S. Wagner, B. M. y Parareda, and M. Pizka. Tool support for continuous quality control. IEEE Softw., 2008.
[7]
S. Ducasse, M. Rieger, G. Golomingi, and B. B. Tool support for refactoring duplicated oo code. In ECOOP’99, 1999.
[8]
S. Eick, T. Graves, A. Karr, J. Marron, and A. Mockus. Does code decay? Assessing the evidence from change management data. IEEE Softw., 2001.
[9]
M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston, MA, USA, 1999.
[10]
Y. Higo, T. Kamiya, S. Kusumoto, and K. Inoue. Refactoring support based on code clone analysis. In Kansai Science City, pages 220–233. Springer, 2004.
[11]
Y. Higo, T. Kamiya, S. Kusumoto, K. Inoue, and K. Words. Aries: Refactoring support environment based on code clone analysis. In SEA 2004, 2004.
[12]
Y. Higo, Y. Ueda, T. Kamiya, S. Kusumoto, and K. Inoue. On software maintenance process improvement based on code clone analysis. In PROFES’02, 2002.
[13]
B. Hummel, E. Juergens, L. Heinemann, and M. Conradt. Index-based code clone detection: Incremental, distributed, scalable. In ICSM’10, 2010.
[14]
E. Juergens, F. Deissenboeck, B. Hummel, and S. Wagner. Do code clones matter? In ICSE ’09, 2009.
[15]
S. K. and M. Ernst. Prioritizing warning categories by analyzing software history. In MSR ’07, 2007.
[16]
R. Koschke, R. Falke, and P. Frenzel. Clone detection using abstract syntax suffix trees. In WCRE ’06, 2006.
[17]
M. M. Lehman. Laws of software evolution revisited. In EWSPT ’96, 1996.
[18]
R. C. Martin. Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall PTR, 2008.
[19]
I. Moore. Automatic inheritance hierarchy restructuring and method refactoring. In OOPSLA ’96, 1996.
[20]
E. Murphy-Hill and A. P. Black. Breaking the barriers to successful refactoring: Observations and tools for extract method. In ICSE ’08, 2008.
[21]
D. Steidl and N. Goede. Feature-based detection of bugs in clones. In IWSC ’13, 2013.
[22]
D. Steidl, B. Hummel, and E. Juergens. Quality analysis of source code comments. In ICPC’13, 2013.
[23]
A. van Deursen and L. Moonen. The video store revisited – thoughts on refactoring and testing. In XP’12, 2002.
[24]
R. Venkatasubramanyam, S. Gupta, and H. Singh. Prioritizing code clone detection results for clone management. In IWSC ’13, 2013.

Cited By

View all
  • (2024)Mind the Gap: The Disconnect Between Refactoring Criteria Used in Industry and Refactoring Recommendation Tools2024 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME58944.2024.00023(138-150)Online publication date: 6-Oct-2024
  • (2023)Long Method Detection Using Graph Convolutional NetworksJournal of Information Processing10.2197/ipsjjip.31.46931(469-477)Online publication date: 2023
  • (2023)Code smell prioritization in object‐oriented software systemsJournal of Software: Evolution and Process10.1002/smr.253635:12Online publication date: 29-Jan-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
ICPC 2014: Proceedings of the 22nd International Conference on Program Comprehension
June 2014
325 pages
ISBN:9781450328791
DOI:10.1145/2597008
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

In-Cooperation

  • TCSE: IEEE Computer Society's Tech. Council on Software Engin.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 June 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Dataflow Analysis
  2. Finding Prioritization
  3. Software Quality

Qualifiers

  • Article

Conference

ICSE '14
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2024)Mind the Gap: The Disconnect Between Refactoring Criteria Used in Industry and Refactoring Recommendation Tools2024 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME58944.2024.00023(138-150)Online publication date: 6-Oct-2024
  • (2023)Long Method Detection Using Graph Convolutional NetworksJournal of Information Processing10.2197/ipsjjip.31.46931(469-477)Online publication date: 2023
  • (2023)Code smell prioritization in object‐oriented software systemsJournal of Software: Evolution and Process10.1002/smr.253635:12Online publication date: 29-Jan-2023
  • (2022)Code Smell Prioritization with Business Process Mining and Static Code Analysis: A Case StudyElectronics10.3390/electronics1112188011:12(1880)Online publication date: 15-Jun-2022
  • (2022)An automated extract method refactoring approach to correct the long method code smellJournal of Systems and Software10.1016/j.jss.2022.111221187:COnline publication date: 12-May-2022
  • (2022)Anti‐bloater class restructuringJournal of Software: Evolution and Process10.1002/smr.243134:3Online publication date: 1-Mar-2022
  • (2021)On the Interplay of Smells Large Class, Complex Class and Duplicate CodeProceedings of the XXXV Brazilian Symposium on Software Engineering10.1145/3474624.3474716(64-73)Online publication date: 27-Sep-2021
  • (2021)IDE support for cloud-based static analysesProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468535(1178-1189)Online publication date: 20-Aug-2021
  • (2021)A Systematic Literature Review on Bad Smells–5 W's: Which, When, What, Who, WhereIEEE Transactions on Software Engineering10.1109/TSE.2018.288097747:1(17-66)Online publication date: 1-Jan-2021
  • (2021)Software refactoring side effectsJournal of Software: Evolution and Process10.1002/smr.2401Online publication date: 28-Oct-2021
  • 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