Charles Zhang

Associate Professor, Director of Cybersecurity Laboratory
Department of Computer Science and Engineering (direction)
The Hongkong University of Science and Technology
Room 3553 (lift 27/28) Tel: (852)23586997 Fax: (852)23581477

If you like programming and care about writing more secure programs, send me emails for Post-Doc and PhD positions.

I am currently involved with the following:







[ Publications | Students | Teaching | Professional Activities | Bio | Fun]


  • I will be taking sabbatical leave in the upcoming academic year. I will be working as a consultant for Sourcebrella Inc to produce industrial-strength next-generation automated bug finding tools through static analysis and AI.
  • Congratulations to Xiao Xiao's joint work with Rongxin being accepted by POPL 16!
  • Congratulations to Peng for joining IBM T.J.Watson Research Lab!
  • Paper on how to do regression testing for concurrency programs accepted by ICSE 15. Thanks to Mary Jean Harrold who asked me how to do this two years ago.
  • Jeff's research received PLDI 2013 Distinguished Paper Award, nominated by SIGPLAN as CACM Research Highlights!, and won ACM SIGSOFT Distinguished Doctoral Dissertation Award!
  • Our context-sensitive points-to technique has been adopted by the Soot project.
  • Publications

    My general reseach interest centers around the use of both static and dynamic programm analysis techniques for making complex software systems more reliable. Below are recent publications:
    1. Rongxin Wu, Xiao Xiao, Shing-Chi Cheung, Hongyu Zhang and Charles Zhang. Casper: An Efficient Approach to Call Trace Collection. In POPL 2016: 43rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, St. Petersburg, Florida, January 2016. (paper)
    2. Jeff Huang and Charles Zhang.Debugging Concurrent Software: Advances and Challenges. In Journal of Computer Science and Technology, Vol. 31 (5): 861-868, 2016 (Invited)
    3. Xiao Xiao, Shi Han, Charles Zhang and Dongmei Zhang Uncovering JavaScript Performance Code Smells Relevant to Type Mutations. In APLAS 2015: 13th Asian Symposium on Programming Languages and Systems, Pohang, Nov. 2015
    4. Valerio Terragni, Shing-Chi Cheung and Charles Zhang RECONTEST: Effective Regression Testing of Concurrent Programs. In ICSE 2015: the 37th International Conference on Software Engineering, Florence, Italy, May, 2015.
    5. Qirun Zhang, Xiao Xiao, Charles Zhang, Hao Yuan and Zhendong Su Efficient Subcubic Alias Analysis for C. In OOPSLA 2014: the ACM SIGPLAN conference on Object-Oriented Programming, Systems, Languages, and Applications. Portland, USA, Nov. 2014
    6. Peng Liu, Omer Tripp and Charles Zhang Grail: Context-Aware Fixing of Concurrency Bugs . In FSE 2014: the 22nd ACM SIGSOFT International Symposium on the Foundations of Software Engineering, Hong Kong, China, Nov. 2014.
    7. Xiao Xiao, Jinguo Zhou, Qirun Zhang and Charles Zhang Persistent Pointer Information. In PLDI 2014: the 35th annual ACM SIGPLAN conference on Programming Language Design and Implementation. Edinburgh, UK, June, 2014
    8. Peng Liu and Charles Zhang Unleashing Concurrency for Irregular Data Structures. In ICSE 2014: 36th International Conference on Software Engineering. Hyderabad, India, June, 2014
    9. Peng Liu, Julian Dolby and Charles Zhang Finding Incorrect Compositions of Atomicity. In ESEC/FSE 2013: the 9th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, Pages 158-168, St. Petersburg, Russia, Aug. 2013.
    10. (SIGPLAN PLDI Distinguished Paper Award, Nominated for CACM Research Highlights) Jeff Huang, Charles Zhang and Julian Dolby CLAP: Recording Local Executions to Reproduce Concurrency Failures. In PLDI 2013: the 34th annual ACM SIGPLAN conference on Programming Language Design and Implementation. Seattle, USA, June. 2013.
    View all publications


    COMP4111: Software Engineering Practices
    COMP3021: Java Programming (Fall 2015, Spring 2014; Spring, 2013; Spring 2012)
    COMP5111: Fundamentals of Software Analysis (Spring 2014; Spring, 2013; Spring 2011; Fall, 2009; Fall, 2008)
    COMP3111: Introduction to Software Engineerings (Fall, 2014;Fall, 2011;Fall, 2010; Spring, 2010,Spring 2009)
    COMP610: Topics in Engineering Enterprise Middleware Platforms. (Spring, 2009)

    I am fortunate to work with the following students:

    In progress:

  • Richard Xiao (Post-Doc)
  • Jinguo(Andy) Zhou (Post-Doc)
  • Gang Fan (Ph.D)
  • Qingkai Shi (Ph.D)
  • Alumni:
  • Qirun Zhang (Post Doc) Post Doc, UC Davis
  • Bin Xu (M.Phil) Ph.D, UC Irvine
  • Peng Liu (Ph.D), Researcher, IBM T.J.Watson Research Lab
  • Jeff Huang (Ph.D), Assitant Professor, Texas A&M University
  • Vincent Gao (M.Phil)
  • Professional Activities

    1. Editorial Services

      IEEE TSE: Associate Editor

    2. Program Committee Services

      ICSE:     2015 (TPC -- Resigned due to family reasons),  2014 (TPC)     2012 (Demo, SRC)     2009 (Demo)
      FSE:     2014 (TPC, DS, SRC)     2012 (TPC, NIER)
      OOPSLA:     2015 (TPC)    2014 (TPC -- Declined due to overload) (ERC)     2012 (ERC)     2011 (TPC)
      ISSTA:    2014 (TPC)     2012 (TPC)
      ASE:    2016(Demo),    2013 (TPC)
      ECOOP:    2016(ERC)

    3. Chairs

      ICSE:    2016 (Proceedings Chair)
      PLDI:    2012 (Pacific Publicity Chair)
      AOSD:    2013 (Demo Chair)
      APSEC:   2012 (Postgraduate Symposium Chair)

    Group Activities

    1. Group hiking of HKUST hills pic1 pic2 pic3 pic4 pic5
    2. Group Photos at HKUST or anywhere else pic1
    3. Santa Fe, New Mexico, USA (FSE 2010) pic1 pic2 pic3 pic4 pic5
    4. Honolulu, Hawaii, USA (ICSE 2011) pic1 pic2 pic3 pic4 pic5 pic6 pic7 pic8
    5. Toronto, Ontario, Canada (ISSTA 2011) pic1 pic2 pic3 pic4 pic5 pic6 pic7
    6. Venice, Italy, (SAS 2011) pic1 pic2 pic3 pic4 pic5


    Charles Zhang is an Associate Professor and the director of the Cybersecurity Lab in the Department of Computer Science and Engineering, HKUST. His major research interest is the use of program analysis techniques to improve software reliability. He has published extensively at premium conferences and journals of programming languages and software engineering. He has served on many organizational and technical committees of international conferences. He is currently an associate editor of IEEE TSE. His research received many awards including PLDI distinguished paper award, ACM SIGSOFT Doctoral Dissertation Award, and IBM PhD fellowships. His research is supported by Research Grant Council, Innovation and Technology Fund, and grants from Microsoft and IBM. Charles obtained his Ph.D, M.Sc, and B.Sc. with honours, all from University of Toronto.