Volume 40 Issue 9
Sep.  2014
Turn off MathJax
Article Contents
Yuan Zi, Yu Lili, Liu Chaoet al. Identification method for defect-introducing fine-grained software changes[J]. Journal of Beijing University of Aeronautics and Astronautics, 2014, 40(9): 1231-1238. doi: 10.13700/j.bh.1001-5965.2013.0576(in Chinese)
Citation: Yuan Zi, Yu Lili, Liu Chaoet al. Identification method for defect-introducing fine-grained software changes[J]. Journal of Beijing University of Aeronautics and Astronautics, 2014, 40(9): 1231-1238. doi: 10.13700/j.bh.1001-5965.2013.0576(in Chinese)

Identification method for defect-introducing fine-grained software changes

doi: 10.13700/j.bh.1001-5965.2013.0576
  • Received Date: 10 Oct 2013
  • Publish Date: 20 Sep 2014
  • Software defects were introduced into software system by software changes in the software development process. A new method to identify defect-introducing fine-grained changes was proposed to improve the efficiency of defect finding and reduce the cost of manual inspection. This method was based on the idea of machine learning classification. It took the fine-grained change as classification instance and constructed feature set from five dimensions, namely time, context, content, purpose and implementer of the change. It built fine-grained change instances automatically by mining software history repositories with the program static analysis and natural language semantic analysis techniques. It trained a classifier by learning change instances in software history, which could identify whether a new fine-grained change introduced any defects or not. Cost-effectiveness analysis was conducted on real software systems to verify the validity of the proposed method. The results indicate that compared with methods for file and transaction level changes, this method can reduce the manual inspection cost significantly.

     

  • loading
  • [1]
    Aversano L,Cerulo L,Grosso C D.Learning from bug-introducing changes to prevent fault prone code[C]//Penta M D.9th International Workshop on Principles of Software Evolution.New York:ACM,2007:19-26
    [2]
    Kim S,Whitehead E J,Zhang Y.Classifying software changes:clean or buggy [J].IEEE Transactions on Software Engineering,2008,34(2):181-196
    [3]
    Fluri B,Würsch M,Pinzger M,et al.Change distilling:tree differencing for fine-grained source code change extraction[J].IEEE Transactions on Software Engineering,2007,33(11):725-743
    [4]
    Eyolfson J,Tan L,Lam P.Do time of day and developer experience affect commit bugginess [C]//Deursen A.Proceedings of the 8th Working Conference on Mining Software Repositories.Piscataway,NJ:IEEE,2011:153-162
    [5]
    Sliwerski J,Zimmermann T,Zeller A.When do changes induce fixes [J].ACM Sigsoft Software Engineering Notes,2005,30(4):1-5
    [6]
    Halstead M H.Elements of software science[M].Amsterdam:Elsevier North-Holland Press,1977:26-28
    [7]
    McCabe T J.A complexity measure[J].IEEE Transactions on Software Engineering,1976,2(4):308-320
    [8]
    Zimmermann T,Nagappan N.Predicting defects with program dependencies[C]//Mens T.2009 3rd International Symposium on Empirical Software Engineering and Measurement.Piscataway,NJ:IEEE,2009:435-438
    [9]
    Thomas S W,Adams B,Hassan A E,et al.Modeling the evolution of topics in source code histories[C]//Deursen A.Proceedings of the 8th working conference on Mining Software Repositories.Piscataway,NJ:IEEE,2011:173-182
    [10]
    Yan R,Huang C,Tang J,et al.To better stand on the shoulder of giants[C]//Boughida K.Proceedings of the 12th ACM/IEEE-CS Joint Conference on Digital Libraries.New York:ACM,2012:51-60
    [11]
    Graves T L,Karr A F,Marron J S,et al.Predicting fault incidence using software change history[J].IEEE Transactions on Software Engineering,2000,26(7):653-661
    [12]
    Pan K,Kim S,Whitehead E J.Toward an understanding of bug fix patterns[J].Empirical Software Engineering,2009,14(3):286-315
    [13]
    Chen T H,Thomas S W,Nagappan M,et al.Explaining software defects using topic models[C]//Lanza M.Proceedings of the 9th IEEE Working Conference on Mining Software Repositories.Piscataway,NJ:IEEE,2012:189-198
    [14]
    Mockus A,Votta L G.Identifying reasons for software change using historic databases[C]//Fadini B.2000 IEEE Interantional Conference on Software Maintenance.Piscataway,NJ:IEEE,2000:120-130
    [15]
    Hassan A E.Automated classification of change messages in open source projects[C]//Wainwright R L.23rd Annual ACM Symposium on Applied Computing.New York:ACM,2008:837-841
    [16]
    Hata H,Mizuno O,Kikuno T.Bug prediction based on fine-grained module histories[C]//Glinz M.Proceedings of the 34th International Conference on Software Engineering.Piscataway,NJ:IEEE,2008:837-841
    [17]
    Khoshgoftaar T M,Golawala M,Hulse J V.An empirical study of learning from imbalanced data using random forest[C]//Avouris N.Proceedings of the 19th International Conference on Tools with Artificial Intelligence.Piscataway,NJ:IEEE,2007:310-317

  • 加载中

Catalog

    通讯作者: 陈斌, bchen63@163.com
    • 1. 

      沈阳化工大学材料科学与工程学院 沈阳 110142

    1. 本站搜索
    2. 百度学术搜索
    3. 万方数据库搜索
    4. CNKI搜索

    Article Metrics

    Article views(949) PDF downloads(521) Cited by()
    Proportional views
    Related

    /

    DownLoad:  Full-Size Img  PowerPoint
    Return
    Return