Publications


  1. Ziyi Lin, Hao Zhong, Yuting Chen, and Jianjun Zhao.
    LockPeeker: Detecting Latent Locks in Java APIs.
    In Proc. 31th IEEE/ACM Conference on Automated Software Engineering (ASE 2016), Singapore, September 3-7, 2016. (to appear)

  2. Xiao Cheng, Zhiming Peng, Lingxiao Jiang, Hao Zhong, Haibo Yu, and Jianjun Zhao.
    Detecting Cross-Language Clones Without Intermediates.
    In Proc. 31th IEEE/ACM Conference on Automated Software Engineering (ASE 2016), (Short Paper), Singapore, September 3-7, 2016. (to appear)

  3.  Xiao Cheng, Linxiao Jiang, Hao Zhong, Haibo Yu, and Jianjun Zhao.
    On the Feasibility of Detecting Cross-Platform Code Clones via Identifier Similarity.
    In Proc. Fifth International Workshop on Software Mining (SoftwareMining 2016, co-located with ASE 2016), Singapore, September 3, 2016. ( to appear)

  4. Xiao Cheng, Hao Zhong, Yuting Chen, Zhenjiang Hu, Jianjun Zhao.
    Rule-Directed Code Clone Synchronization.
    In Proc. 24th International Conference on Program Comprehension (ICPC 2016), Austin, Texas, USA, May 16-17, 2016.

  5. Lei Ma, Cheng Zhang, Bing Yu, Jianjun Zhao.
    Retrofitting Automatic Testing through Library Tests Reusing.
    In Proc. 24th International Conference on Program Comprehension (ICPC 2016), Austin, Texas, USA, May 16-17, 2016.

  6. Yuting Chen, Ting Su, Chengnian Sun, Zhendong Su, and Jianjun Zhao.
    Coverage-Directed Differential Testing of JVM Implementations.
    In Proc. ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2016), pp.85-99, Santa Barbara, CA, June 13-17, 2016.

  7. Xiao Cheng, Yuting Chen, Zhenjiang Hu, Tao Zan, Mengyu Liu, Hao Zhong, and Jianjun Zhao.
    Supporting Selective Undo for Refactoring.
    In Proc. 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016), Osaka, Japan, March 2016.

  8.  Jiabin Ye, Cheng Zhang, Lei Ma, Haibo Yu, and Jianjun Zhao.
    Efficient and Precise Dynamic Slicing for Client-Side JavaScript Programs.
    In Proc. 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016), Osaka, Japan, March 2016.
    (Best Paper Candidate Award)

  9. Ziyi Lin, Darko Marinov, Hao Zhong, Yuting Chen, and Jianjun Zhao.
    JaConTeBe: A Benchmark Suite of Real-World Java Concurrency Bugs.
    In Proc. 30th IEEE/ACM Conference on Automated Software Engineering (ASE 2015), pp.71-80, Lincoln, NE, November 2015.

  10. Fei Lv, Hongyu Zhang, Jianguang Lou, Shaowei Wang, Dongmei Zhang, and Jianjun Zhao.
    CodeHow: Effective Code Search Based on API Understanding and Extended Boolean.
    In Proc. 30th IEEE/ACM Conference on Automated Software Engineering (ASE 2015), pp.260-270, Lincoln, NE, November 2015.

  11. Qi Wang, Jingyu Zhou, Yuting Chen, Yizhou Zhang, Jianjun Zhao.
    Extracting URLs from JavaScript via program analysis.
    In Proc. 9th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2013), New Ideas Track, pp.627-630, Saint Petersburg, Russia, August 18-26, 2013.

  12.  Qiang Sun, Yuting Chen, and Jianjun Zhao.
    Constraint-Based Locality Analysis for X10 Programs.
    In Proc. ACM SIGPLAN 2013 Workshop on Partial Evaluation and Program Manipulation (PEPM 2013), pp.137-146, Rome, Italy, January 21-22, 2013.

  13. Cheng Zhang, Longwen Lu, Hucheng Zhou, Jianjun Zhao, and Zheng Zhang.
    MoonBox: Debugging with Online Slicing and Dryrun.
    In Proc. 3rd ACM SIGOPS Asia-Pacific Workshop on Systems (APSys 2012), Seoul, South Korea, July 23-24, 2012.

  14.  Longwen Lu, Cheng Zhang, Jianjun Zhao.
    Soot-based Implementation of a Demand-Driven Reaching Definitions Analysis.
    In Proc. ACM SIGPLAN International Workshop on the State Of the Art in Java Program Analysis (SOAP 2012), PLDI 2012 Workshop, pp.21-26, June 14, 2012.

  15. Cheng Zhang, Juyuan Yang, Yi Zhang, Jing Fan, Xin Zhang, Jianjun Zhao, Peizhao Ou.
    Automatic Parameter Recommendation for Practical API Usage.
    In Proc. 34th International Conference on Software Engineering (ICSE 2012), pp.826-836, Zurich, Switzerland, June 2-9, 2012.

  16.  Cheng Zhang, Hao Xu, Sai Zhang, Jianjun Zhao, and Yuting Chen.
    Frequency Estimation of Virtual Call Targets for Object-Oriented Programs.
    In Proc. 25th European Conference on Object-Oriented Programming (ECOOP 2011), pp.510-532, Lancaster, UK, July 25-29 3, 2011.

  17. Cheng Zhang, Zhenyu Guo, Ming Wu, Longwen Lu, Yu Fan, Jianjun Zhao, and Zheng Zhang.
    AutoLog: Facing Log Redundancy and Insufficiency.
    In Proc. 2nd ACM SIGOPS Asia-Pacific Workshop on Systems (APSys 2011), Shanghai, China, July 10-12, 2011.

  18.  Qiang Sun, Jianjun Zhao, and Yuting Chen.
    Probabilistic Points-to Analysis for Java.
    In Proc. 2011 International Conference on Compiler Construction (CC 2011), pp.62-81, Saarbrücken, Germany, March 26 – April 3, 2011. 

  19. Haihao Shen, Jianhong Fang, and Jianjun Zhao.
    EFindBugs: Effective Error Ranking for FindBugs.
    In Proc. 4th IEEE International Conference on Software Testing, Verification and Validation (ICST 2011), pp.299-308, Berlin, Germany, March 21-25, 2011. 

  20. Cheng Zhang, Dacong Yang, Jianjun Zhao, Shengqian Yang, and Yuting Chen.
    BPGen: An Automated Breakpoint Generator for Debugging.
    In Proc. 32th International Conference on Software Engineering (ICSE 2010), Vol.2, pp.171-174, Formal Demonstration Track, Cape Town, South Africa, , May 2-8, 2010.

  21. Qingzhou Luo, Sai Zhang, Jianjun Zhao and Min Hu.
    A Lightweight and Portable Approach to Making Concurrent Failures Reproducible.
    In Proc. Fundamental Approaches to Software Engineering (FASE'2010), pp.323-337, Paphos, Cyprus, 22 – 26 March, 2010.   

  22. Yu Lin, Xucheng Tang, Yuting Chen and Jianjun Zhao.
    A Divergence-Orietned Approach to Adaptive Random Testing of Java Programs.
    In Proc. 24th IEEE/ACM International Conference on Automated Software Engineering (ASE 2009), pp.221-232, Auckland, New Zealand, November 16-20, 2009. 

  23. Yu Lin, Sai Zhang, and Jianjun Zhao.
    Incremental Call Graph Reanalysis for AspectJ Software.
    In Proc. 25th IEEE International Conference on Software Maintenance (ICSM 2009), pp.301-315 , Alberta, Canada, Sep 20- 26, 2009.

  24. Martin Gorg and Jianjun Zhao.
    Identifying Semantic Differences in AspectJ Programs.
    In Proc. ACM SIGSOFT International Conference on Software Testing and Analysis (ISSTA 2009), pp. 25-36, Chicago, July 2009.

  25. Zengkai Ma and Jianjun Zhao.
    Test Case Prioritization Based on Analysis of Program Structure.
    In Proc. 15th Asia-Pacific Software Engineering Conference (APSEC 2008), pp.471-478, Beijing, China, December 3-5, 2008.

  26. Sai Zhang, Yu Lin, Zhongxian Gu, and Jianjun Zhao.
    Effective Identification of Failure-Inducing Changes: A Hybrid Approach.
    In Proc. 8th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 2008), pp.77-83, Atlanta, GA, USA, November 9-10, 2008.

  27. Haihao Shen, Sai Zhang, Jianjun Zhao, Jianhong Fang, and Shiyuan Rao.
    XFindBugs: eXtended FindBugs for AspectJ.
    In Proc. 8th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 2008), pp.70-76, Atlanta, GA, USA, November 9-10, 2008.

  28. Sai Zhang, Zhongxian Gu, Yu Lin, and Jianjun Zhao.
    Change Impact Analysis for AspectJ Programs.
    In Proc. 24th IEEE International Conference on Software Maintenance (ICSM 2008), pp.87-96, Beijing, China, Sep 28- Oct 4, 2008. 

  29. Qiang Sun and Jianjun Zhao.
    Aspect-Aware Points-to Analysis.
    In Proc.8th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2008), pp.143-152, Beijing, China, Sep 28-29, 2008.

  30. Sai Zhang, Zhongxian Gu, Yu Lin, and Jianjun Zhao.
    Flota: A Programmer Assistant for Locating Faulty Changes in AspectJ Software Evolution.
    In Proc. 4th International Linking Aspect Technology and Evolution workshop (LATE 2008), AOSD 2008 Workshop, April 1, Brussels, Belgium.

  31. Sai Zhang, Zhongxian Gu, Yu Lin, and Jianjun Zhao.
    Celadon: A Change Impact Analysis Tool for Aspect-Oriented Programs.
    In Proc. 30th International Conference on Software Engineering (ICSE 2008), Companion Volume, pp.913-914, (Informal Demonstration Track), May 10-18, 2008, Leipzig, Germany. (This work was also presented as a forum research demonstration in AOSD 08 Demonstration, March 31-April 4th, 2008, Brussels, Belgium)

  32. Sai Zhang and Jianjun Zhao.
    On Identifying Bug Patterns in Aspect-Oriented Programs.
    In Proc. 31st IEEE Annual International Computer Software and Applications Conference (COMPSAC'07), Vol. I, pp.431-438, Beijing, China, July 23-27, 2007.

  33. Yi Wang and Jianjun Zhao.
    Specifying Pointcuts in AspectJ.
    In Proc. 31st IEEE Annual International Computer Software and Applications Conference (COMPSAC'07), Vol. II, pp.5-10, 3rd Asian Workshop on Aspect-Oriented Software Development (AOAsia 2007), Beijing, China, July 23, 2007.

  34. Tao Xie and Jianjun Zhao.
    Perspectives on Automated Testing of Aspect-Oriented Programs.
    In Proc. 3rd Workshop on Testing Aspect-Oriented Programs (WTAOP 2007), Vancouver, Canada, pp. 7-12, March 2007.

  35. Jianjun Zhao, Cheng Zhang, Sibo Zhang, and Jiaming Zhang.
    An Overview of VeriJava Programming Systems.
    Technical Report SJTU-CSE-TR-06-01, Center for Software Engineering, Shanghai Jiao Tong University, October 2006.  (A short version presented at 1st Asian Working Conference on Verified Software (AWCVS 2006),  Macao, China, October 2006)

  36. Tao Xie, Jianjun Zhao, Darko Marinov, and David Notkin.
    Detecting Redundant Unit Tests for AspectJ rograms.
    In Proc. 17th IEEE International Conference on Software Reliability Engineering (ISSRE'06), pp.179-188, Raleigh, NC, November 2006.

  37. Jianjun Zhao.
    Control-Flow Analysis and Representation of Aspect-Oriented Programs.
    In Proc. 6th International Conference on Quality Software (QSIC'06), pp.38-48 Beijing, China, October 26-28, 2006.

  38. Jianjun Zhao, Tao Xie, and Nan Li.
    Towards Regression Test Selection for Aspect-Oriented Programs.  
    In 2nd Workshop on Testing Aspect-Oriented Programs (WTAOP'06), Portland, Maine, July 2006.

  39. Tao Xie and Jianjun Zhao.
    A Framework and Tool Supports for Generating Test Inputs of AspectJ Programs.
    In Proc. 5th International Conference on Aspect-Oriented Software Development (AOSD'2006), pp.190-201, Bonn, Germany, March 2006.  (A previous version appeared as Automated Test Generation for AspectJ Programs" by Tao Xie, Jianjun Zhao, Darko Marinov, and David Notkin in AOSD 2005 Workshop on Testing Aspect-Oriented Programs (WTAOP'05), Chicago, USA, March 2005) 

  40. Jianjun Zhao.
    Measuring Coupling in Aspect-Oriented Systems.
    In 10th International Software Metrics Symposium (METRICS'2004), (Late Breaking Paper), Chicago, USA, September 14-16, 2004.  (A previous version appeared as Technical-Report SE-142-6, Information Processing Society of Japan (IPSJ), May 2003)

  41. Jianjun Zhao and Baowen Xu.
    Measuring Aspect Cohesion.
    In Proc. Fundamental Approaches to Software Engineering (FASE'2004), LNCS 2984, pp.54-68, Springer-Verlag, Barcelona, Spain, March 29-31, 2004.

  42. Jianjun Zhao.
    Data-Flow-Based Unit Testing of Aspect-Oriented Programs.  
    In Proc. 27th Annual IEEE International Computer Software and Applications Conference (COMPSAC'2003), pp.188-197. Dallas, Texas, USA, November 2003.  (A previous version appeared as Technical-Report SE-136-26, Information Processing Society of Japan (IPSJ), March 2002)

  43. Masanori Iwamoto and Jianjun Zhao.  
    Refactoring Aspect-Oriented Programs.
    In 4th AOSD Modeling with UML Workshop, UML'2003, San Francisco, California, USA, October 2003.

  44. Jianjun Zhao and Martin Rinard.
    Pipa: A Behavioral Interface Specification Language for AspectJ.  
    In Proc. Fundamental Approaches to Software Engineering (FASE'2003), LNCS 2621, pp.150-165, Springer-Verlag, April 2003.

  45. Jianjun Zhao and Martin Rinard.
    System Dependence Graph Construction for Aspect-Oriented Programs.
    Technical Report MIT-LCS-TR-891, Laboratory for Computer Science, MIT, March 2003.

  46. Jianjun Zhao, Hongji Yang, Limin Xiang, and Baowen Xu.
    Change Impact Analysis to Support Architectural Evolution.  
    In Journal of Software Maintenance and Evolution: Research and Practice, Vol.14, No.5, pp.317-333, 2002, John Wiley & Sons.

  47. Jianjun Zhao.
    Slicing Aspect-Oriented Software.
    In Proc. 10th IEEE International Workshop on Program Comprehension (IWPC'2002), pp.251-260, Paris, France, June 2002.  (A previous version appeared as Technical-Report SE-135-7, Information Processing Society of Japan (IPSJ), November 2001)

  48. Yuming Zhou, Baowen Xu, Jianjun Zhao, and Hongji Yang.
    ICBMC: An Improved Cohesion Measure for Classes.
    In Proc. IEEE International Conference on Software Maintenance, pp. 44-53, Montreal, Canada, October 2002.

  49. Jianjun Zhao.
    Change Impact Analysis for Aspect-Oriented Software Evolution.  
    In Proc. 5th International Workshop on Principles of Software Evolution, pp.108-112, ACM Press, Orlando, Florida, USA, May 2002.

  50. Jianjun Zhao.
    Towards a Metrics Suite for Aspect-Oriented Software.  
    Technical-Report SE-136-25, Information Processing Society of Japan (IPSJ), March 2002.

  51. Jianjun Zhao.
    Dependence Analysis of Java Bytecode.
    In Proc. 24th IEEE Annual International Computer Software and Applications Conference (COMPSAC'2000), pp.486-491, Taipei, Taiwan, October 2000.

  52. Jianjun Zhao.
    A Slicing-Based Approach to Extracting Reusable Software Architectures.
    In Proc. 4th European Conference on Software Maintenance and Reengineering (CSMR'2000), pp.215-223, IEEE Computer Society Press, Zurich, Switzerland, February 2000.

  53. Jianjun Zhao.
    Multithreaded Dependence Graphs for Concurrent Java Programs.  
    In Proc. 1999 International Symposium on Software Engineering for Parallel and Distributed Systems, pp.13-23, IEEE Computer Society Press, May 1999.

  54. Jianjun Zhao.
    Slicing Concurrent Java Programs.  
    In Proc. Seventh IEEE International Workshop on Program Comprehension (IWPC'99), pp.126-133, May 1999.

  55. Jianjun Zhao.
    Applying Program Dependence Analysis to Java Software.
    In Proc. Workshop on Software Engineering and Database Systems, 1998 International Computer Symposium, pp.162-169, Tainan, Taiwan, December 1998.

  56. Jianjun Zhao.
    Dynamic Slicing of Object-Oriented Programs.  
    Technical-Report SE-98-119, pp.17-23, Information Processing Society of Japan (IPSJ), May 1998.

  57. Jianjun Zhao.
    On Assessing the Complexity of Software Architectures.
    In Proc. 3rd International Software Architecture Workshop, pp.163-166, ACM SIGSOFT, ACM Press, November 1998.

  58. Jianjun Zhao.
    Applying Slicing Technique to Software Architectures.
    In Proc. Fourth IEEE International Conference on Engineering of Complex Computer Systems, pp.87-98, August 1998.

  59. Jianjun Zhao, Jingde Cheng, and Kazuo Ushijima.
    A Metrics Suite for Concurrent Logic Programs .
    In Proc. 2nd Euromicro Conference on Software Maintenance and Reengineering, pp.172-178, IEEE Computer Society Press, March 1998.

  60.  Jianjun Zhao.
    Using Dependence Analysis to Support Software Architecture Understanding.
    In M. Li (Ed.), "New Technologies on Computer Software", pp.135-142, International Academic Publishers, September 1997.

  61. Jianjun Zhao, Jingde Cheng, and Kazuo Ushijima.
    Slicing Concurrent Logic Programs.
    In T. Ida, A. Ohori and M. Takeichi (Eds.), "Second Fuji International Workshop on Functional and Logic Programming", pp.143-162, World Scientific, 1997.

  62. Jianjun Zhao, Jingde Cheng, and Kazuo Ushijima.
    Static Slicing of Concurrent Object-Oriented Programs.
    In Proc. 20th IEEE Annual International Computer Software and Applications Conference, pp.312-320, August 1996.