Identifying Utility Functions in Java']Java and Java']JavaScript

被引:1
作者
Mendes, Tamara [1 ]
Valente, Marco Tulio [1 ]
Hora, Andre [1 ]
机构
[1] Univ Fed Minas Gerais, Dept Ciencia Comp, Belo Horizonte, MG, Brazil
来源
PROCEEDINGS OF 2016 X BRAZILIAN SYMPOSIUM ON SOFTWARE COMPONENTS, ARCHITECTURES AND REUSE (SBCARS) | 2016年
关键词
Utility functions; Refactoring; Software Architecture; Modularization; Machine Learning;
D O I
10.1109/SBCARS.2016.16
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Utility functions provide generic services that can be reused in different types of systems. Theoretically, they must be implemented in specific modules. However, it is common to find such functions implemented with domain specific functions, decreasing their chances of reuse. In this paper, we propose a set of heuristics to identify utility functions. With such heuristics, recommendations can be provided to move the functions to appropriate modules. In a survey conducted with 33 developers, the proposed heuristics showed a precision of 66% and 67% when applied to Java and JavaScript systems, respectively.
引用
收藏
页码:121 / 130
页数:10
相关论文
共 18 条
  • [1] Abebe S. L., 2012, 2012 19th Working Conference on Reverse Engineering (WCRE), P235, DOI 10.1109/WCRE.2012.33
  • [2] Empirical characterization of random forest variable importance measures
    Archer, Kelfie J.
    Kirnes, Ryan V.
    [J]. COMPUTATIONAL STATISTICS & DATA ANALYSIS, 2008, 52 (04) : 2249 - 2260
  • [3] Avelino Guilherme, 2016, Proceedings of IEEE 24th International Conference on Program Comprehension (ICPC), P1
  • [4] Methodbook: Recommending Move Method Refactorings via Relational Topic Models
    Bavota, Gabriele
    Oliveto, Rocco
    Gethers, Malcom
    Poshyvanyk, Denys
    De Lucia, Andrea
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2014, 40 (07) : 671 - 694
  • [5] Bloch Joshua, 2008, Effective java
  • [6] Random forests
    Breiman, L
    [J]. MACHINE LEARNING, 2001, 45 (01) : 5 - 32
  • [7] An Empirical Study of Delays in the Integration of Addressed Issues
    da Costa, Daniel Alencar
    Abebe, Surafel Lemma
    McIntosh, Shane
    Kulesza, Uira
    Hassan, Ahmed E.
    [J]. 2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2014, : 281 - 290
  • [8] Dias M, 2015, 2015 22ND INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), P341, DOI 10.1109/SANER.2015.7081844
  • [9] Fokaefs M, 2007, PROC IEEE INT CONF S, P467
  • [10] Fowler M., 1999, Refactoring: Improving the design of existing code