List of publications

Journals and Conferences

Representative publications: All publications

  1. Chengpeng Wang, Wenyang Wang, Peisen Yao, Qingkai Shi,Jinguo Zhou, Xiao Xiao, Charles Zhang Anchor: Fast and Precise Value-Flow Analysis for Containers via Memory Orientation, In TOSEM: ACM Transactions on Software Engineering and Methodology. paper

  2. Rongxin Wu, Minglei Chen,Chengpeng Wang, Gang Fan, Jiguang Qiu,and Charles Zhang, Accelerating Build Dependency Error Detection via Virtual Build, In ASE 2022:The 37th IEEE/ACM International Conference on Automated Software Engineering, Mon 10 - Fri 14 October 2022 Oakland Center, Michigan, United States paper

  3. Qingkai Shi, Yongchao Wang, Peisen Yao and Charles Zhang Indexing the Extended Dyck-CFL Reachability for Context-Sensitive Program Analysis, In OOPSLA 2022 : The ACM SIGPLAN Conference on Objected Oriented Programming, Systems, Languages and Applications, December, 2022, Auckland, New Zealand paper

  4. Yuandao Cai, Chengfeng Ye, Qingkai Shi and Charles Zhang Peahen: Fast and Precise Static Deadlock Detection via Context Reduction, In ESEC/FSE 2022 : The ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, November, 2022, Singapore paper

  5. Jiajun Gong, Wuqi Zhang, Charles Zhang, and Tao Wang. Surakav: Generating Realistic Traces for a Strong Website Fingerprinting Defense, In S&P'22: The 43rd IEEE Symposium on Security and Privacy, San Francisco, USA, May 23-26, 2022 paper

  6. Chengpeng Wang, Peisen Yao, Wensheng Tang, Qingkai Shi, and Charles Zhang, Complexity-Guided Container Replacement Synthesis, In OOPSLA 2022 : The ACM SIGPLAN Conference on Objected Oriented Programming, Systems, Languages and Applications, December, 2022, Auckland, New Zealand paper

  7. Yiyuan Guo, Jinguo Zhou, Peisen Yao, Qingkai Shi, Charles Zhang. Precise Divide-By-Zero Detection with Affirmative Evidence In ICSE 2022: 44th International Conference on Software Engineering, Pittsburgh, USA, May 21-29, 2022 paper

  8. Heqing Huang, Yiyuan Guo, Qingkai Shi, Peisen Yao, Rongxin Wu, Charles Zhang Beacon: Directed Grey-Box Fuzzing with Provable Path Pruning In S&P'22: The 43rd IEEE Symposium on Security and Privacy, San Francisco, USA, May 23-26, 2022 paper

  9. Wensheng Tang, Yikun Hu, Gang Fan, Peisen Yao, Rongxin Wu, Guangyuan Bai, Pengcheng Wang, and Charles Zhang. Transcode: Detecting Status Code Translation Errors in Large-Scale Systems. In ASE'21: The 2021 IEEE/ACM Automated Software Engineering Conference paper

  10. Peisen Yao, Qingkai Shi, Heqing Huang, Charles Zhang. Program Analysis via Efficient Symbolic Abstraction In OOPSLA'21: The 36th ACM SIGPLAN Conference on Objected Oriented Programming, Systems, Languages, and Applications. paper

  11. Peisen Yao, Heqing Huang, Tang Wensheng, Qingkai Shi, Rongxin Wu, Charles Zhang Skeletal Approximation Enumeration for SMT Solver Testing In FSE 2021:29th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Aug 23-27, 2021 paper

  12. Yuandao Cai, Peisen Yao, and Charles Zhang. Canary: Practical Static Detection of Inter-Thread Value-Flow Bugs. In PLDI 2021: The 42nd ACM SIGPLAN Conference on Programming Language Design and Implementation, June 20-25, Virtual, UK, https://doi.org/10.1145/3453483.3454099. (draft)

  13. Qingkai Shi, Peisen Yao, Rongxin Wu, and Charles Zhang. Path-Sensitive Sparse Analysis without Path Conditions. In PLDI 2021: The 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation , June 20-25, 2021, Virtual, https://doi.org/10.1145/3453483.3454086(draft)

  14. Peisen Yao, Heqing Huang, Tang Wensheng, Qingkai Shi, Rongxin Wu, Charles Zhang Fuzzing SMT Solvers via Two-Dimensional Input Space Exploration In ISSTA 2021:The 30th ACM SIGSOFT International Symposium on Software Testing and Analysis, 11-17 July, 2021 paper

  15. 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
    paper

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

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

  18. 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
    paper

  19. 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
    paper

  20. (ICSE Distinguished Paper) 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. paper

  21. 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 paper

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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