CUI Zhanqi, CHEN Xiang, MU Yongmin, PAN Minxue, WANG Rongcun. PSP-Finder: A Defect Detection Method Based on Mining Correlations from Function Call Paths[J]. Chinese Journal of Electronics, 2018, 27(4): 776-782. doi: 10.1049/cje.2018.04.001
Citation: CUI Zhanqi, CHEN Xiang, MU Yongmin, PAN Minxue, WANG Rongcun. PSP-Finder: A Defect Detection Method Based on Mining Correlations from Function Call Paths[J]. Chinese Journal of Electronics, 2018, 27(4): 776-782. doi: 10.1049/cje.2018.04.001

PSP-Finder: A Defect Detection Method Based on Mining Correlations from Function Call Paths

doi: 10.1049/cje.2018.04.001
Funds:  This work is supported by the State Key Research Development Program of China (No.2016YFC0801407), the National Natural Science Foundation of China (No.61702041, No.61202006, No.61601039), and the Open Foundation of State Key Laboratory for Novel Software Technology (No.KFKT2016B12, No.KFKT2016B18).
  • Received Date: 2017-01-22
  • Rev Recd Date: 2017-03-27
  • Publish Date: 2018-07-10
  • Large scale programs usually imply many programming rules, which are missing from the specification documents. However, if programmers violate these rules in the process of programming, it is possible to introduce software defects. Previous works on mining function call correlation patterns only use structural information of the program, while control flow, data flow or other semantic information of the program are not exploited in those approaches. As a result, the defect detecting ability is restricted and high false rate is caused. This paper proposes a defect detection method based on mining function call association rules from program paths, which can be provided by simple static analysis. Then, the programs are automatically checked against the function call association rules for detecting suspicious defects. Based on this approach, experiments are carried out on a group of open source projects. The experiment results show that this approach can improve the capability of detecting defects and find more bugs related to program execution path. In addition, the false positive function call patterns and the overhead for manually validating suspicious defects are reduced.
  • loading
  • Q. Song, M. Shepperd, M. Cartwright, et al., "Software defect association mining and defect correction effort prediction", IEEE Transactions on Software Engineering, Vol.32, No.2, pp.69-82, 2006.
    Z. Li, S. Lu, S. Myagmar, et al., "CP-Miner:A tool for finding copy-paste and related bugs in operating system code", Proc. of the 6th Conf. on Symposium on Opearting Systems Design and Implementation, San Francisco, CA, USA, pp.289-302, 2004.
    Z. Li and Y. Zhou, "PR-Miner:Automatically extracting implicit programming rules and detecting violations in large software code", ACM SIGSOFT Software Engineering Notes, Vol.30, No.5, pp.306-315, 2005.
    S. Lu, S. Park, C. Hu, et al., "MUVI:Automatically inferring multi-variable access correlations and detecting related semantic and concurrency bugs", ACM Sigops Operating Systems Review, Vol.41, No.6, pp.103-116, 2007.
    T. Xie and J. Pei, "MAPO:Mining API usages from open source repositories", Proc. of the International Workshop on Mining Software Repositories, Shanghai, China, pp.54-57, 2006.
    W. Qu, Y. Jia and M. Jiang, "Pattern mining of cloned codes in software systems", Information Sciences, Vol.259, No.3, pp.544-554, 2014.
    M. Pezzè and M. Young, Software Testing and Analysis:Process, Principles and Techniques, John Wiley & Sons, Hoboken, NJ, USA, 2007.
    H. Mei, Q. Wang and L. Zhang, "Software analysis:A road map", Chinese Journal of Computer, Vol.32, No.9, pp.1697-1710, 2009. (in Chinese)
    J. Han, M. Kamber and J. Pei. Data Mining:Concepts and Techniques (Third Edition), Morgan Kaufmann, Waltham, MA, USA, 2011.
    P. Harrington, Machine Learning in Action, Manning Publications Co., Shelter Island, NY, USA, 2012.
    R. Agrawal and R. Srikant, "Fast algorithms for mining association rules in large databases", Proc. of the 20th Int. Conf. on Very Large Data Bases, Santiago de Chile, Chile, pp.487-499, 1994.
    J. Han, J. Pei and Y. Yin, "Mining frequent patterns without candidate generation", ACM SIGMOD Record, Vol.29, No.2, pp.1-12, 2000.
    T.B. Le and D. Lo, "Beyond support and confidence:Exploring interestingness measures for rule-based specification mining", Proc. of the IEEE Int. Conf. on Software Analysis, Evolution and Reengineering, Montreal, QC, Canada, pp.331-340, 2015.
    L. Tan, X. Zhang, X. Ma, et al., "AutoISES:Automatically inferring security specifications and detecting violations", Proc. of the 17th conference on Security symposium, San Jose, CA, USA, pp.379-394, 2008.
    L. Tan, D. Yuan, G. Krishna, et al., "/*iComment:Bugs or bad comments?*/", ACM SIGOPS Operating Systems Review, Vol.41, No.6, pp.145-158, 2007.
    L. Tan, Y. Zhou and Y. Padioleau, "aComment:Mining annotations from comments and code to detect interrupt related concurrency bugs", Proc. of the 33rd International Conference on Software Engineering, Honolulu, HI, USA, pp.11-20, 2011.
    M.P. Robillard, E. Bodden, D. Kawrykow, et al., "Automated API property inference techniques", IEEE Transactions on Software Engineering, Vol.39, No.5, pp.613-637, 2013.
    D. Engler, D.Y. Chen, S. Hallem, et al., "Bugs as deviant behavior:a general approach to inferring errors in systems code", Proc. of the ACM Symposium on Operating Systems Principles, Banff, AB, Canada, pp.57-72, 2001.
    S. Negara, M. Codoban, D. Dig, et al., "Mining fine-grained code changes to detect unknown change patterns", Proc. of the 36th International Conference on Software Engineering, Hyderabad, India, pp.803-813, 2014.
  • 加载中

Catalog

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

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

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

    Article Metrics

    Article views (107) PDF downloads(209) Cited by()
    Proportional views
    Related

    /

    DownLoad:  Full-Size Img  PowerPoint
    Return
    Return