Kyushu University Academic Staff Educational and Research Activities Database
Researcher information (To researchers) Need Help? How to update
Jianjun Zhao Last modified date:2023.07.19



Graduate School
Undergraduate School


Homepage
https://kyushu-u.pure.elsevier.com/en/persons/jianjun-zhao
 Reseacher Profiling Tool Kyushu University Pure
http://stap.ait.kyushu-u.ac.jp/~zhao/
Academic Degree
PhD (Computer Science, Kyushu University), B.E. (Computer Science, Tsinghua University)
Field of Specialization
Software Engineering, Programming Languages
Research
Research Interests
  • Software Engineering, programming languages
    keyword : Program Analysis, Software Testing, Programming Development Environment, Automatic Programming
    2016.04.
Academic Activities
Books
1. Jianjun Zhao, Limin Xiang, "Architectural Slicing to Support System Evolution" in In Khaled M. Khan and Yan Zhang (Eds.) "Managing Corporate Information Systems Evolution and Maintenance,", Idea Group Publishing, Chapter 8, pp.197-210, 2005.01.
Papers
1. Xiao Cheng, Zhiming Peng, Linxiao Jiang, Hao Zhong, Haibo Yu, Jianjun Zhao, Detecting Cross-Language Clones Without Intermediates, The 31th IEEE/ACM Conference on Automated Software Engineering (ASE 2016) (Short Paper), 696-701, 2016.09.
2. Xiao Cheng, Yuting Chen, Zhenjiang Hu, Tao Zan, Mengyu Liu, Hao Zhong, Jianjun Zhao, Supporting Selective Undo for Refactoring, The 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016), 13-23, 2016.03.
3. Jiabin Ye, Cheng Zhang, Lei Ma, Haibo Yu, Jianjun Zhao, Efficient and Precise Dynamic Slicing for Client-Side JavaScript Programs, The 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016) (Best Paper Candidate Award), 449-459, 2016.03, JavaScript is the de facto dominant programming language for developing web applications. Most popular websites are using JavaScript, especially to develop client-side features. Being syntactically flexible and highly dynamic, JavaScript is easy to use and productive, but its code is known to be less maintainable. The task of maintaining client-side JavaScript code is further complicated by the pervasive interactions between JavaScript code and HTML elements, through browsers. In this paper, we present JS-Slicer, a dynamic slicer for JavaScript, to ease the task of understanding and debugging practical client-side JavaScript code. JS-Slicer defines three types of dependences, including data dependences, control dependences, and DOM dependences, to capture all relationships between program elements. JS-Slicer extends a novel dynamic analysis framework and combines dynamic and static analysis to precisely capture the dependences at run-time. A lot of language specific issues are properly handled, which enables JS-Slicer to slice practical JavaScript code. Our evaluation on six real-world web applications and JavaScript libraries shows that JS-Slicer is both precise and efficient: on average it captures around 40K dependences in 2.5K lines of code, in less than 3.0 seconds..
Membership in Academic Society
  • Japan Society of Software Science and Technology
  • Information Processing Society of Japan
  • The Institute of Electronics, Information and Communications (IEICE)
  • China Computer Federation (CCF)
  • ACM (SIGSOFT)
  • IEEE Computer Society
Educational
Other Educational Activities
  • 2016.08, I give the following lectures:
    1. Concepts of Programming Languages (for undergraduate students)
    2. Technical Writing and Presentation (for undergraduate students).