My research focuses on software engineering and mobile cloud computing. Currently, I concentrate on the following three directions. I also worked on requirements engineering, software produce line, and self-adaptive systems before.
Program Analysis: program differencing, test case generation, Android program analysis and debugging
Software Maintenance and Evolution: code search, code completion and code generation, code clone detection and management, development knowledge extraction and recommendation, evolution analysis, visualization of software evolution data, code smell and technical debt, refactoring
Mobile Cloud Computing: mobile crowdsourcing, mobile application supported collaboration, requirements-driven mashup of heterogeneous services and resources, self-adaptive software in cloud computing