Yuming Zhou

Email: zhouyuming(at)nju.edu.cn

Department of Computer Science and Techonology
Nanjing University
163 Xianlin Avenue, Qixia District
Nanjing, Jiangsu Province, China, 210023


I am currently a professor in the Department of Computer Science and Technology at Nanjing University. I received my Ph.D. degree in computer science from Southeast University in 2003. From January 2003 to December 2004, I was a researcher at Tsinghua University. From February 2005 to February 2008, I was a researcher at Hong Kong Polytechnic University.


Open positions (New!)

Current interests
My research interests focus on software quality assurance in software engineering, especially on software testing, defect prediction/detection, and program analysis.

Our objective is to provide strong (i.e., simple yet effective) baseline approaches for important problems in software quality assurance (see examples). A baseline approach defines a meaningful point of reference and hence allows a meaningful evaluation of any new approach against previous approaches. The ongoing use of a strong baseline approach would help advance the state-of-the-art more reliably and quickly. If you are interested in our “SEE” (Simple yEt Effective) group, please contact me.

Teaching

Awards/honors

Postdoctor

Students

Alumni

Selected papers

  1. Xutong Liu, Shiran Liu, Zhaoqiang Guo, Peng Zhang, Yibiao Yang, Huihui Liu, Hongmin Lu, Yanhui Li, Lin Chen, Yuming Zhou. Towards a framework for reliable performance evaluation in defect prediction. Science of Computer Programming, accepted, 2024.
  2. Zhijie Liu, Yutian Tang, Xiapu Luo, Yuming Zhou, Liangfeng Zhang. No need to lift a finger anymore? Assessing the quality of code generation by ChatGPT. IEEE Transactions on Software Engineering, accepted, 2024.
  3. Yimeng Guo, Zhifei Chen, Lin Chen, Wenjie Xu, Yanhui Li, Yuming Zhou, Baowen Xu. Generating Python type annotations from type inference: How far are we? ACM Transactions on Software Engineering and Methodology, 33(5), article 123, 2024: 1-38.
  4. Zhichao Zhou, Yuming Zhou, Chunrong Fang, Zhenyu Chen, Xiapu Luo, Jingzhu He, Yutian Tang. Coverage goal selector for combining multiple criteria in search-based unit test generation. IEEE Transactions on Software Engineering, 50(4), 2024: 854-883.
  5. Peng Zhang, Yang Wang, Xutong Liu, Zeyu Lu, Yibiao Yang, Yanhui Li, Lin Chen, Ziyuan Wang, Chang-ai Sun, Xiao Yu, Yuming Zhou. Assessing effectiveness of test suites: what do we know and what should we do? ACM Transactions on Software Engineering and Methodology, 33(4), article 86, 2024: 1-32. [Data&Code]
  6. Zhaoqiang Guo, Tingting Tan, Shiran Liu, Xutong Liu, Wei Lai, Yibiao Yang, Yanhui Li, Lin Chen, Wei Dong, Yuming Zhou. Mitigating false positive static analysis warnings: Progress, challenges, and opportunities. IEEE Transactions on Software Engineering, 49(12), 2023: 5154 - 5188.
  7. Yang Wang, Peng Zhang, Maolin Sun, Zeyu Lu, Yibiao Yang, Yutian Tang, Junyan Qian, Zhi Li, Yuming Zhou. Uncovering bugs in code coverage profilers via control flow constraint solving. IEEE Transactions on Software Engineering, 49(11), 2023: 4964-4987. [Data&Code]
  8. Di Wu, Xiaoyuan Jing, Hongyu Zhang, Yang Feng, Haowen Chen, Yuming Zhou, Baowen Xu. Retrieving API knowledge from tutorials and stack overflow based on natural language queries. ACM Transactions on Software Engineering and Methodology, 32(5), article 109, 2023: 1-36.
  9. Zhaoqiang Guo, Shiran Liu, Xutong Liu, Wei Lai, Mingliang Ma, Xu Zhang, Chao Ni, Yibiao Yang, Yanhui Li, Lin Chen, Guoqiang Zhou, Yuming Zhou. Code-line-level bugginess identification: How far have we come, and how far have we yet to go? ACM Transactions on Software Engineering and Methodology, 32(4), article 102, 2023: 1-55. [Data&Code]
  10. Xiaowei Zhang, Weiqin Zou, Lin Chen, Yanhui Li, Yuming Zhou. Towards the analysis and completion of syntactic structure ellipsis for inline comments. IEEE Transactions on Software Engineering, 49(4), 2023: 2285-2302.
  11. Yulou Cao, Lin Chen, Wanwangying Ma, Yanhui Li, Yuming Zhou, Linzhang Wang. Towards better dependency management: A first look at dependency smells in Python projects. IEEE Transactions on Software Engineering, 49(4), 2023: 1741-1765.
  12. Shiran Liu, Zhaoqiang Guo, Yanhui Li, Chuanqi Wang, Lin Chen, Zhongbin Sun, Yuming Zhou, Baowen Xu. Inconsistent defect labels: essence, causes, and influence. IEEE Transactions on Software Engineering, 49(2), 2023: 586-610. [Data&Code] [Supplemental material]
  13. Peng Zhang, Yang Wang, Xutong Liu, Yanhui Li, Yibiao Yang, Ziyuan Wang, Xiaoyu Zhou, Lin Chen, Yuming Zhou. Mutant reduction evaluation: what is there and what is missing? ACM Transactions on Software Engineering and Methodology, 31(4), article 69, 2022: 1-46. [Data&Code] [Supplemental material]
  14. Peng Zhang, Yanhui Li, Wanwangying Ma, Yibiao Yang, Lin Chen, Hongmin Lu, Yuming Zhou, Baowen Xu. CBUA: A probabilistic, predictive, and practical approach for evaluating test suite effectiveness. IEEE Transactions on Software Engineering, 48(3), 2022: 1067-1096. [Data&Code]
  15. Zhaoqiang Guo, Shiran Liu, Jinping Liu, Yanhui Li, Lin Chen, Hongmin Lu, Yuming Zhou. How far have we progressed in identifying self-admitted technical debts? A comprehensive empirical study. ACM Transactions on Software Engineering and Methodology, 30(4), article 45, 2021: 1-56. [Data&Code]
  16. Lin Chen, Di Wu, Wanwangying Ma, Yuming Zhou, Baowen Xu, Hareton Leung. How C++ templates are used for generic programming –an empirical study on 50 open-source systems. ACM Transactions on Software Engineering and Methodology, 29(1), article 3, 2020: 1-49.
  17. Yuming Zhou, Yibiao Yang, Hongmin Lu, Lin Chen, Yanhui Li, Yangyang Zhao, Junyan Qian, Baowen Xu. How far we have progressed in the journey? An examination of cross-project defect prediction. ACM Transactions on Software Engineering and Methodology, 27(1), article 1, 2018:1-51. [Data&Code] [Supplemental material]
  18. Yibiao Yang, Yuming Zhou, Hongmin Lu, Lin Chen, Zhenyu Chen, Baowen Xu, Hareton Leung, Zhenyu Zhang. Are slice-based cohesion metrics actually useful in effort-aware post-release fault-proneness prediction? An empirical study. IEEE Transactions on Software Engineering, 41(4), 2015: 331-357.
  19. Yuming Zhou, Baowen Xu, Hareton Leung, Lin Chen. An in-depth study of the potentially confounding effect of class size in fault prediction. ACM Transactions on Software Engineering and Methodology, 23(1), article 10, 2014: 1-51.
  20. Yuming Zhou, Hareton Leung, Baowen Xu. Examining the potentially confounding effect of class size on the associations between object-oriented metrics and change-proneness. IEEE Transactions on Software Engineering, 35(5), 2009: 607-623.
  21. Yuming Zhou, Hareton Leung, Pinata Winoto. MNav: A Markov model based web site navigability measure. IEEE Transactions on Software Engineering, 33(12), 2007: 869-890.
  22. Yuming Zhou, Hareton Leung. Empirical analysis of object-oriented design metrics for predicting high and low severity faults. IEEE Transactions on Software Engineering, 32(10), 2006: 771-789.
  23. Jun Wang, Yanhui Li, Zhifei Chen, Lin Chen, Xiaofang Zhang, Yuming Zhou. Knowledge graph driven inference testing for question answering Software. ICSE 2024, article 119: 1-13.
  24. Maolin Sun, Yibiao Yang, Yang Wang, Ming Wen, Haoxiang Jia, Yuming Zhou. SMT solver validation empowered by large pre-trained language models. ASE 2023: 1288-1300.
  25. Yibiao Yang, Maolin Sun, Yang Wang, Qingyang Li, Ming Wen, Yuming Zhou. Heterogeneous testing for coverage profilers empowered with debugging support. ESEC/FSE 2023: 670-681.
  26. Jun Wang, Yanhui Li, Xiang Huang, Lin Chen, Xiaofang Zhang, Yuming Zhou. Back deduction based testing for word sense disambiguation ability of machine translation systems. ISSTA 2023: 601-613.
  27. Maolin Sun, Yibiao Yang, Ming Wen, Yongcong Wang, Yuming Zhou, Hai Jin. Validating SMT solvers via skeleton enumeration empowered by historical bug-triggering inputs. ICSE 2023: 69-81.
  28. Zhichao Zhou, Yuming Zhou, Chunrong Fang, Zhenyu Chen, Yutian Tang. Selectively combining multiple coverage goals in search-based unit test generation. ASE 2022:91:1-91:12.
  29. Yanhui Li, Linghan Meng, Lin Chen, Li Yu, Di Wu, Yuming Zhou, Baowen Xu. Training data debugging for the fairness of machine learning software. ICSE 2022: 2215-2227.
  30. Linghan Meng, Yanhui Li, Lin Chen, Zhi Wang, Di Wu, Yuming Zhou, Baowen Xu. Measuring discrimination to boost comparative testing for multiple deep learning models. ICSE 2021: 385-396.
  31. Wanwangying Ma, Lin Chen, Xiangyu Zhang, Yang Feng, Zhaogui Xu, Zhifei Chen, Yuming Zhou, Baowen Xu. Impact analysis of cross-project bugs on software ecosystems. ICSE 2020: 100-111.
  32. Weijun Shen, Yanhui Li, Lin Chen, Yuanlei Han, Yuming Zhou, Baowen Xu. Multiple-boundary clustering and prioritization to promote neural network retraining. ASE 2020: 410-422.
  33. Yibiao Yang, Yuming Zhou, Hao Sun, Zhendong Su, Zhiqiang Zuo, Lei Xu, Baowen Xu. Hunting for bugs in code coverage tools via randomized differential testing. ICSE 2019: 488-498.
  34. Yibiao Yang, Yanyan Jiang, Zhiqiang Zuo, Yang Wang, Hao Sun, Hongmin Lu, Yuming Zhou, Baowen Xu. Automatic self-validation for code coverage profilers. ASE 2019: 79-90.
  35. Wanwangying Ma, Lin Chen, Xiangyu Zhang, Yuming Zhou, Baowen Xu. How do developers fix cross-project correlated bugs?: a case study on the GitHub scientific python ecosystem. ICSE 2017: 381-392.
  36. Yangyang Zhao, Alexander Serebrenik, Yuming Zhou, Vladimir Filkov, Bogdan Vasilescu. The impact of continuous integration on other software development practices: a large-scale empirical study. ASE 2017: 60-71.
  37. Yibiao Yang, Yuming Zhou, Jinping Liu, Yangyang Zhao, Hongmin Lu, Lei Xu, Baowen Xu, Hareton Leung. Effort-aware just-in-time defect prediction: simple unsupervised models could be better than supervised models. FSE 2016: 157-168.
  38. Yibiao Yang, Mark Harman, Jens Krinke, Syed S. Islam, David W. Binkley, Yuming Zhou, Baowen Xu. An empirical study on dependence clusters for effort-aware fault-proneness prediction. ASE 2016: 296-307.

Other links


Examples: Simple yet effective approaches

2024: How to conduct a reliable performance evaluation in defect prediction?
           Suggestion: Use MATTER (a fraMework towArd a consisTenT pErformance compaRison) to conduct the evaluation

2024: How to evaluate the accuracy of test effectiveness metrics in a reliable way?
           Suggestion: Use ASSENT (evAluating teSt Suite EffectiveNess meTrics) to conduct the evaluation

2023: The test program's inherent control flow is a better oracle for testing coverage profilers
           Suggestion: Use DOG (finD cOverage buGs) to uncover bugs in code coverage profilers

2023: Does your CLBI (code-line-level bugginess identification) approach really advance the state-of-the-art in identifying buggy code lines?
           Suggestion: Use GLANCE (aiminG at controL- ANd ComplEx-statements) to examine the practical value of your CLBI approach

2023: Existing label collection approaches are vulnerable to inconsistent defect labels, resulting in a negetive influence on defect prediction
           Suggestion: Use TSILI (Three Stage Inconsistent Label Identification) to detect and exclude inconsistent defect labels before building and evaluating defect prediction models

2022: Measuring the order-preserving ability is important but missing in mutation reduction evaluation
           Suggestion: Use OP/EROP (Order Preservation/Effort-aware Relative Order Preservation) to evaluate the effectiveness of a mutation reduction strategy

2022: An unsupervised model dramatically reduces the cost of mutation testing while maintaining the accuracy
           Suggestion: Use CBUA (Coverage-Based Unsupervised Approach) as a baseline in predictive mutation testing

2021: Matching task annotation tags is competitive or even superior to the state-of-the-art approaches for identifying self-admitted technical debts
           Suggestion: Use MAT (Matches task Annotation Tags) as a baseline in SATD identification

2019: Simple multi-source information fusion can find dozens of bugs in mature code coverage tools
           Suggestion: Use C2V (Code Coverage Validation) as a baseline in testing code coverage tools

2018: Very simple size models can outperform complex learners in defect prediction
           Suggestion: Use ManualDown/ManualUp on the test set as the baselines in defect prediction

      
Flag Counter

We hope to see the real advance in software quality assurance
We hope to see you in SEE in NJU (Now Join Us)
Last updated: June, 2024