Method-Level Bug Prediction

被引:0
|
作者
Giger, Emanuel [1 ]
D'Ambros, Marco [2 ]
Pinzger, Martin [3 ]
Gall, Harald C. [1 ]
机构
[1] Univ Zurich, CH-8006 Zurich, Switzerland
[2] Univ Lugano, Lugano, Switzerland
[3] Delft Univ Technol, NL-2600 AA Delft, Netherlands
关键词
method-level bug prediction; fine-grained source code changes; code metrics; STATIC CODE ATTRIBUTES; SOFTWARE; METRICS; FAULTS; VALIDATION; COMPLEXITY; QUALITY;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Researchers proposed a wide range of approaches to build effective bug prediction models that take into account multiple aspects of the software development process. Such models achieved good prediction performance, guiding developers towards those parts of their system where a large share of bugs can be expected. However, most of those approaches predict bugs on file-level. This often leaves developers with a considerable amount of effort to examine all methods of a file until a bug is located. This particular problem is reinforced by the fact that large files are typically predicted as the most bug-prone. In this paper, we present bug prediction models at the level of individual methods rather than at file-level. This increases the granularity of the prediction and thus reduces manual inspection efforts for developers. The models are based on change metrics and source code metrics that are typically used in bug prediction. Our experiments-performed on 21 Java open-source (sub) systems-show that our prediction models reach a precision and recall of 84% and 88%, respectively. Furthermore, the results indicate that change metrics significantly outperform source code metrics.
引用
收藏
页码:171 / 180
页数:10
相关论文
共 50 条
  • [21] A scalable method-level parallel library and its improvement
    Zhang, Yang
    Ji, Weixing
    JOURNAL OF SUPERCOMPUTING, 2012, 61 (03): : 1154 - 1167
  • [22] Heuristics for profile-driven method-level speculative parallelization
    Whaley, J
    Kozyrakis, C
    2005 International Conference on Parallel Processsing, Proceedings, 2005, : 147 - 156
  • [23] Lightweight Method-level Energy Consumption Estimation for Android Applications
    Lu, Qiong
    Wu, Tianyong
    Yan, Jiwei
    Yan, Jun
    Ma, Feifei
    Zhang, Fan
    2016 10TH INTERNATIONAL SYMPOSIUM ON THEORETICAL ASPECTS OF SOFTWARE ENGINEERING (TASE), 2016, : 144 - 151
  • [24] Empirical Study on Method-level Refactoring Using Machine Learning
    Panigrahi, Rasmita
    Kuanar, Sanjay Kumar
    Kumar, Lov
    NEXT GENERATION OF INTERNET OF THINGS, 2023, 445 : 663 - 673
  • [25] Method-Level Code Clone Modification Environment Using CloneManager
    Kodhai, E.
    Kanmani, S.
    MODERN TRENDS AND TECHNIQUES IN COMPUTER SCIENCE (CSOC 2014), 2014, 285 : 529 - 539
  • [26] Incidence of code smells in the application of design patterns: a method-level analysis
    Assuncao, Ederson
    Souza, Rodrigo
    SBCARS'19: PROCEEDINGS OF THE XIII BRAZILIAN SYMPOSIUM ON SOFTWARE COMPONENTS, ARCHITECTURES, AND REUSE, 2019, : 73 - 82
  • [27] Automatic Software Refactoring via Weighted Clustering in Method-Level Networks
    Wang, Ying
    Yu, Hai
    Zhu, Zhiliang
    Zhang, Wei
    Zhao, Yuli
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2018, 44 (03) : 202 - 236
  • [28] An extensive study of class-level and method-level test case selection for continuous integration
    Li, Yingling
    Wang, Junjie
    Yang, Yun
    Wang, Qing
    JOURNAL OF SYSTEMS AND SOFTWARE, 2020, 167
  • [29] Method-level program dependence abstraction and its application to impact analysis
    Cai, Haipeng
    Santelices, Raul
    JOURNAL OF SYSTEMS AND SOFTWARE, 2016, 122 : 311 - 326
  • [30] Method-level incremental code clone detection using hybrid approach
    Kodhai, E.
    Kanmani, S.
    INTERNATIONAL JOURNAL OF COMPUTER APPLICATIONS IN TECHNOLOGY, 2016, 54 (04) : 279 - 289