Guoqing (Harry) Xu

Contact Information

395 Dreese Lab  Tel: (614) 302-9054
Department of Computer Science & Engineering Fax: (614) 292-2911
The Ohio State University  E-mail: xug@cse.ohio-state.edu
Columbus, OH 43210 USA  WWW: www.cse.ohio-state.edu/~xug

Research Statements My research interests are in static and dynamic program analysis for compiler optimizations, program understanding, software evolution, and bug detection. I have been working on the following projects:

1. Combined static and dynamic analysis for testing and bug detection. The rapid growth of program size and running time creates significant difficulty for traditional approaches to debugging and testing. A project that we carried out [FSE07] aimed to explore checkpointing/replaying techniques, which have been used widely for debugging/testing/tolerating faults in system software, to reduce the cost of debugging/testing long-running Java applications. The key idea is to employ a series of static analyses to identify instrumentation points, compute stack and heap objects that are written before the checkpoint and read after the checkpoint, and insert code to save and load these objects at corresponding program points. This technique, successfully reduced the running time of the Soot framework by avoiding expensive computations before the specified checkpoint(s).

A memory leak bug in Java software is caused by holding references to objects that are no longer used. Existing dynamic analysis approaches attempt to track fine-grained objects and find leaking data structures by backward traversing the object graph, which usually leads to imprecise bug reports if the program contains complex structures. A recent project [ICSE08] aimed at developing new dynamic analysis algorithms for detecting memory leak bugs. We look at the problem in a container-centric view, since many memory leaks occur due to misuse of containers. We propose a novel combined metric (considering both staleness and memory footprint) to rank containers. By applying this metric on real-world Java programs containing memory leaks, we found it was quite precise and simple to track down bugs, which can be very hard to detect by existing approaches.

2. Static analysis for AspectJ software. The emergence of aspect orientation presents new challenges for program analysis algorithms. To solve the problem, we propose a novel source-code-level control flow [ICSE07] and data flow [AOSD08] representation for AspectJ software, built upon the stateof-art abc compiler. We have also shown the possibility of performing a variety of existing analysis algorithms based on our representation, including regression test selection [ICSE07], interprocedural dependence-analysis-based program slicing [AOSD08], and must-alias-based object effect analysis [AOSD08].

3. Precise and scalable context-sensitive points-to analysis. Efficiently representing abstract contexts in a context-sensitive points-to analysis is a key factor for analysis scalability. The existence of a large number of equivalent contexts presents opportunities for recent advancement of analyses based on binary decision diagrams (BDDs), which automatically merge identical contexts. In this project, we propose a technique to detect and merge equivalent contexts without relying on BDDs. We design a new points-to analysis based on this technique, which enables full heap cloning. Our experimental results show that this analysis is much more precise than 1-object-sensitive analysis with heap cloning, which is currently the most precise analysis in the state-of-art Paddle analysis framework. Our analysis runs an order of magnitude faster than this BDD-based analysis. The report of this project has been submitted and is currently under the review. A different approach to perform points-to analysis is to formulate it to a CFL-reachability problem. We have just started a new project that attempts to combine the equivalent contexts identification and the formulation as CFL reachability. We are also investigating the use of pre-computed library summary information to reduce analysis cost, based on our work from [CC08].

My goal for a summer research internship is to contribute to a project in which static and/or dynamic analysis is important enabling technology for improving programmer productivity and software quality/performance. Examples of such projects include scalable modular analyses for large applications; analysis of parallel and distributed programs; static and dynamic bug detection; analysis for software security; program understanding and evolution; performance analysis of longrunning applications. I would also be interested in contributing to the development of analysis frameworks. This is an incomplete list of possible areas of work, and I am eager to contribute to any project that presents challenging software analysis problems.

Education The Ohio State University, Columbus, OHIO USA

Ph.D. student, Computer Science, Sept. 2005 - present

• Advisor: Dr. Atanas Rountev

East China Normal University, Shanghai, China

M.Eng., Computer Science, Jan. 2005

• Advisor: Prof. Zongyuan Yang

East China Normal University, Shanghai, China

B.Eng., Computer Science, July 2002

Working Experience

IBM China Lab, Dec. 2004 - June 2005

Recent Draft Guoqing Xu and Atanas Rountev, Merging Equivalent Contexts for Scalable Heap-Cloning-Based Context-Sensitive Points-to Analysis, submitted for ISSTA’08, Jan. 2008. available online at http://www.cse.ohio-state.edu/x̃ug/research/papers/issta-submission.pdf.

Publications [ICSE 08]Guoqing Xu and Atanas Rountev, Precise Memory Leak Detection for Java using Container Profiling, ACM/IEEE International Conference on Software Engineering (ICSE’08) to appear, Leipzig, Germany, May 2008. Acceptance rate: 15%.

[AOSD 08]Guoqing Xu and Atanas Rountev, AJANA: A General Framework for Source-Code-Level Interprocedural Dataflow Analysis of AspectJ Software, International Conference on Aspect-Oriented Software Development (AOSD’08), to appear, Brussels, Belgium, March 2008. Acceptance rate: 22%.

[CC08] Atanas Rountev, Mariana Sharp, and Guoqing Xu, IDE Dataflow Analysis in the Presence of Large Object-Oriented Libraries, International Conference on Compiler Construction (CC’08), to appear, Budapest, Hungary, March 2008. Acceptance rate: 25%.

[FSE07] Guoqing Xu, Atanas Rountev, Yan Tang, and Feng Qin, Efficient Checkpointing of Java Software Using Context Sensitive Capture and Replay, the 6th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE’07), pp. 85-94, Dubrovnik, Croatia, Sept 2007. Acceptance rate: 17%.

[ICSE07] Guoqing Xu and Atanas Rountev, Regression Test Selection for AspectJ Software,ACM/IEEE International Conference on Software Engineering (ICSE 07), pp. 65-74, Minneapolis, MN, May 2007. Acceptance rate: 15%, Nominated for a distinguished paper award.

[WTAOP06] Guoqing Xu, A regression selection technique for aspect-oriented programs, In Proc. International Workshop on Testing of Aspect-Oriented Programs (WTAOP’06), pp. 15-20, Portland, Maine, July 2006.

[ISSTA doc06] Guoqing Xu, Precisely selecting regression tests for aspect-oriented programs, IS-STA’06, Doctoral Symposium, Portland, Maine, July 2006.

[SEN04] Guoqing Xu, Zongyuan Yang and Haitao Huang. A Basic Model for Components Implementation of Software Architecture, ACM SigSoft Software Engineering Notes Vol.29, No.5. pp. 1-11, Sep. 2004.

[ISFST04] Guoqing Xu and Zongyuan Yang, A Novel Approach to Unit Testing: The Aspect-Oriented Way, In Proc. International Symposium on Future Software Technology (ISFST 04), Xi’ An, China, Oct. 2004.

[FSE poster04] Guoqing Xu, JCMP: Linking Architecture with Component Building. Poster Session, the 12th ACM SigSoft International Symposium on Foundation of Software Engineering. CA, USA, Nov. 2004.

[APSEC04] Guoqing Xu, Zongyuan Yang and Haitao Huang. JCMP: Linking Architecture with Component Building, In Proc. The 11th IEEE Asia-Pacific Software Engineering Conference (APSEC’ 04), Busan, Korea, Nov. 2004.

[APSEC04] Guoqing Xu, Zongyuan Yang, Haitao Huang, Ling Chen and Fengbin Xu. JAOUT: Automated Generation of Aspect-Oriented Unit Test. The 11th IEEE Asia-Pacific Software Engineering Conference (APSEC’ 04), Pusan, Korea, Nov. 2004.

[NASAC04] Guoqing Xu and Zongyuan Yang, Analysis and Research on Automated Generation of Unit Test. (In Chinese), In Proc. Chinese National Anual Software Application Conference (NASAC 04), China Machine Press, Beijing, China, Oct. 2004.

[FATES03] Guoqing Xu and Zongyuan Yang, JMLAutoTest: A Novel Automated Testing Framework based on JML and JUnit, 3rd International workshop on Formal Approaches to Testing of Software (FATES’ 03), pp.118-127, Montreal, Canada, Oct. 2003., Also in Lecture Notes in Computer Science Vol. 2931, Springer-Verlag, Jan. 2004.

Technical Reports [TR 07-46] Guoqing Xu and Atanas Rountev, Data-flow and Control-flow Analysis of AspectJ Software for Program Slicing, Technical Report OSU-CISRC-5/07-TR46, Department of Computer Science and Engineering, Ohio State University, May 2007.

Presentations and Posters 1.Eight conference talks.

[ICSE08] at ICSE, Leipzig, Germany, 2008

[AOSD08] at AOSD, Brussels, Belgium, 2008

[F SE07] at FSE, Dubrovnik, Croatia, 2007

[ICSE07] at ICSE, Minneapolis, MN, 2007

[ISF ST 04] at ISFST, Xi’an, China, 2004

[AP SEC04] at APSEC, Pusan, Korea, 2004

[AP SEC04] at APSEC, Puan, Korea, 2004

[NASAC04] at NASAC, Beijing, China, 2004

2. Two workshop talks.

[W T AOP 06] at WTAOP, Portland, Maine, 2006

[F AT ES03] at FATES, Montreal, Canada, 2003

3. Other conference tracks [F SEposter04] SigSoft2004, FSE-12, student research forum, poster session [ISST Adoc06] ISSTA 06, Presentation at Doctoral Symposium

Honors and Awards • 05/07 ACM SIGSOFT Distinguished Paper Nomination at ICSE’07 • 02/05 The Ohio State University Distinguished University Fellowship (DUF), The highest fel-

lowship award for international students

• 11/04, 07/06 ACM SIGSOFT Conference Attendance Program for Students (CAPS) (FSE-12, ISSTA’06)

• 01/05 Best Master Thesis of CSD in ECNU

• 1999 - 2002 The first class scholarship of ECNU, every school year (among top 2%)

• 2002 Outstanding Graduate Award of Shanghai City (among top 1% 2002, the highest honor)

• 2002 Best Undergraduate Thesis of CSD in ECNU

Review 2007 International Conference on Software Engineering 2007 International Conference on Software Maintenance 2007 International Journal on Information and Software Technology

Professional Activities Student Member ACM, SIGSOFT and SIGPLAN since 2004 Student Member IEEE and IEEE Computer Society since 2007 Student Volunteer International Conference on Software Engineering 2007