List of publications

Journals and Conferences

Representative publications: All publications

  1. Peisen Yao, Qingkai Shi, Heqing Huang, Charles Zhang Fast Bit-Vector Satisfiability In ISSTA 2020: The 29th ACM SIGSOFT International Symposium on Software Testing and Analysis, 18-22 July, 2020

  2. Gang Fan, Chengpeng Wang, Rongxin Wu, Qingkai Shi, Charles Zhang Escaping Dependency Hell: Finding Build Dependency Errors with the Unified Dependency Graph In ISSTA 2020:The 29th ACM SIGSOFT International Symposium on Software Testing and Analysis, 18-22 July, 2020

  3. Heqing Huang, Peisen Yao, Rongxin Wu, Charles Zhang Pangolin: Incremental Hybrid Fuzzing with Polyhedral Path Abstraction In IEEE S&P:: Proceedings of the 41st IEEE Symposium on Security and Privacy, San Francisco, USA, May, 2020. <

  4. Qingkai Shi, Charles Zhang, Pipelining Bottom-up Data Flow Analysis, In ICSE 2020: The 42nd ACM/IEEE International Conference on Software Engineering, Seoul, Korea, May, 2020

  5. Qingkai Shi, Rongxin Wu, Gang Fan, Charles Zhang, Conquering the Extensional Scalability Problem for Value-Flow Analysis Frameworks In ICSE 2020:The 42nd ACM/IEEE International Conference on Software Engineering, Seoul, Korea, May, 2020

  6. Gang Fan, Rongxin Wu, Qingkai Shi, Xiao Xiao, Jinguo Zhou, Charles Zhang SMOKE: Scalable Path-Sensitive Memory Leak Detection for Millions of Lines of Code In ICSE 2019: The 41st International Conference on Software Engineering, Montreal, Canada, May, 2019.

  7. Qingkai Shi, Xiao Xiao, Rongxin Wu, Jinguo Zhou, Fan Gang and Charles Zhang Pinpoint: Fast and Precise Sparse Value Flow Analysis for Million Lines of Code. In PLDI 2018: the 39th annual ACM SIGPLAN conference on Programming Language Design and Implementation. Philadelphia, USA, June, 2018

  8. 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)

  9. 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)

  10. 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

  11. 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.

  12. 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

  13. 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.

  14. 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

  15. Peng Liu and Charles Zhang Unleashing Concurrency for Irregular Data Structures. In ICSE 2014: 36th International Conference on Software Engineering. Hyderabad, India, June, 2014

  16. 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.

  17. (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.

  18. 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, vol. 22 no.8 Feb. 2013.

  19. Yin Wang, Peng Liu, Terence Kelly, Stephane Lafortune, Spyros A. Reveliotis, Charles Zhang On atomicity enforcement in concurrent software via Discrete Event Systems theory CDC 2012:51st IEEE Conference on Decision and Control. 7230-7237, Hawaii, USA, Dec. 2012

  20. Jeff Huang and Charles Zhang LEAN: Simplifying Concurrency Bug Reproduction via Replay-supported Execution Reduction In OOPSLA 2012: the ACM SIGPLAN conference on Object-Oriented Programming, Systems, Languages, and Applications. Tucson, Arizona, USA, p451-466, 2012 (draft).

  21. Jeff Huang and Charles Zhang Execution Privatization for Scheduler-Oblivious Concurrent Programs In OOPSLA 2012: the ACM SIGPLAN conference on Object-Oriented Programming, Systems, Languages, and Applications. Tucson, Arizona, USA, 2012 (draft).

  22. Peng Liu and Charles Zhang Axis: Automatically fixing atomicity violations through solving control constraints In ICSE 2012: the 34th International Conference on Software Engineering, Zurich, Switzerland, June, 2012. (paper)

  23. Jinguo Zhou, Xiao Xiao, and Charles Zhang Stride: Search-based Deterministic Replay in Polynomial Time via Bounded Linkage In ICSE 2012: the 34th International Conference on Software Engineering, Zurich, Switzerland, June, 2012, p890-900. (paper)

  24. Charles Zhang and Hans-Arno Jacobsen Mining Crosscutting Concerns through Random Walks. In TSE: The IEEE Transactions on Software Engineering vol. 38 no. 5, pp. 1123-1137, Sep., 2012. (draft)

  25. Peng Liu and Charles Zhang. PERT: The Application Specific Tailoring of Object Persistence. In TSE: The IEEE Transactions on Software Engineering, vol 38 no. 4 pp. 909-922, July, 2012. (draft)

  26. 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

  27. Shaoming Huang and Charles Zhang. Persuasive Prediction of Concurrency Access Anomalies . In ISSTA 2011: International Symposium on Software Testing and Analysis, Toronto, Canada, 2011 (draft)

  28. 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 (draft)

  29. 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

  30. 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

  31. 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

  32. 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

  33. Charles Zhang FlexSync: An aspect oriented approach to Java synchronization, In ICSE 2009: 31st International Conference on Software Engineering, Vancouver, Canada, May, 2009 (draft)

  34. 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 (draft)

  35. Charles Zhang and Hans-Arno Jacobsen. Efficiently mining crosscutting concerns through random walks, In AOSD07: 6th International Conference on Aspect Oriented Software Development,, 12-page manuscript, Vancouver, BC, Canada, March 2007. (Updated: paper)

  36. Charles Zhang, Gilbert Gao and Hans-Arno Jacobsen. Generic Middleware Substrate through Modelware. In Middleware 2005: ACM/IFIP/USENIX 6th International Middleware Conference (Middleware 2005), pages 314-333, Grenoble, France November 28th - December 2nd, 2005 paper

  37. Charles Zhang, Gilbert Gao and Hans-Arno Jacobsen. Towards Just-in-time Middleware, In AOSD05: 4th International Conference on Aspect Oriented Software Development,, pages 63-74, Chicago, IL, March 2005, paper

  38. Charles Zhang and Hans-Arno Jacobsen. Resovling Feature Convolution in Middleware Systems. In OOPSLA04: Proceedings of the 19th ACM SIGPLAN conference on Object-oriented Programming, Systems, Languages, and Applications, pages 188-205, Vancouver, BC, Canada, September 2004. paper

  39. Charles Zhang and Hans-Arno Jacobsen. Refactoring Middleware Systems: A Case Study. In DOA2003, International Symposium on Distributed Objects and Applications, Catania, Sicily (Italy), 2003. Lecture Notes in Computer Science, pages 1243-1262, Springer Verlag.

  40. Charles Zhang and Hans-Arno Jacobsen. Refactoring Middleware with Aspects. In IEEE Transactions on Parallel and Distributed Systems, 14(11):1058 - 1073, November 2003.paper

  41. Charles Zhang and Hans-Arno Jacobsen. Quantifying Aspects in Middleware Platforms. In AOSD03: 2nd International Conference on Aspect Oriented Software Development, pages 130-139, Boston, MA, March 2003.

Workshop Papers

  1. Charles Zhang, Hans-Arno Jacobsen, Yijin Yu. Linking Goal to Aspects. In Early Aspects Workshop, co-located with the 4th International Conference on Aspect Oriented Software Development (AOSD 2005)

  2. Charles Zhang, Hans-Arno Jacobsen, Julie Waterhouse Park, and Adrian Colyer. Aspect Refactoring Verifior, In Linking Aspect Technology and Evolution Workshop, co-located with 4th International Conference on Aspect Oriented Software Development. (AOSD 2005)

  3. Charles Zhang and Hans-Arno Jacobsen. Prism is research in aspect mining. In Companion of OOPSLA04: the 19th annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications. ACM Press, 2004.

  4. Charles Zhang, Hans-Arno Jacobsen, TinyC2: Towards building a dynamic weaving aspect language for C, In Foundations of Aspect Languages, co-located with 2nd International Conference on Aspect Oriented Software Development. (AOSD 2003)

Software Demonstrations and Posters

Prism

  1. Charles Zhang and Hans-Arno Jacobsen. Prism Query Language , Software Demonstration, 5th International Conference of Aspect Oriented Software Development, AOSD 2006

  2. Charles Zhang and Hans-Arno Jacobsen. Prism Query Language , Software Demonstration and Poster, 15th annual international conference of the IBM Centers for Advanced Studies, CASCON 2005

  3. Charles Zhang and Hans-Arno Jacobsen. Prism is Research In aSpect Mining, Software Demonstration at OOPSLA 2004.

  4. Charles Zhang and Hans-Arno Jacobsen. Prism is Research In aSpect Mining, Software Demonstration at CASCON 2004.

  5. Charles Zhang and Hans-Arno Jacobsen. Prism is Research in Software Modularization. Software Demonstration at CASCON 2003.

  6. Charles Zhang and Hans-Arno Jacobsen. Prism is Research in Software. Modularization. Poster at eTX Workshop OOPSLA 2003

  7. Charles Zhang and Hans-Arno Jacobsen. Modularity Analyzer and Aspect Extractor. Poster at eTX Workshop ICSE 2003

  8. Charles Zhang, Gilbert Gao, Hans-Arno Jacobsen, AMTEX, an extended aspect mining tool, Software Demonstration at CASCON 2002, Markham, Ontario, 2002

Aspect Refactoring Verifier (ARV)
   
    Charles Zhang and Hans-Arno Jacobsen. ARV: Aspect Refactoring Verifier. Poster and Software Demonstration at CASCON 2004, CASCON 2003