Dr Hongyu Zhang 

Personal Email: hongyujohn@gmail.com            hongyujohn@hotmail.com

Current Address:
No.5 Danling Street
Beijing 100080, China

I am currently a Lead Researcher at Microsoft Research. Before joining Microsoft, I was an associate professor at Tsinghua University, China (2006-2014); a lecturer at RMIT University, Australia (2003-2006); a research fellow at National University of Singapore (2000-2002); and a software engineer at IBM Singapore (1999-2000). I received my PhD degree in Computer Science from School of Computing, National University of Singapore in 2003.
My research is in the area of software engineering, in particular, software analytics, software quality, software maintenance, and software reuse. The main theme of my research is to improve software quality and productivity by utilizing knowledge mined from software repositories. Over the years, a software organization could accumulate a large amount of data including source code, bug reports, execution logs, changes, metrics, documents, and so on. Data mining, machine learning, and information retrieval techniques can be applied to extract knowledge from the software data and solve software engineering problems. Together with my students and collaborators, I have published more than 100 research papers in international journals and conferences. More details about the papers can be found at my Google Scholar page.

Outside work, I like reading, hiking, spending time with friends, and playing with my two kids.

I am always open for collaborations!

Research Area:

My research area is software engineering, in particular:

  • software analytics, mining software repository
  • software measurement and empirical software engineering
  • software quality assurance, testing, debugging
  • software reuse (generative programming and software product lines)
  • software maintenance
My DBLP  (a few of them are not mine), and Google Scholar
Software analytics is to enable software practitioners to perform data exploration and analysis in order to obtain insightful and actionable knowledge for real tasks around software and services. I work on software analytics for source code, bug reports, production logs, and crash reports:

Code Analytics    Bug Report Analytics    Log Analytics    Crash Analytics   

I also work on: Bug Analysis and Prediction (statistical analysis of bugs and prediction of bug-prone modules), Debugging and Testing (detecting and locating bugs), Software Metrics (quantitative measurement of software product and process), and Software Reuse (reusing previously-written software).
Research Grants:
  • NSF China, Project “Software Crash Analysis”, Grant No. 61272089          (PI)
  • NSF China, Project “Software Defect Prediction Models and Applications”, Grant No. 61073006, 2011 – 2013. (PI)
  • NSF China, Project "Software Customization Techniques", Grant No. 60703060, 2008-2011. (PI)
  • NSF China, Project "Software Defect and Failure Prediction Techniques", Grant No. 90718022, 2008-2011. (PI)
  • National High-tech 863 Project No. 2007AA01Z122, 2008-2010. (Co-PI)
  • National High-tech 863 Project No. 2007AA01Z480, 2008-2010. (Co-PI)
  • The 6th Key Researcher Support Program, Tsinghua University, 2007-2009. (PI)
Tool Development:

Referred conference and journal papers:
Scholarly book chapters:
  • Qingwei Lin, Jian-Guang Lou, Hongyu Zhang, Dongmei Zhang, “How to Tame Your Online Services”, Chapter 12 of the book Perspectives on Data Science for Software Engineering (editors: T. Menzies, L. Williams, T. Zimmermann), Morgan-Kaufmann, 2016, ISBN 978-0128042069.
  • Zhitao Hou, Hongyu Zhang, Haidong Zhang, Dongmei Zhang, “Visual Analytics for Software Engineering Data”, Chapter 15 of the book Perspectives on Data Science for Software Engineering (editors: T. Menzies, L. Williams, T. Zimmermann ), Morgan Kaufmann, 2016, ISBN 978-0128042069.
  • Hai Wang, Yuan Fang Li, Jing Sun, Hongyu Zhang, Jeff Z. Pan, “Towards a Consistent Feature Model using OWL”, a chapter of the book Semantic Web Enabled Software Engineering (editors. J. Pan, Y. Zhao), IOS Press, 2014.ISBN 978-1-61499-369-8.
  • Weishan Zhang, Stan Jarzabek, Hongyu Zhang, Neil Loughran, Awais Rashid, “Software evolution with XVCL”, Chapter VI of the book Software Evolution with UML and XML (editor H. Yang), Idea Group Publishing, 2005. ISBN 9781591404620.

Research Program Committee:
  • Artifacts Track: FSE 2016ICSME’16.
  • The 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2015),  Bergamo, Italy, 2015. (Industrial Track)
  • The 30th IEEE/ACM International Conference on Automated Software Engineering (ASE 2015), Lincoln, Nebraska, USA, November 2015. (Expert Review Panel)
  • The 22nd/23rd International Conference on Software Analysis, Evolution and Reengineering (SANER 2015SANER 2016)
  • The 35th International Conference on Software Engineering (ICSE 2014), Hyderabad, India, June 2014. (Tutorials and Technical Briefings)
  • The 18th European Conference on Software Maintenance and Reengineering and The 21th Working Conference on Reverse Engineering (CSMR-18/WCRE-21), Antwerp, Belgium, February, 2014.
  • The 29th/30th IEEE International Conference on Software Maintenance (ICSM 2013, ICSME 2014).
  • The 10th/11th/12nd Working Conference on Mining Software Repositories (MSR 2013, MSR 2014, MSR 2015)
  • The 35th International Conference on Software Engineering (ICSE 2013), San Francisco, CA, May 2013. (Formal Demonstration Track).
  • The 34th International Conference on Software Engineering (ICSE 2012), Zurich, Switzerland, June 2012. (Formal Demonstration Track).
  • The 15th/16th/17th European Conference on Software Maintenance and Reengineering (CSMR 2011CSMR 2012, CSMR 2013).
  • The 5th/6th/7th/8th International Conference on Predictive Models in Software Engineering (PROMISE 2010PROMISE 2011PROMISE 2012PROMISE 2013, PROMISE 2014PROMISE 2015, PROMISE 2016)
  • The 24th/25th/26th International Conference on Software Engineering and Knowledge Engineering (SEKE 2012, SEKE 2013, SEKE 2014
  • The joint 10th International Workshop on Principles of Software Evolution and the 5th ERCIM Workshop on Software Evolution (IWPSE/EVOL'09), 24-25 August (co-located with ESEC/FSE 2009), Amsterdam.
  • The 10th International Conference on Agile Processes and eXtreme Programming in Software Engineering (XP 2009), May 26-30, 2009, Sardinia, Italy
  • The 3rd/6th/7th/8th IEEE International Symposium on Theoretical Aspects of Software Engineering (TASE 2009, TASE2012, TASE 2013, TASE 2014)
  • The 15th/16th/17th/18th/19th/20th/21st/22nd/23rd Asia-Pacific Software Engineering Conference (APSEC 2016, APSEC 2015, APSEC 2014, APSEC 2013APSEC 2012, APSEC 2011, APSEC 2010, APSEC 2009, APSEC 2008
  • The 17th/18th/19th/20th/22nd/23rd/24th Australian Software Engineering Conference (ASWEC 2015, ASWEC 2014, ASWEC 2013ASWEC 2010, ASWEC 2009, ASWEC 2008, ASWEC 2007, ASWEC 2006)
  • The 2nd/3rd SEMAT Workshop on a General Theory of Software Engineering (GTSE 2013GTSE 2014)
  • The International Conference on Software Quality, Reliability and Security (formerly International Conference on Quality Software) (QSIC 2013, QSIC 2014, QRS 2015, QRS 2016)
  • The 38th Annual International Computers, Software & Applications Conference (COMPSAC 2014)
  • The 9th International Conference on Global Software Engineering (ICGSE 2014)
  • The 24th International Conference on Program Comprehension (ICPC 2016)
  • The 10th International Symposium on Empirical Software Engineering and Measurement (ESEM 2016)

Program Organizations:

  • Program co-chair, Early Research Achievements (ERA) track, ICSME’16.
  • Program co-chair, The 12th International Conference on Predictive Models and Data Analytics in Software Engineering (PROMISE’16).
  • The International Conference on Predictive Models in Software Engineering (PROMISE), 2014-Now.     (Steering Committee Member)
  • The Second International Workshop on Software Mining (SoftMine-2013, co-located with ASE'13),  Silicon Valley, CA, November 2013.  (co-organizers)
  • The 8th International Workshop on Advanced Modularization Techniques (AOAsia/Pacific 2013), a workshop at AOSD 2013, March 2013.
  • The First International Workshop on Software Mining (SoftMine-2012, co-located with KDD'12),  Beijing, China, May 2012.  (co-organizers)
  • The 12th International Conference on Quality Software (QSIC 2012), August 2012, Xi'an, China. (industry track co-chairs)
  • The 26th European Conference on Object-Oriented Programming (ECOOP 2012), June 2012, Beijing, China. (local organisation co-chairs)
  • ICSE 2014 Workshop on Emerging Trends in Software Metrics (WETSoM @ ICSE 2014), India, June 2014. (co-organizers)
  • ICSE 2012 Workshop on Emerging Trends in Software Metrics (WETSoM @ ICSE 2012), Zurich, Switzerland, June 2012. (co-organizers)
  • ICSE 2011 Workshop on Emerging Trends in Software Metrics (WETSoM @ ICSE 2011), May, 2011, Honolulu, Hawaii, USA. (co-organizers)
  • ICSE 2010 Workshop on Emerging Trends in Software Metrics (WETSoM @ ICSE 2010), May 4, 2010, Cape Town, South Africa. (co-organizers)
  • The 1st International Symposium on Emerging Trends in Software Metrics (ETSM 2009), 26 May, 2009, Pula, Sardinia, Italy. (co-organizers)
  • 15th Asia-Pacific Software Engineering Conference (APSEC 2008), Beijing, China, Dec 2008 (publicity chair). 

I am a frequent reviewer for the following international journals: IEEE Transactions on Software Engineering, IEEE Software, IEEE Transactions on Knowledge and Data Engineering, Journal of Systems and Software, Empirical Software Engineering, International Journal of Software Engineering and Knowledge Engineering, Science of Computer Programming, Software Quality Journal, Software Practice & Experience,  Journal of Software Maintenance and Evolution....

I also review proposals for Natural Science Foundation of China (NSFC) and Natural Sciences and Engineering Research Council of Canada (NSERC).

Recent Invited Talks/Seminars:
  • Keynote: Improving Software Quality through Data Analytics, The 7th International Workshop on Emerging Trends in Software Metrics, May 15, 2016, Austin, Texas, USA (co-located with ICSE 2016)
  • Keynote: Software Analytics: Data-Driven Software EngineeringThe Fourth International Workshop on Software Mining, Nov 2015, 2016, Lincoln, Nebraska, USA (co-located with ASE 2015)
  • Invited:  Code Search: Research and Practice, The 3rd Chinese forum of Software Engineering Research and Practice (SERP 2016), July 20, 2016, Beijing, China
  • Invited: Towards a Theory of Software Engineering, The 5th International Workshop on Theory-Oriented Software Engineering, May 15, 2016, Austin, Texas, USA (co-located with ICSE 2016)
  • Invited: Effective Bug Management via Software Analytics, 4th International Symposium on High Confidence Software (ISHCS 2015), Jan 2015, Beijing, China.
  • Invited: Monte Verita Symposium on Developer Support, Switzerland, March 2012.
  • Invited: MSR (Mining Software Repository) Vision 2020, Canada, August 2012.
  • Invited: Symposium on Advanced Software Engineering Techniques, Shanghai Jiaotong University, 2012.
  • Invited: Symposium on Software Quality and Analysis, Nanjing University, 2012.
  • Seminar: at University of University of Science and Technology Beijing, April 2016. 
  • Seminar: at Chinese Academy of Science, April 2016.
  • Seminar: at Tsinghua University, May 2014.

Visiting Positions:

I was a visiting professor/scholar at the following organizations:

  • University of Cagliari, Italy (1/2011 – 3/2011)
  • Microsoft Research Asia (7/2012 – 8/2012)
  • Swinburne University of Technology, Australia (8/2012 – 9/2012)
  • The Hong Kong University of Science and Technology (10/2012 – 3/2013)
  • University of Toronto/University of Waterloo (5/2001 - 9/2001)  


I taught the following courses to postgraduate and undergraduate students: 

At Microsoft Research Asia:

At the School of Software, Tsinghua University:

  • Software Measurement and Process Improvement (first semester)
  • Software Quality Engineering (second semester. This course was evaluated top 15% among all postgraduate courses offered in Tsinghua University in 2011)

At the School of Computer Science and Information Technology, RMIT University:

  • ISYS1081/2368 "Software Reuse"  
  • COSC1073 "Programming Principles 1A" (a first-year Java programming course)
  • COSC1095/1295 "Programming Principles 2J"/"Java For Programmers"   
  • COSC1252/1264 “Object-Oriented Programming”   


I am grateful that I have the privilege to advise the following brilliant students/interns:

Liya Chakma, Rongxin Wu (now at HKUST), Jian Zhou (now at Baidu), Liang Gong (now at UC Berkeley), Jianxun Yang, Shuijin Lu, Jue Wang (now at Postal Bank), Shuai Chen (now at Facebook), Wei Li (now at Google), Jiangtao Gong (now at Tsinghua), Ke Ma, Bei Shi (now at CUHK), Lu Zhang (now at Virginia Tech), Zeqi Shen, Yu Cao...

Fei Lv (now at Alibaba), Galina Meyer (now at Stanford), Qing Ren (now at UCLA), Pinjia He, Sheng Tian, Wenhao Song, Senlan Yao (now at Google), Bonan Dong (now at Cornell), Xutong Chen, Wangsheng Hu, Hong Wu, Jinbo Pan, Xiaodong Gu, Wenxiang Hu, Chengxun Shu, Xingzhao Yue... 

Note: If I missed any of you accidently, please do email me (and forgive me). Please also let me know your latest status. 

I am a member of IEEE and ACM.

(Last updated: May 2016)

Psalm 67:1-3: May God be gracious to us and bless us, and make his face shine on us, so that your ways may be known on earth, your salvation among all nations.