“…Most of them are based on the analysis of the structural properties of source code (e.g., method calls) and on the combination of structural metrics [51], [56], [65], [67], [69], [72], [88], [95], [99], [103], while in recent years the use of alternative sources of information (i.e., historical and textual analysis) have been explored [74], [75], together with methodologies based on machine learning [3], [33] and search-based algorithms [17], [46], [47], [87].…”