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 条
  • [31] Design of a Method-Level Speculation framework for boosting irregular JVM applications
    Anjo, Ivo
    Cachopo, Joao
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2016, 87 : 13 - 25
  • [32] A Method-Level Test Generation Framework for Debugging Big Data Applications
    Feng, Huadong
    Chandrasekaran, Jaganmohan
    Lei, Yu
    Kacker, Raghu
    Kuhn, D. Richard
    2018 IEEE INTERNATIONAL CONFERENCE ON BIG DATA (BIG DATA), 2018, : 221 - 230
  • [33] Search-Based Third-Party Library Migration at the Method-Level
    Deshpande, Niranjana
    Mkaouer, Mohamed Wiem
    Ouni, Ali
    Sharma, Naveen
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2022, 13224 LNCS : 173 - 190
  • [34] Exploiting method-level parallelism in single-threaded Java']Java programs
    Chen, MK
    Olukotun, K
    1998 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS, 1998, : 176 - 184
  • [35] Method-level Code Clone Detection for Java']Java through Hybrid Approach
    Kodhai, Egambaram
    Kanmani, Selvadurai
    INTERNATIONAL ARAB JOURNAL OF INFORMATION TECHNOLOGY, 2017, 14 (06) : 914 - 922
  • [36] Search-Based Third-Party Library Migration at the Method-Level
    Deshpande, Niranjana
    Mkaouer, Mohamed Wiem
    Ouni, Ali
    Sharma, Naveen
    APPLICATIONS OF EVOLUTIONARY COMPUTATION (EVOAPPLICATIONS 2022), 2022, : 173 - 190
  • [37] Identifying method-level mutation subsumption relations using Z3
    Gheyi, Rohit
    Ribeiro, Marcio
    Souza, Beatriz
    Guimaraes, Marcio
    Fernandes, Leo
    d'Amorim, Marcelo
    Alves, Vander
    Teixeira, Leopoldo
    Fonseca, Baldoino
    INFORMATION AND SOFTWARE TECHNOLOGY, 2021, 132
  • [38] How we resolve conflict: An empirical study of method-level conflict resolution
    Graduate School of Information Science, Nara Institute of Science and Technology, Japan
    IEEE Int. Workshop Softw. Anal., SWAN - Proc., (21-24):
  • [39] How We Resolve Conflict: An Empirical Study of Method-Level Conflict Resolution
    Yuzuki, Ryohei
    Hata, Hideaki
    Matsumoto, Kenichi
    2015 IEEE 1ST INTERNATIONAL WORKSHOP ON SOFTWARE ANALYTICS (SWAN), 2015, : 21 - 24
  • [40] Method-level Permission Analysis based on Static Call Graph of Android Apps
    Hu, Yan
    Kong, Weiqiang
    Ding, Feng
    Yan, Jun
    2018 5TH INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND THEIR APPLICATIONS (DSA), 2018, : 8 - 14