Charles Zhang
Assistant Professor, Prism Research Group
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
|
  |
|
  |
|
  |
APSEC 2012 |
  |
[
Research |
Publications |
Students |
Teaching |
Professional Activities |
Bio ]
Our context-sensitive points-to technique has been adopted by the Soot project.
Please consider participating PLDI 2012, FSE 2012, ISSTA 2012, APSEC 2012 where I serve as an OC or TPC member.
I have PhD and Post-Doc positions open for self-motivated and academically strong students to work with me on exciting ideas in the areas of software engineering and programming languages. I also welcome exceptional undergraduate students to work with me.
My general reseach interest has been to study how software engineering techniques improve the ways we design, implement, and troubleshoot complex software systems such as concurrent systems, middleware, operating systems, and embedded software. My current research focuses on using programm analysis techniques, both static and dynamic, to assit programmers in writing concurrent software systems with good productivity and quality.
2012
- Peng Liu and Charles Zhang Axis: Automatically fixing atomicity violations through solving control constraints In ICSE2012: the 34th International Conference on Software Engineering, Zurich, Switzerland, June, 2012.
- Jinguo Zhou, Xiao Xiao, and Charles Zhang Stride: Search-based Deterministic Replay in Polynomial Time via
Bounded Linkage In ICSE2012: the 34th International Conference on Software Engineering, Zurich, Switzerland, June, 2012.
2011
- Jeff Huang, Jinguo Zhou and Charles Zhang Scaling Predictive Analysis of Concurrent Programs by Removing Trace Redundancy In TOSEM: The ACM Transactions on Software Engineering and Methodology. (To appear)
- Charles Zhang and Hans-Arno Jacobsen Mining Crosscutting Concerns through Random Walks. In TSE: The IEEE Transactions on Software Engineering. (To appear draft)
- Peng Liu and Charles Zhang. PERT: The Application Specific Tailoring of Object Persistence. In TSE: The IEEE Transactions on Software Engineering. (To appear draft)
- Jeff Huang and Charles Zhang. An Efficient Static Trace Simplification Technique for Debugging Concurrent Programs. In SAS 2011: The 18th International Static Analysis Symposium, Venice, Italy, 2011 (To appear)
- Shaoming Huang and Charles Zhang. Persuasive Prediction of Concurrency Access Anomalies . In ISSTA 2011: International Symposium on Software Testing and Analysis, Toronto, Canada, 2011 (To appear draft)
- Xiao Xiao and Charles Zhang. Geometric Encoding: Forging high performance context sensitive points-to analysis for Java . In ISSTA 2011: International Symposium on Software Testing and Analysis, Toronto, Canada, 2011 (To appear draft)
- Xiao Xiao, Jinguo Zhou and Charles Zhang. Tracking Data Structures for Postmortem Analysis. In ICSE 2011 NIER Track: the 33rd Interntional Conference on Software Engineering, Hawaii, USA, May, 2011
2010
- Wei Li, Charles Zhang and Songlin Hu. G-Finder: Routing programming questions closer to experts. In OOPSLA 2010: the ACM SIGPLAN conference on Object-oriented Programming, Systems, Languages, and Applications. Reno, USA, October 2010
- Shaoming Huang, Peng Liu and Charles Zhang. LEAP: Lightweight deterministic multiprocessor replay for concurrent Java programs. In FSE 2010: 18th International Symposium on the Foundations of Software Engineering. Santa Fe, USA, November 2010
- Wei Jiang, Charles Zhang, Zhenqiu Huang, Mingwen Chen and Songlin Hu. QSynth: A Tool for QoS-Aware Automatic Service Composition . In ICWS 2010: the 8th IEEE International Conference on Web Services. Miami, Florida, USA, July 2010
2009
- Charles Zhang. FlexSync: An aspect-oriented approach to synchronization. In ICSE 2009: the 31st International Conference on Software Engineering, Vancouver, Canada, May 2009
2008
- Charles Zhang and Hans-Arno Jacobsen. Externalizing Java server concurrency with CAL, In ECOOP 2008: 22nd European Conference on Object-Oriented Programming, Paphos, Cyprus, July, 2008
View all publications
COMP3021: Java Programming (Spring, 2012)
COMP3111: Introduction to Software Engineerings (Fall, 2011)
COMP511: Fundamentals of Software Analysis (Spring, 2011)
COMP211: Introduction to Software Engineering (Fall, 2010)
COMP211: Introduction to Software Engineering (Spring, 2010)
COMP511: Fundamentals of Software Analysis (Fall, 2009)
COMP211: Introduction to Software Engineering (Spring, 2009)
COMP610: Topics in Engineering Enterprise Middleware Platforms. (Spring, 2009)
COMP511: Fundamentals of Software Analysis (Fall, 2008)
I am fortunate to work with the following students:
Andy Zhou (Ph.D)
Vincent Gao (Ph.D)
Jeff Huang (Ph.D)
Peng Liu (Ph.D)
Richard Xiao (Ph.D)
Wei Li (Visiting PhD student from the Chinese Academy of Science, 2009-2010)
Yiqing Zhu (Visiting M.Sc. student from Shanghai Jiaotong University, 2011)
- Demo Chair: AOSD 2013
- ERC Member: OOPSLA 2012
- PC Member: ISSTA 2012
- PC Member: ICSE 2012 demo track, ICSE 2012 Student Research Competition
- Pacific Publicity Chair: PLDI 2012
- PC Member: FSE 2012, FSE 2012 NIER
- Chair, Postgraduate Symposium, APSEC 2012
- PC Member: APSEC 2011
- PC Member: OOPSLA 2011
- PC Member: COMSWARE 2011
- PC Member: ICSE 2009 demo track
- PC Member: COMSWARE 2009
Charles obtained his Ph.D, M.Sc, and B.Sc. with honors, all from the Department of Electrical and Computer Engineering at University of Toronto. He has published extensively at premium conferences and journals such as TOSEM, TSE, IEEE TPDS, ICSE, FSE, ISSTA, OOPSLA, ECOOP, ACM/USENIX MIDDLEWARE, and AOSD. He has served on the organizational and technical committees of OOPSLA, FSE, ISSTA, PLDI, AOSD, and APSEC. He is also a two-time IBM PhD fellowship winner. Prior to his science endeavor, he spent a year in Beijing Normal University studying history. Before his graduate study, he worked as a software engineer at Motorola and a Silicon Valley startup.