Dan Hao
Professor, School of Computer Science, Peking University
Email: haodan at pku dot edu dot cn
Room: 1431 Science Building #1
Peking University
Beijing 100871, P. R. China
I am a professor in the Institute of Software, School of Computer Science, Peking University, P. R. China. I received my Bachelor degree from Harbin Institute of Technology in 2002 and my Ph.D.degree from Peking University in 2008. I was a post-doctoral researcher in Peking University from Jan. 2008 to Dec. 2009.
My current research interests include software testing and debugging, program comprehension, and software maintenance.
Education
Ph.D. in Computer Science, Sept. 2002 to Jan. 2008
School of Electronics Engineering and Computer Science, Peking University, Beijing, P.R. ChinaB.S. in Computer Science, Sept. 1998 and June 2002
Dept. of Computer Science, Harbin Institute of Technology, Harbin, Heilongjiang, P.R. China
Selected Publications - Journal
Mingxuan Zhu, Dan Hao, Junjie Chen: Compiler Autotuning through Multiple Phase Learning, ACM Transactions on Software Engineering and Methodology, 2024.
Feng Li, Jianyi Zhou, Yinzhu Li, Dan Hao, Lu Zhang: AGA: An Accelerated Greedy Additional Algorithm for Test Case Prioritization, Transactions on Software Engineering, 48(12): 5102-5119 (2022),
Jianyi Zhou, Junjie Chen, Dan Hao: Parallel Test Prioritization. ACM Transactions on Software Engineering and Methodology 31(1): 8:1-8:50 (2022).
Jie Zhang, Feng Li, Dan Hao, Meng Wang, Hao Tang, Lu Zhang, Mark Harman, A Study of Programming Languages and Their Bug Resolution Characteristics IEEE Transactions on Software Engineering, 47(12): 2684-2697 (2021).
Ming Wen, Junjie Chen, Yongqiang Tian, Rongxin Wu, Dan Hao, Shi Han, Shing-Chi Cheung, Historical Spectrum based Fault Localization IEEE Transactions on Software Engineering, 47(11): 2348-2368 (2021).
Junjie Chen, Jibesh Patra, Michael Pradel, Yingfei Xiong, Hongyu Zhang, Dan Hao, Lu Zhang, A Survey of Compiler Testing, ACM Computing Survey, 53(1):1-36, 2020.
Junjie Chen, Guancheng Wang, Dan Hao, Yingfei Xiong, Hongyu Zhang, Lu Zhang, Bing Xie, Coverage Prediction for Accelerating Compiler Testing, IEEE Transactions on Software Engineering, January 2019.
Jie Zhang, Lingming Zhang, Mark Harman, Dan Hao, Yue Jia, Lu Zhang, Predictive Mutation Testing, IEEE Transactions on Software Engineering, January 2018.
Yiling Lou, Junjie Chen, Lingming Zhang, Dan Hao, Yingfei Xiong, Hongyu Zhang, Lu Zhang, Bing Xie, A Survey on Regression Test-Case Prioritization, Advances in Computers, Online, December 2018.
Dan Hao, Lu Zhang, Lei Zang, Yanbo Wang, Xingxia Wu, Tao Xie, To Be Optimal or Not in Test-Case Prioritization, IEEE Transactions on Software Engineering, 42(5): 490-505, 2016.
Qing Gao, Jun Li, Yingfei Xiong, Dan Hao, Xusheng Xiao, Kunal Taneja, Lu Zhang, Tao Xie, High-confidence software evolution, SCIENCE CHINA Information Sciences 59(7): 071101:1-071101:19, 2016.
Dan Hao, Lu Zhang, Hong Mei, Test-case prioritization: achievements and challenges, Frontiers of Computer Science, 10(5): 769-777, 2016.
Jie Zhang, Xiaoyin Wang, Dan Hao, Bing Xie, Lu Zhang, Hong Mei, A Survey on Bug-Report Analysis, Science China, Information Sciences, 58(2):1-24, 2015.
Dan Hao, Lingming Zhang, Lu Zhang, Gregg Rothermel, Hong Mei, A Unified Test-Case Prioritization Approach, ACM Transactions on Software Engineering and Methodology, 24(2): 10, 2014.
Dan Hao, Hong Mei, Recent Progress in Software Testing, Debugging and Analysis: A Survey, International Journal of Software Informatics, 8(1): 1-17, 2014.
Hong Mei, Dan Hao, Lingming Zhang, Lu Zhang, Ji Zhou, Gregg Rothermel, A Static Approach to Prioritizing JUnit Test Cases, IEEE Transactions on Software Engineering, 38(6): 1258-1275, 2012.
Dan Hao, Tao Xie, Lu Zhang, Xiaoyin Wang, Jiasu Sun, Hong Mei, Test Input Reduction for Result Inspection to Facilitate Fault Localization, Journal of Automated Software Engineering (AUSE), 17: 5-31, 2010.
Dan Hao, Lu Zhang, Ying Pan, Hong Mei, Jiasu Sun, On Similarity-Awareness in Testing-Based Fault Localization, Journal of Automated Software Engineering (AUSE), 15(2): 207-249, 2008.
Selected Publications - Conference
[ICSE 2024] Yizhou Chen, Zheyu Sun, Zhihao Gong, Dan Hao, Improving Smart Contract Security with Contrastive Learning-based Vulnerability Detection, the 46th International Conference on Software Engineering, 2024.
[ICSE 2024] Yakun Zhang, Wenjie Zhang, Dezhi Ran, Qihao Zhu, Chengfeng Dou, Dan Hao, Tao Xie, Lu Zhang, Learning-based Widget Matching for Migrating GUI Test Cases, the 46th International Conference on Software Engineering, 2024.
[ASE 2023] Mingxuan Zhu, Dan Hao, Compiler Auto-Tuning via Critical Flag Selection, the 38th IEEE/ACM International Conference on Automated Software Engineering, 2023.
[ASE 2023] Jinhao Dong, Qihao Zhu, Zeyu Sun, Yiling Lou, Dan Hao, Merge Conflict Resolution: Classification or Generation? the 38th IEEE/ACM International Conference on Automated Software Engineering, 2023.
[ICSE 2023] Jinhao Dong, Yiling Lou, Dan Hao, Lin Tan, Revisiting Learning-based Commit Message Generation, the 45th International Conference on Software Engineering, 2023.
[ASE 2022] Ke Sun, Yifan Zhao, Dan Hao, Lu Zhang, Static Type Recommendation for Python, the 37th IEEE/ACM International Conference on Automated Software Engineering, 2022.
[ICSE 2022] Hao Yu, Yiling Lou, Ke Sun, Dezhi Ran, Tao Xie, Dan Hao, Ying Li, Ge Li, Qianxiang Wang, Automated Assertion Generation via Information Retrieval and Its Integration with Deep learning. the 44th International Conference on Software Engineering, 2022.
[ICSE 2022] Jinhao Dong, Yiling Lou, Qihao Zhu, Zeyu Sun, Zhilin Li, Wenjie Zhang, Dan Hao: FIRA: Fine-Grained Graph-Based Code Change Representation for Automated Commit Message Generation. the 44th International Conference on Software Engineering, 2022.
[FSE 2021] Yiling Lou, Qihao Zhu, Jinhao Dong, Xia Li, Zeyu Sun, Dan Hao, Lu Zhang, Lingming Zhang: Boosting coverage-based fault localization via graph-based representation learning. ACM SIGSOFT International Symposium on the Foundations of Software Engineering, 2021.
[FSE 2020] Yiling Lou, Zhenpeng Chen, Yanbin Cao, Dan Hao, Lu Zhang, Understanding Build Issue Resolution in Practice: Symposiums and Fix Patterns, ACM SIGSOFT International Symposium on the Foundations of Software Engineering, 2020.
[ASE 2020] Junjie Chen, Shu Zhang, Xiaoting He, Qingwei Lin, Hongyu Zhang, Dan Hao, Yu Kang, Feng Gao, Zhangwei Xu, Yingnong Dang, Dongmei Zhang, How Incidental are the Incidents? Characterizing and Prioritizing Incidents for Large-Scale Online Service Systems, the 35th IEEE/ACM International Conference on Automated Software Engineering, 2020.
[ASE 2020, NIER Track] Jinhao Dong, Yiling Lou, Dan Hao, SRRTA: Regression Testing Acceleration via State Reuse, the 35th IEEE/ACM International Conference on Automated Software Engineering, New Idea and Emerging Results Track, 2020.
[ISSTA 2020] Yiling Lou, Ali Ghanbari, Xia Li, Lingming Zhang, Haotian Zhang, Dan Hao, Lu Zhang, Can Automated Program Repair Refine Fault Localization? A Unified Debugging Approach, the 29th ACM International Symposium on Software Testing and Analysis, 2020.
[ASE 2019] Junjie Chen, Guancheng Wang, Dan Hao, Yingfei Xiong, Hongyu Zhang, Lu Zhang, History-Guided Configuration Diversification for Compiler Test-Program Generation, the 34th IEEE/ACM International Conference on Automated Software Engineering, 2019. ACM SIGSOFT Distinguished Paper Award.
[ASE 2019] Junjie Chen, Xiaoting He, Qingwei Lin, Hongyu Zhang, Dan Hao,Feng Gao, Zhangwei Xu, Yingnong Dang, Dongmei Zhang, Continuous Incident Triage for Large-Scale Online Service Systems, the 34th IEEE/ACM International Conference on Automated Software Engineering, 2019.
[ISSTA 2019] Yiling Lou, Junjie Chen, Lingming Zhang, Dan Hao, Lu Zhang, History-driven Build Failure Fixing: How Far Are We? the 28th ACM International Symposium on Software Testing and Analysis, 2019. ACM SIGSOFT Distinguished Paper Award.
[FSE 2019] Junjie Chen, Jiaqi Han, Peiyi Sun, Lingming Zhang, Dan Hao, Lu Zhang, Compiler Bug Isolation via Effective Witness Test Program Generation, the 27th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2019.
[ICSE 2019] Junjie Chen, Xiaoting He, Qingwei Lin, Yong Xu, Hongyu Zhang, Dan Hao, Feng Gao, Zhangwei Xu, Yingnong Dang and Dongmei Zhang, An Empirical Investigation of Incident Triage for Online Service Systems, the 41st International Conference on Software Engineering, the Software Engineering in Practice Track, 2019.
[ICSE 2018] Ming Wen, Junjie Chen, Rongxin Wu, Dan Hao, Shing-Chi Cheung, Context-Aware Patch Generation for Better Automated Program Repair, the 40th International Conference on Software Engineering, 2018.
[FSE 2018] Junjie Chen, Yiling Lou, Lingering Zhang, Jianyi Zhou, Xiaoleng Wang, Dan Hao, Lu Zhang, Optimizing Test Prioritization via Test Distribution Analysis, ACM SIGSOFT International Symposium on the Foundations of Software Engineering, 2018.
[FSE 2018] Jie Zhang, Shi Han, Dan Hao, Lu Zhang, Dongmei Zhang, Automated Refactoring of Nested-If Formulae in Spreadsheets, ACM SIGSOFT International Symposium on the Foundations of Software Engineering, Industry Track, 2018.
[ECOOP 2018] Junjie Chen, Wenxiang Hu, Lingming Zhang, Dan Hao, Sarfraz Khurshid, Lu Zhang, Learning to Accelerate Symbolic Execution via Code Transformation, the 32nd European Conference on Object-Oriented Programming, 2018.
[ICSE 2017] Junjie Chen, Yanwei Bai, Dan Hao, Yingfei Xiong, Hongyu Zhang, Bing Xie, Learning to Prioritize Test Programs for Compiler Testing, the 39th International Conference on Software Engineering, May 20-28, 2017.
[FSE 2016] Jie Zhang, Yiling Lou, Lingming Zhang, Dan Hao, Lu Zhang, Hong Mei, Isomorphic Regression Testing: Executing Uncovered Branches without Test Augmentation, ACM SIGSOFT International Symposium on the Foundations of Software Engineering, 2016.
[ASE 2016] Junjie Chen, Yanwei Bai, Dan Hao, Lingming Zhang, Lu Zhang, Bing Xie, Hong Mei, Supporting Oracle Construction via Static Analysis, 31st IEEE/ACM International Conference on Automated Software Engineering, September 3-7, 2016.
[ISSTA 2016] Jie Zhang, Ziyi Wang, Lingming Zhang, Dan Hao, Lei Zang, Shiyang Cheng and Lu Zhang, Predictive Mutation Testing, International Symposium on Software Testing and Analysis, July 18-20, 2016, Saarbrücken, Germany.
[ICSE 2016] Junjie Chen, Wenxiang Hu, Dan Hao, Yingfei Xiong, Hongyu Zhang, Lu Zhang, Bing Xie, An Empirical Comparison of Compiler Testing Techniques, the 38th International Conference on Software Engineering , May 14-22, 2016, Austin, TX.
[ICSE 2016] Yafeng Lu, Yiling Lou, Shiyang Cheng, Lingming Zhang, Dan Hao, Yangfan Zhou, Lu Zhang, How Does Regression Test Prioritization Perform in Real-World Software Evolution?, the 38th International Conference on Software Engineering, May 14-22, 2016, Austin, TX.
[ICSE 2016] Xuan Lu, Xuanzhe Liu, Huoran Li, Tao Xie, Dan Hao, Qiaozhu Mei, Gang Huang, Feng Feng, PRADA: Prioritizing Android Devices for Apps by Mining Large-Scale Usage Data, the 38th International Conference on Software Engineering, May 14-22, 2016, Austin, TX.
[ASE 2015] Jinkun Lin, Chuan Luo, Shaowei Cai, Kaile Su, Dan Hao, Lu Zhang, An Efficient Two-Mode Meta-Heuristic Algorithm for Combinatorial Test Generation, the 30th IEEE/ACM International Conference on Automated Software Engineering, November, 2015.
[FSE 2015, New Idea Track] Yingfei Xiong, Dan Hao, Lu Zhang, Tao Zhu, Muyao Zhu, Tian Lan, Inner Oracles: Input-Specific Assertions on Internal States, the 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, New Idea Track, August, 2015.
[ASE 2014] Jie Zhang, Junjie Chen, Dan Hao,Yingfei Xiong, Bing Xie, Lu Zhang, Hong Mei, Search-Based Inference of Polynomial Metamorphic Relations, the 29th IEEE/ACM International Conference on Automated Software Engineering, 15-19 September 2014, pages 701-712, Sweden.
[ECOOP 2013] Dan Hao, Tian Lan, Hongyu Zhang, Chao Guo, Lu Zhang, Is This a Bug or an Obsolete Test? the 27th European Conference on Object-Oriented Programming, 3-5 July 2013, pages 602-628, Montpellier, France.
[ICSE 2013] Lingming Zhang, Dan Hao, Lu Zhang, Gregg Rothermel, Hong Mei, Bridging the Gap between the Total and Additional Test-Case Prioritization Strategies, the 35th International Conference on Software Engineering, 18-26 May 2013, pages 192-201, San Francisco, USA.
[ICSE 2012] Dan Hao, Lu Zhang, Xingxia Wu, Hong Mei, Gregg Rothermel, On-Demand Test Suite Reduction, the 34th International Conference on Software Engineering, June 2-9, 2012, pages 738-748, Zurich, Switzerland.
[ICSE 2009, Demo Track] Dan Hao, Lingming Zhang, Lu Zhang, Jiasu Sun, Hong Mei, VIDA: Visual Interactive Debugging, the 31st IEEE International Conference on Software Engineering, Formal Research Demo Track, May 16-24, 2009, pages 583-586, Vancouver, Canada.
[ASE 2009, Demo Track] Lingming Zhang, Ji Zhou, Dan Hao, Lu Zhang, Hong Mei, Jtop: Managing JUnit Test Cases in Absence of Coverage Information, the IEEE/ACM International Conference on Automated Software Engineering, Research Demo Track, November 16-20, 2009, pages 673-675, Auckland, New Zealand.
[ICSE 2006, DS Track] Dan Hao. Testing-Based Interactive Fault Localization. the 26th International Conference on Software Engineering, Doctoral Symposium Track, pages 957-960, 2006.
[ASE 2005, Short Paper] Dan Hao, Ying Pan, Lu Zhang, Wei Zhao, Hong Mei, and Jiasu Sun. A Similarity-Aware Approach to Testing Based Fault Localization. the 20th International Conference on Automated Software Engineering, short paper track, pages 291-294, 2005.
Academic Services
Steering Committee Member: The International Conference on Automated Software Engineering (ASE) (2021-present)
Steering Committee Member: The International Systems and Software Product Line Conference (SPLC) (2018-2022)
Program Co-Chair: The 41st International Conference on Software Maintenance and Evolution (ICSME 2025)
Program Co-Chair: The 16th IEEE International Conference on Software Testing, Verification and Validation (ICST 2023)
Program Co-Chair: The 29th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER 2022)
Program Co-Chair: The 36th IEEE/ACM International Conference on Automated Software Engineering (ASE 2021)
General Co-Chair: The 22nd International Systems and Software Product Line Conference (SPLC 2018)
Deputy Editor-in-Chief: Software Testing, Verification and Reliability (STVR) (2022-present)
Editorial Board: ACM Transactions on Software Engineering and Methodology (2023-present)
Editorial Board: ACM Computing Surveys (2022-present)
Editorial Board: Empirical Software Engineering (EMSE) (2020-present)
Editorial Board: Automated Software Engineering (AUSE) (2023-present)
Editorial Board: IEEE Transactions on Software Engineering (TSE) (2019-2023)
Editorial Board: Software Testing, Verification and Reliability (STVR) (2019-2021)
New Faculty Co-Chair: The ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2024)
Journal-First Track Co-Chair: The ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2023)
New Ideas and Emerging Results Co-Chair: The 45th International Conference on Software Engineering (ICSE 2023)
Demonstrations Co-Chair: The ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2022)
Tool Demonstration Co-Chair: The 44th International Conference on Software Engineering (ICSE 2022)
Tool Demonstration Co-Chair: The 35th IEEE/ACM International Conference on Automated Software Engineering (ASE 2020)
Artifact Evaluation Co-Chair: The ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2019)
Publicity Co-Chair: The 36th International Conference on Software Maintenance and Evolution (ICSME 2020)
Publicity Co-Chair: The IEEE International Conference on Software Testing, Verification, and Validation (ICST 2019)
Publicity Co-Chair: The IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2017)
PC Co-Chair: The Asian Workshop for ICST 2017
Local Chair: The 20th International Systems and Software Product Line Conference (SPLC 2016)
PC Co-Chair: The 10th International Workshop on Automation of Software Testing (AST 2015)
PB Member: The 42nd International Conference on Software Engineering (ICSE 2020)
PC Member: The ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2020, FSE 2022, FSE 2023, FSE 2024)
PC Member: The 40th and 41st International Conference on Software Engineering (ICSE 2018, ICSE 2019, ICSE 2022, ICSE 2024, ICSE 2025)
PC Member: The 33rd and 34th IEEE/ACM International Conference on Automated Software Engineering (ASE 2018, ASE 2019, ASE 2022, ASE 2023)
PC Member:The ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2020, ISSTA 2021)
PC Member: The 41st International Conference on Software Engineering (ICSE 2019), New Ideas and Emerging Results Track
PC Member: The IEEE International Conference on Software Testing, Verification, and Validation (ICST 2019, ICST 2020)
PC Member: The IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2019)
PC Member: The IEEE Working Conference on Mining Software Repositories (MSR 2019)
PC Member: The 33rd, 34th, and 35th International Conference on Software Maintenance and Evolution (ICSME 2017, ICSME 2018, ICSME 2019)
PC Member: The Asian Pacific Conference on Software Engineering (APSEC 2016, APSEC 2017, APSEC 2018)
PC Member: The IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2015, SCAM 2016, SCAM 2017, SCAM 2018)
PC Member: The 32nd IEEE International Conference on Software Maintenance and Evolution (ICSME 2016), Early Research Achievements Track
PC Member: The 22nd ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2014), Demonstration Track
Current Students
Jinhao Dong, Ph.D. Student
Ke Sun, Ph.D. Student
Yifan Zhao, Ph.D. Student
Mingxuan Zhu, Ph.D. Student
Guoqing Wang, Ph.D. Student
Yizhou Chen, Ph.D. Student
Zhihao Gong, Ph.D. Student
Former Students
Jie Zhang, Ph.D., graduated in 2018, co-advised with Prof. Lu Zhang, now in King's College London.
Junjie Chen, Ph.D., graduated in 2019, co-advised with Prof. Lu Zhang and Prof. Bing Xie, now in Tianjin University.
Yiling Lou, Ph.D., graduated in 2021, co-advised with Prof. Lu Zhang, now in Fudan University.
Jianyi Zhou, Ph.D., graduated in 2022, now in Huawei Inc.
Feng Li, Ph.D. graduated in 2023, now in China Construction Bank.
Yiqing Guo, B.S. graduated in 2023.