List of publications

Journals and Conferences

Representative publications: All publications

  1. Anshunkang Zhou, Yikun Hu, Xiangzhe Xu, Charles Zhang ARCTURUS: Full Coverage Binary Similarity Analysis with Reachability-Guided Emulation, In ACM TOSEM:: ACM Transactions on Software Engineering and Methodology, 2024

  2. Anshunkang Zhou, Chengfeng Ye, Heqing Huang, Yuandao Cai, Charles Zhang Plankton: Reconciling Binary Code and Debug Information, In ASPLOS 2024: ACM Conference on Architectural Support for Programming Languages and Operating Systems, San Diego, USA, April 27- May 1, 2024

  3. Hao Ling, Heqing Huang, Chengpeng Wang, Yuandao Cai, Charles Zhang GIANTSAN: Efficient Memory Sanitization with Segment Folding, In ASPLOS 2024: ACM Conference on Architectural Support for Programming Languages and Operating Systems, San Diego, USA, April 27- May 1, 2024

  4. Heqing Huang, Anshunkang Zhou, Mathias Payer, Charles Zhang, Everything is Good for Something: Counterexample-Guided Directed Fuzzing via Likely Invariant Inference, In S&P'24: The 45th IEEE Symposium on Security and Privacy, San Francisco, USA, May 20-23, 2024

  5. Rongxin Wu, Yuxuan He, Jiafeng Huang, Chengpeng Wang, Wensheng Tang, Qingkai Shi, Xiao Xiao, and Charles Zhang. LibAlchemy: A Two-Layer Persistent Summary Design for Taming Third-Party Libraries in Static Bug-Finding Systems. In ICSE 2024: 46th International Conference on Software Engineering, April 14-20, Lisbon, Portugal.

  6. Wensheng Tang, Dejun Dong, Shijie Li, Chengpeng Wang, Peisen Yao, Jinguo Zhou, and Charles Zhang. Octopus: Scaling Value-Flow Analysis via Parallel Collection of Realizable Path Conditions. In TOSEM: ACM Transactions on Software Engineering and Methodology, 2023

  7. Yuandao Cai, Yibo Jin, Charles Zhang. Unleashing the Power of Type-Based Call Graph Construction by Using Regional Pointer Information, In USENIX Security 24:the 33nd USENIX Security Symposium, August 14-16, 2024, Philadelphia, PA, USA

  8. Heqing Huang, Peisen Yao, Hung-Chun Chiu, Yiyuan Guo, Charles Zhang. Titan : Efficient Multi-target Directed Greybox Fuzzing, In S&P'24: The 45th IEEE Symposium on Security and Privacy, San Francisco, USA, May 20-23, 2024

  9. J. Gong, W. Zhang, C. Zhang and T. Wang, WFDefProxy: Real World Implementation and Evaluation of Website Fingerprinting Defenses In TIFS: IEEE Transactions on Information Forensics and Security, pages 1357 - 1371, 25 October 2023, doi: 10.1109/TIFS.2023.3327662.

  10. Yuandao Cai, Charles Zhang. A Cocktail Approach to Practical Call Graph Construction, In OOPLSA2023:The ACM SIGPLAN Conference on Objected Oriented Programming, Systems, Languages and Applications, Sun 22 - Fri 27 October 2023 Cascais, Portugal

  11. Wensheng Tang, Chengpeng Wang, Peisen Yao, Rongxin Wu, Xianjin Fu, Gang Fan, Charles Zhang. DCLink: Bridging Data Constraint Changes and Implementations in FinTech Systems, In ASE2023: 38th IEEE/ACM International Conference on Automated Software Engineering, Kirchberg, Luxembourg, Sept. 11 - 15, 2023

  12. Heqing Huang, Hung-Chun Chiu, Qingkai Shi, Peisen Yao, Charles Zhang. Balance Seed Scheduling via Monte Carlo Planning, In TDSC:IEEE Transactions on Dependable and Secure Computing, June, 2023

  13. Chengpeng Wang, Peisen Yao, Wensheng Tang, Gang Fan, and Charles Zhang, Synthesizing Conjunctive Queries for Code Search, In ECOOP 2023: European Conference on Object-Oriented Programming, July, 2023.

  14. Zongyin Hao, Quanfeng Huang, Chengpeng Wang, Jianfeng Wang, Yushan Zhang, Rongxin Wu, and Charles Zhang, Detecting Logical Bugs in Database Management Systems with Approximate Query Synthesis, In ATC 2023: USENIX Annual Technical Conference, July, 2023.

  15. Chengpeng Wang, Gang Fan, Peisen Yao, Fuxiong Pan, Charles Zhang Verifying Data Constraint Equivalence in FinTech Systems, In ICSE 2023: the 45th IEEE/ACM International Conference on Software Engineering, Melbourne, Australia, May 14-20, 2023

  16. Yuandao Cai, Peisen Yao, Chengfeng Ye, Charles Zhang Place Your Locks Well: Understanding and Detecting Lock Misuse Bugs, In USENIX Security 2023: the 32nd USENIX Security Symposium. August 9-11, 2023, Anaheim, CA, USA

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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