[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2857218.2857224acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmedesConference Proceedingsconference-collections
research-article

On the use of time series and search based software engineering for refactoring recommendation

Published: 25 October 2015 Publication History

Abstract

To improve the quality of software systems, one of the widely used techniques is refactoring, defined as the process of improving the design of an existing system by changing its internal structure without altering the external behavior. The majority of existing refactoring works do not consider the impact of recommended refactorings on the quality of future releases of a system. In this paper, we propose to combine the use of search-based software engineering with time series to recommend good refactoring strategies in order to manage technical debt. We used a multi-objective algorithm to generate refactoring solutions that maximize the correction of important quality issues and minimize the effort. For these two fitness functions, we adapted time series forecasting to estimate the impact of the generated refactorings solution on future next releases of the system by predicting the evolution of the remaining code smells in the system, after refactoring, using different quality metrics. We evaluated our approach on one industrial project and a benchmark of 4 open source systems. The results confirm the efficiency of our technique to provide better refactoring management comparing to several existing refactoring techniques.

References

[1]
Box, G. E. P., and Jenkins, G. (1994), Time Series Analysis: Forecasting and Control, Holden-Day. 3rd Edition, Prentice-Hall: New York, NY, USA.
[2]
Björn Schelter, Matthias Winterhalder, Jens Timmer (2006) Handbook of Time Series Analysis: Recent Theoretical Developments and Applications. Wiley-VCH.
[3]
Uzma Raja, David P. Hale, Joanne E. Hale: Modeling software evolution defects: a time series approach. Journal of Software Maintenance 21(1): 49--71 (2009).
[4]
Cesar Couto, Pedro Pires, Marco Tulio Valente, Roberto da Silva Bigonha, Nicolas Anquetil: Predicting software defects with causality tests. Journal of Systems and Software 93: 24--41 (2014).
[5]
Gerardo Canfora, Michele Ceccarelli, Luigi Cerulo, Massimiliano Di Penta: Using multivariate time series and association rules to detect logical change coupling: An empirical study. ICSM 2010: 1--10
[6]
Giuliano Antoniol, Gerardo Casazza, Massimiliano Di Penta, Ettore Merlo: Modeling Clones Evolution through Time Series. ICSM 2001: 273--280
[7]
F. Qayum, R. Heckel, Local search-based refactoring as graph transformation. Proceedings of 1st International Symposium on Search Based Software Engineering; pp. 43--46, 2009.
[8]
Fabio Palomba, Gabriele Bavota, Massimiliano Di Penta, Rocco Oliveto, Andrea De Lucia, Denys Poshyvanyk: Detecting bad smells in source code using change history information. ASE 2013: 268--278
[9]
H. Kilic, E. Koc, and I. Cereci. Search-based parallel refactoring using population-based direct approaches. In Proceedings of the Third international Conference on Search Based Software Engineering, SSBSE'11, pages 271--272, 2011.
[10]
Harman, M., Mansouri, S. A., Zhang, Y.: Search-based software engineering: Trends, techniques and applications. ACM Computing Surveys, 45(1):11 (2012).
[11]
Harman, M.: The Relationship between search based software engineering and predictive modeling. In Proc. of the International Conference on Predictive Models in Software Engineering, pp. 1--13 (2013).
[12]
Kessentini, M., Kessentini, W., Sahraoui, H., Boukadoum, M., Ouni, A.: Design defects detection and correction by example. In Proc. of the IEEE International Conference on Program Comprehension, pp. 81--90 (2011).
[13]
Kruskal, W. H. and Wallis, W. A.: Use of ranks in one-criterion variance analysis. Journal of the American Statistical Association 47(260), 583--621, (1952).
[14]
M. Fokaefs, N. Tsantalis, E. Stroulia, and A. Chatzigeorgiou, JDeodorant: identification and application of extract class refactorings. International Conference on Software Engineering (ICSE), pp. 1037--1039, 2011.
[15]
M. Harman, and L. Tratt, Pareto optimal search based refactoring at the design level, In: Proceedings of the Genetic and Evolutionary Computation Conference (GECCO'07), pp. 1106--1113, 2007.
[16]
M. Ó Cinnéide, L. Tratt, M. Harman, S. Counsell, and I. H. Moghadam, Experimental Assessment of Software Metrics Using Automated Refactoring, Proc. Empirical Software Engineering and Management (ESEM), pages 49--58, September 2012.
[17]
Mkaouer, W., Kessentini, M., Bechikh, S., Deb, K., and Ó Cinnéide, M.: High dimensional search-based software engineering: Finding tradeoffs among 15 objectives for automating software refactoring using NSGA-III. In Proc. of the Genetic and Evolutionary Computation Conference, accepted (2014).
[18]
Moha, N., Guéhéneuc, Y.-G., Duchien, L., Meur, A.-F.L.: DECOR: A method for the specification and detection of code and design smells. IEEE Trans. Softw. Eng.36, 20--36, 2009.
[19]
Ouni, A. Kessentini, M. and Sahraoui, H., Hamdi, M. S.: The use of development history in software refactoring using a multi-objective. In Proc. the Genetic and Evolutionary Computation Conference, pp. 1461--1468 (2013).
[20]
T. Mens, T. Tourwé: A Survey of Software Refactoring. IEEE Trans. Software Eng. 30(2), pp. 126--139, 2004.
[21]
Zhang, D.: Machine Learning and software engineering. In Proc. of the International Conference on Tools with Artificial Intelligence, pp.87--119 (2002).
[22]
Martin Fowler: Refactoring - Improving the Design of Existing Code. Addison Wesley object technology series, Addison-Wesley 1999, ISBN 978-0-201-48567-7, pp. I--XXI, 1--431
[23]
K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan, A fast and elitist multiobjective genetic algorithm: NSGA-II, IEEE Trans. Evol. Comput., vol. 6, pp. 182--197, Apr. 2002.
[24]
Jagdish Bansiya and Carl G. Davis. 2002. A Hierarchical Model for Object-Oriented Design Quality Assessment. IEEE Trans. Softw. Eng. 28, 1 (January 2002), 4--17

Cited By

View all
  • (2023)Managing Technical Debt Using Intelligent Techniques - A Systematic Mapping StudyIEEE Transactions on Software Engineering10.1109/TSE.2022.321476449:4(2202-2220)Online publication date: 1-Apr-2023
  • (2022)Towards a Robust Approach to Analyze Time-Dependent Data in Software Engineering2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER53432.2022.00015(36-40)Online publication date: Mar-2022
  • (2022)Iteration Causes, Impact, and Timing in Software Development Lifecycle: An SLRIEEE Access10.1109/ACCESS.2022.318270310(65355-65375)Online publication date: 2022
  • Show More Cited By

Index Terms

  1. On the use of time series and search based software engineering for refactoring recommendation

        Recommendations

        Comments

        Please enable JavaScript to view thecomments powered by Disqus.

        Information & Contributors

        Information

        Published In

        cover image ACM Other conferences
        MEDES '15: Proceedings of the 7th International Conference on Management of computational and collective intElligence in Digital EcoSystems
        October 2015
        271 pages
        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

        • The French Chapter of ACM Special Interest Group on Applied Computing
        • IFSP: Federal Institute of São Paulo

        In-Cooperation

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 25 October 2015

        Permissions

        Request permissions for this article.

        Check for updates

        Author Tags

        1. data-mining
        2. heuristic search
        3. refactoring

        Qualifiers

        • Research-article

        Conference

        MEDES '15
        Sponsor:
        • IFSP

        Acceptance Rates

        MEDES '15 Paper Acceptance Rate 13 of 64 submissions, 20%;
        Overall Acceptance Rate 267 of 682 submissions, 39%

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)4
        • Downloads (Last 6 weeks)1
        Reflects downloads up to 14 Dec 2024

        Other Metrics

        Citations

        Cited By

        View all
        • (2023)Managing Technical Debt Using Intelligent Techniques - A Systematic Mapping StudyIEEE Transactions on Software Engineering10.1109/TSE.2022.321476449:4(2202-2220)Online publication date: 1-Apr-2023
        • (2022)Towards a Robust Approach to Analyze Time-Dependent Data in Software Engineering2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER53432.2022.00015(36-40)Online publication date: Mar-2022
        • (2022)Iteration Causes, Impact, and Timing in Software Development Lifecycle: An SLRIEEE Access10.1109/ACCESS.2022.318270310(65355-65375)Online publication date: 2022
        • (2022)Generation of refactoring algorithms by grammatical evolutionEmpirical Software Engineering10.1007/s10664-022-10151-427:5Online publication date: 30-May-2022
        • (2020)Data Mining and Machine Learning for Software EngineeringData Mining - Methods, Applications and Systems [Working Title]10.5772/intechopen.91448Online publication date: 5-Mar-2020
        • (2020)A Brief Review on Multi-objective Software Refactoring and a New Method for Its RecommendationArchives of Computational Methods in Engineering10.1007/s11831-020-09491-5Online publication date: 17-Sep-2020
        • (2019)Multi-Objective Optimization Techniques for Software Refactoring: A Systematic Literature Review2019 13th International Conference on Mathematics, Actuarial Science, Computer Science and Statistics (MACS)10.1109/MACS48846.2019.9024773(1-7)Online publication date: Dec-2019
        • (2019)SBSR Solution Evaluation: Methods and Challenges Classification2019 5th Conference on Knowledge Based Engineering and Innovation (KBEI)10.1109/KBEI.2019.8734937(181-188)Online publication date: Feb-2019
        • (2017)Detecting Android smells using multi-objective genetic programmingProceedings of the 4th International Conference on Mobile Software Engineering and Systems10.1109/MOBILESoft.2017.29(122-132)Online publication date: 20-May-2017

        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