Volume 30 Issue 1
Jan.  2021
Turn off MathJax
Article Contents
BO Lili, ZHU Xuanrui, SUN Xiaobing, NI Zhen, LI Bin. Are Similar Bugs Fixed with Similar Change Operations? An Empirical Study[J]. Chinese Journal of Electronics, 2021, 30(1): 55-63. doi: 10.1049/cje.2020.10.010
Citation: BO Lili, ZHU Xuanrui, SUN Xiaobing, NI Zhen, LI Bin. Are Similar Bugs Fixed with Similar Change Operations? An Empirical Study[J]. Chinese Journal of Electronics, 2021, 30(1): 55-63. doi: 10.1049/cje.2020.10.010

Are Similar Bugs Fixed with Similar Change Operations? An Empirical Study

doi: 10.1049/cje.2020.10.010
Funds:

the National Natural Science Foundation of China 61872312

the National Natural Science Foundation of China 61972335

the National Natural Science Foundation of China 62002309

the Yangzhou city-Yangzhou University Science and Technology Cooperation Fund Project YZU201803

the Six Talent Peaks Project in Jiangsu Province RJFW-053

the Jiangsu "333" Project, Yangzhou University Top-level Talents Support Program 2019

the Open Funds of State Key Laboratory for Novel Software Technology of Nanjing University KFKT2020B15

the Open Funds of State Key Laboratory for Novel Software Technology of Nanjing University KFKT2020B16

More Information
  • Author Bio:

    BO Lili  was born in 1989. She received the Ph.D. degree in computer software and theory from China University of Mining and Technology. She is a lecturer in School of Information Engineering, Yangzhou University. Her research interests include software testing and software security. (Email: lilibo@yzu.edu.cn)

    ZHU Xuanrui  was born in 1995. She is a student of School in Software Engineer, Yangzhou University. Her research interests include software bug fixing. (Email: MZ120170635@yzu.edu.cn)

    NI Zhen  was born in 1987. She is a student in School of Information Engineering, Yangzhou University. Her current research interests include data-driven automated software repair and software data analysis

    LI Bin  was born in 1965. He is a professor in School of Information Engineering, Yangzhou University. His current research interests include web service analysis, cloud computing

  • Corresponding author: SUN Xiaobing  (corresponding author) was born in 1985. He is a professor in School of Information Engineering, Yangzhou University. His current research interests include change comprehension, analysis and testing, software data analytics. (Email: xbsun@yzu.edu.cn)
  • Received Date: 2020-03-04
  • Accepted Date: 2020-05-23
  • Publish Date: 2021-01-01
  • Fine-grained change operations can help software developers fix software bugs more accurately and efficiently. However, the current fine-grained change operations are only used in specific fixing process, such as fixing of If statement. In this paper, we conducted an empirical study to explore the fine-grained change operations for bug fixing. Based on the Mozilla bug data, we examined whether similar bugs are fixed with similar change operations. The results show that: First, for bug reports with similar descriptions or bug-fix commits with similar descriptions, their corresponding fine-grained change operations are not related; Second, in the case where the descriptions of both bug reports and bug-fix commits are similar, the fine-grained change operations in patch code are not related; Third, by classifying bug reports, we find that the change operations in the same bug report category are similar; Finally, by analyzing the fine-grained change operations for each bug, we present some combined patterns that are often used together.
  • loading
  • [1]
    D. Kim, J. Nam, J. Song, et al., "Automatic patch generation learned from humanwritten patches", Proc. of the 35th International Conference on Software Engineering, San Francisco, CA, USA, pp. 802–811, 2013.
    [2]
    H. Osman, M. Lungu and O. Nierstrasz, "Mining frequent bug-fix code changes", Proc. of the 2014 Software Evolution Week–IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering, Antwerp, Belgium, pp. 343–347, 2014.
    [3]
    Q. Hanam, F.S.D.M. Brito and A. Mesbah, "Discovering bug patterns in javascript", Proc. of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Seattle, WA, USA, pp. 144–156, 2016.
    [4]
    F. Long, P. Amidon and M. Rinard, "Automatic inference of code transforms for patch generation", Proc. of the 11th Joint Meeting on Foundations of Software Engineering, Paderborn, Germany, pp. 727–739, 2017.
    [5]
    M. Tufano, C. Watson, G. Bavota, et al. , "An empirical study on learning bug-fixing patches in the wild via neural machine translation", ACM Transactions on Software Engineering Methodology, Vol. 28, No. 4, pp. 1–29, 2019. doi: 10.1145/3340544
    [6]
    K. Liu, D.S. Kim, A. Koyuncu, et al., "A closer look at real-world patches", Proc. of the 2018 IEEE International Conference on Software Maintenance and Evolution, Madrid, Spain, pp. 23–29, 2018.
    [7]
    K. Liu, A. Koyuncu, D. Kim, et al., "AVATAR: Fixing semantic bugs with fix patterns of static analysis violations", Proc. of the 26th IEEE International Conference on Software Analysis, Evolution and Reengineering, Hangzhou, China, pp. 456–467, 2019.
    [8]
    E.C. Campos and M.A. Maia, "Discovering common bug-fix patterns: A large-scale observational study", Journal of Software: Evolution and Process, Vol. 31, No. 7, DOI: 10.1002/smr.2173, 2019.
    [9]
    H. Zhong and N. Meng, "Towards reusing hints from past fixes-an exploratory study on thousands of real samples", Empirical Software Engineering. , Vol. 23, No. 5, pp. 2521–2549, 2018. doi: 10.1007/s10664-017-9584-3
    [10]
    W. Zhang, Z. Li, Q. Wang, et al. , "Finelocator: A novel approach to method-level fine-grained bug localization by query expansion", Information & Software Technology, Vol. 110, pp. 121–135, 2019. doi: 10.1145/3297280.3297451
    [11]
    K. Pan, S. Kim and E.J.W. Jr., "Toward an understanding of bug fix patterns", Empirical Software Engineering, Vol. 14, No. 3, pp. 286–315, 2009. doi: 10.1007/s10664-008-9077-5
    [12]
    Y. Zhao, H. Leung, Y. Yang, et al. , "Towards an understanding of change types in bug fixing code", Information & Software Technology, Vol. 86, pp. 37–53, 2017. http://smartsearch.nstl.gov.cn/paper_detail.html?id=8a2221aea9fcb682c7264fec0b043d85
    [13]
    Std IEEE, "1044-1993 - IEEE standard classification for software anomalies", IEEE Standard for Industry, Vol. 9, No. 2, pp. 1–4, 1994. http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=392549
    [14]
    J. Falleri, F. Morandat, X. Blanc, et al., "Fine-grained and accurate source code differencing", Proc. of the ACM/IEEE International Conference on Automated Software Engineering, Vasteras, Sweden, pp. 313–324, 2014.
    [15]
    D. Jurafsky and J.H. Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 2nd Edition, Prentice Hall Series in Artificial Intelligence. Prentice Hall, Pearson Education International, pp. 1–1024, 2009.
    [16]
    T.T. Nguyen, H.A. Nguyen, N.H. Pham, et al., "Recurring bug fixes in object-oriented programs", Proc. of the 32nd ACM/IEEE International Conference on Software Engineering, Cape Town, South Africa, pp. 315–324, 2010.
    [17]
    B. Ray and M. Kim, "A case study of cross-system porting in forked projects", Proc. of the 20th ACM SIGSOFT Symposium on the Foundations of Software Engineering, Cary, NC, USA, DOI: 10.1145/2393596.2393659,Page53,2012.
    [18]
    S.H. Tan, H. Yoshida, M.R. Prasad, et al., "Anti-patterns in search-based program repair", Proc. of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Seattle, WA, USA, pp. 727–738, 2016.
    [19]
    V.B. Livshits and T. Zimmermann, "Dynamine: Finding common error patterns by mining software revision histories", Proc. of the 10th European Software Engineering Conference held jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Lisbon, Portugal, pp. 296–305, 2005.
    [20]
    M. Martinez, L. Duchien and M. Monperrus, "Automatically extracting instances of code change patterns with AST analysis", Proc. of the 2013 IEEE International Conference on Software Maintenance, Eindhoven, the Netherlands, pp. 388–391, 2013.
  • 加载中

Catalog

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

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

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

    Figures(6)  / Tables(6)

    Article Metrics

    Article views (141) PDF downloads(7) Cited by()
    Proportional views
    Related

    /

    DownLoad:  Full-Size Img  PowerPoint
    Return
    Return