Tao Xie

Department of Computer Science
University of Illinois at Urbana-Champaign
4237 Siebel Center
201 N. Goodwin Ave.
Urbana, IL 61801, USA
Phone: 217-244-5931


DVP term Expires: December 2016

Tao Xie is an Associate Professor in the Department of Computer Science at University of Illinois at Urbana-Champaign, USA. He received his Ph.D. in Computer Science from the University of Washington in 2005. Before that, he received an M.S. in Computer Science from the University of Washington in 2002, an M.S. in Computer Science from Peking University in 2000, and a B.S. in Computer Science from Fudan University in 1997. He has worked as a visiting researcher at Microsoft Research Redmond and Microsoft Research Asia. His research interests are in software engineering, focusing on software testing, program analysis, and software analytics. He has served as the ACM SIGSOFT History Liaison in the SIGSOFT Executive Committee as well as a member of the ACM History Committee (ACM History SGB Liaison). He received an NSF CAREER Award in 2009. He received a 2011 Microsoft Research Software Engineering Innovation Foundation (SEIF) Award, 2008, 2009, and 2010 IBM Faculty Awards, and a 2008 IBM Jazz Innovation Award. He is the Program Chair of 2015 International Symposium on Software Testing and Analysis (ISSTA). His homepage is at http://www.cs.illinois.edu/homes/taoxie/.


Software Analytics: Data Analytics for Software Engineering

A huge wealth of various data exists in software life cycle, including source code, feature specifications, bug reports, test cases, execution traces/logs, and real-world user feedback, etc. Data plays an essential role in modern software development, because hidden in the data is information about the quality of software and services as well as the dynamics of software development. Software analytics is to utilize data-driven approaches to enable software practitioners to perform data exploration and analysis in order to obtain insightful and actionable information for completing various tasks around software systems, software users, and software development process. The viewpoints and example work described in this talk are primarily drawn from recent work in the Software Analytics group (http://research.microsoft.com/groups/sa/) of Microsoft Research Asia.

Transferring an Automated Test Generation Tool to Practice

Producing industry impacts has been an important, yet challenging task for the research community. Although there are a few cases on reporting "what to do" (reflecting good things to keep doing and replicate elsewhere), there are still strong needs of reporting successful technology-transfer cases and stories behind them for the research community to learn from and replicate. This talk presents the successful technology-transfer case of Pex (http://research.microsoft.com/projects/pex) and its relatives (tools derived from or associated with Pex) from Microsoft Research and lessons learned from more than eight years of research efforts by the Pex team of Microsoft Research in collaboration with academia.


Teaching and Learning Programming and Software Engineering via Interactive Gaming

Pex4Fun (http://www.pex4fun.com/) and Code Hunt (https://www.codehunt.com/), released by Microsoft Research, offer a web-based educational gaming platform for teaching and learning programming and software engineering. Such platform can be used to teach and learn programming and software engineering at many levels, from high school all the way through graduate courses. With such platform, a student edits code in any browser -- with Intellisense -- and the platform executes it and analyzes it in the cloud. The platform connects teachers, curriculum authors, and students in a unique social experience, tracking and streaming progress updates in real time. In particular, the platform finds interesting and unexpected input values (with Pex, http://research.microsoft.com/projects/pex/, an advanced test-generation tool) that help students understand what their code is actually doing. The real fun starts with coding duels where a student writes code to implement a teacher's secret specification (in the form of sample-solution code not visible to the student). The platform finds any discrepancies in behavior between the student's code and the secret specification. Such discrepancies are given as feedback to the student to guide how to fix the student's code to match the behavior of the secret specification. 


Improving Software Dependability via Cooperative Testing and Analysis

Tool automation to reduce manual effort has been an active research area in various subfields of software engineering such as software testing, analysis, and analytics for improving software dependability. To maximize the value of software testing,  analysis, and analytics, effective support for cooperation between engineers and tools is greatly needed and yet lacking in state-of-the-art research and practice. In particular, software testing, analysis, and analytics are in a great need of (1) effective ways for engineers to communicate their goals and guidance to tools and (2) tools with strong enough capabilities to accomplish the given goals and with effective ways to communicate challenges faced by them to engineers -- enabling a feedback loop between engineers and tools to refine and accomplish the goals. In addition, there is a great need of allowing different engineers or users to cooperate to assist software testing, analysis, and analytics (similar to the form of crowdsourcing), and allowing different tools to cooperate to address their respective weaknesses. A new research frontier on synergistic cooperation between human and tools, tools and tools, and human and human is yet to be explored. This talk presents our recent advances and future directions towards cooperative testing and analysis for improving software dependability.

Pathways to Technology Transfer and Adoption: Achievements and Challenges

Producing industrial impact has often been one of the important goals of academic or industrial researchers when conducting research. However, it is generally challenging to transfer research results into industrial practices. There are some common challenges faced when pursuing technology transfer and adoption while particular challenges for some particular research areas. At the same time, various opportunities also exist for technology transfer and adoption. This talk presents achievements and challenges of technology transfer and adoption in various areas in software engineering, with examples drawn from research areas such as software analytics along with software testing and analysis. This talk highlights success stories in industry, research achievements that are transferred to industrial practice, and challenges and lessons learned in technology transfer and adoption.
 
PhD-Program Preparation for Successful Post-PhD Career

It is valuable for PhD students to think ahead on what kinds of career paths the students intend to seek and what kinds of skills such career paths would require the students to have. This talk discusses important skills that a PhD researcher is typically expected to attain: Assessment, Vision, Design, Execution, and Communication (in short as AVDEC) skills. This talk also discusses lessons learned from experiences of the speaker along with other researchers, in terms of how to prepare for successful post-PhD career. The talk slides can be found at http://www.slideshare.net/taoxiease/phdprogram-preparation. More advice materials can be found at http://web.engr.illinois.edu/~taoxie/advice/.

 

Text Analytics for Mobile App Security and Beyond

 

Mobile apps are accompanied by a rich amount of natural language text: app descriptions, app user reviews, update/release notes, etc. Such natural language text is essential in conveying important information about the apps (such as expected functionalities) and such information is not easily attainable from other structured information of the apps (such as app source or binary code, execution traces). Given the overwhelming amount of available natural language text, there is a high demand of text analytics including natural language processing (NLP) and text mining techniques to automatically analyze the natural language text to improve mobile app security. The history of applying NLP and text mining techniques to analyze software artifacts can date back to about a decade ago. Only till recently, text analytics for software artifacts such as mobile app artifacts has become an emerging research area in the security community. This talk presents recent work on automated analysis of natural language text for improving mobile app security, and software security in general.