首页    期刊浏览 2024年11月24日 星期日
登录注册

文章基本信息

  • 标题:Predicting Bugs in Source Code Changes with Incremental Learning Method
  • 本地全文:下载
  • 作者:Yuan, Zi ; Yu, Lili ; Liu, Chao
  • 期刊名称:Journal of Software
  • 印刷版ISSN:1796-217X
  • 出版年度:2013
  • 卷号:8
  • 期号:7
  • 页码:1620-1633
  • DOI:10.4304/jsw.8.7.1620-1633
  • 语种:English
  • 出版社:Academy Publisher
  • 摘要:Software is constructed by a series of changes and each change has the risk to introduce bugs. Predicting the existence of bugs in source code changes could help developers detect and fix bugs immediately upon the completion of a change, which accelerates the bug fixing process and save the limited time and human resources effectively. However, because of altering nature in the underlying bug generation process, the concept used to depict the bug introducing patterns is drifting, which makes it difficult to predict latent bugs of source code changes accurately, especially in the long-term prediction scenario. In order to deal with this problem, a feature-based incremental learning framework is proposed. It is comprised of three components:(1) an incremental discretization method, which is used to transform the quantitive features in the corpus incrementally, (2) an incremental feature selection method, which is always keeping a subset with the most informative features, and (3) an incremental classification algorithm, which updates the classifier dynamically and considers the current best subset of features during prediction. This proposed approach is evaluated on three famous open source systems, Eclipse, Mozilla and jedit. The results show that our approach performs better than the non-incremental method in dealing with concept drift, with the consideration of keeping the value of both precision and recall stable at a suitable level over time. We also implement a prototype with this learning framework and apply it to a real software development scenario.
  • 关键词:source code change;concept drift;incremental learning;bug prediction;software engineering
国家哲学社会科学文献中心版权所有