Yi Wei
Address
Yi WeiSoftware Engineering, Meyer
Clausiusstrasse 59
RZ J5
8092 Zurich
Introduction
I am a research assistant at the Chair of Software Engineering at ETH Zurich under the supervision of Prof.Dr. Bertrand Meyer.
Research
My research interests are automated software testing and fixing. I'm working on techniques to support push-button solutions for testing and debugging Object-Oriented systems:
- In the AutoTest project, we use random-based method to testcontract-equipped programs. AutoTest found hundreds of faults in production software.
- In the AutoFix project, we use dynamic analysis to propose corrections for software faults. AutoFix generated fixes of high quality, sometimes, the generated fixes are the same as those from professional programmers.
- In the AutoInfer project, we leverage existing, but usually very simple contracts in programs to infer more expressive contracts. AutoInfer reported complete postconditions for many routines in basic data structure classes such as array, list, queue, set and hash table.
The following chart explains the relationship among these tools:
Publications
2012
- Is Coverage a Good Measure of Testing Effectiveness?
Yi Wei, Manuel Oriol and Bertrand Meyer
LASER summer school proceeding 2012, [ ]
2011
- Evotec:
Evolving the Best Testing Strategy for Contract-Equipped Programs
Lucas Silva, Yi Wei, Manual Oriol and Bertrand Meyer
Asia-Pacific Software Engineering Conference (APSEC'2011), [ ]
- Stateful
Testing: Finding More Faults in Code and Contracts
Yi Wei, Hannes Roth, Carlo A. Furia, Yu Pei, Alexand Horton, Michael Steindorfer, Martin Nordio and Bertrand Meyer
Automated Software Engineering(ASE'2011), [ ]
- Code-Based
Automated Program Fixing
Yu Pei, Yi Wei, Carlo A. Furia, Martin Nordio and Bertrand Meyer
Automated Software Engineering(ASE'2011, [ ]
- Inferring Better Contracts
Yi Wei, Carlo A. Furia, Nikolay Kazmin and Bertrand Meyer
International Conference on Software Engineering 2011 (ICSE'11), [ ]
2010
- Automated Fixing of
Programs with Contracts
Yi Wei, Yu Pei, Carlo A. Furia, Lucas S. Silva, Stefan Buchholz, Bertrand Meyer and AndreasZeller
International Symposium on Software Testing and Analysis 2010 (ISSTA'10), [ ] - Satisfying Test Preconditions through
Guided Object Selection
Yi Wei, Serge Gebhardt, Manual Oriol and Bertrand Meyer
Third International Conference on Software Testing, Verification and Validation ( ICST'10), [ ] - Is Coverage a Good Measure of Testing Effectiveness?
Yi Wei, Manuel Oriol and Bertrand Meyer
Technical Report 674, ETH Zürich, 2010, [ ]
2009
- Program that Test Themselves
Bertrand Meyer and Arno Fiva and Ilinca Ciupa and Andreas Leitner and Yi Wei and Emmanuel Stapf
IEEE Software, [ ]
Student projects
I am happy to provide master/semester/EiffelStudio open-source lab projects on automatic testing, fixing and contract inference. Check here for detailed descriptions. If you are interested in some topics or you have your own ideas, please drop me an email.Finished/Ongoing student projects
- Computation of alias set and change set of
Eiffel language programs, master project
Zhoulai FU, École Polytechnique, 4.2008 ~ 9.2008
- Metrics Calculation for Object-oriented
language, Computer Lab project,
Tobias Heinzen, ETH Zürich, 10.2008 ~ 12.2008
- Relation between quality of an OO System and
multiple Inheritance - An Exploration, master thesis
David Stokar, ETH Zürich, 10.2008 ~ 3.2009
- Precondition satisfaction with guided object
selection, master thesis
Serge Gebhardt, ETH Zürich, 3.2009 ~ 9.2009, publication in ICST'10
. - Evolutionary Testing Classes with Contracts,
master thesis
Lucas S. Silva, ETH Zürich, 9.2009 ~ 3.2010, publication in APSEC'11
- Eiffel mutation tool for code transformation,
master thesis
Stefan Buchholz, ETH Zürich, 12.2009 ~ 5.2010, publication in ISSTA'10
- Whitebox testing through object behavioral
model, master thesis
Nikolay Kazmin, ETH Zürich, 3.2010 ~ 8.2010, pulication in ICSE'11
- Capture and replay framework for Eiffel, master
thesis
Arno Fiva, ETH Zürich, 4.2010 ~ 9.2010
- Caculate expression relationship for contract
inference, EiffelStudio Open-source lab project
Marc Egg, ETH Zürich, 8.2010 ~ 5.2011
- Extracting code usage patterns from existing
software, master thesis
Micheal Steindorfer, Alps-Adriatic University of Klagenfurt, Austria, 9.2010 ~ Present
Publications in ASE'11
- Use semantic search to support testing in
Parallel, semester thesis
Hannes Roth, ETH Zürich, 9.2010 ~ 5.2011, publication in ASE'11
- Agent object generation for AutoTest, semester
thesis
Gabriel Zacharias Walch, ETH Zürich, 9.2010 ~ 1.2011
- Ranking in Semantic Search System,
EiffelStudio open lab project
Alexander Horton, ETH Zürich, 10.2010 ~ 5.2011, publication in ASE'11
- Statement-aligned annotations through dynamic analysis for
program synthesis, Bachelor thesis
Marc Egg, ETH Zürich, 8.2011 ~ present
- Probability Model for Extracted Code Snippets, Bachelor thesis
Jonas Oeschger, ETH Zürich, 6.2011 ~ present
Teaching
- Summer semester 2007: assisting course Software Architecture (Prof. Dr. Bertrand Meyer)
- Winter semester 2007: assisting course Trusted Components: Reuse, Contracts and Patterns
- Summer semester 2008: assisting course Software Architecture (Prof. Dr. Bertrand Meyer)
- Winter semester 2008: assisting course Introduction to Programming (Prof. Dr. Bertrand Meyer)
- Summer semester 2009: assisting course Software Architecture (Prof. Dr. Bertrand Meyer)
- Winter semester 2009: assisting course Introduction to Programming (Prof. Dr. Bertrand Meyer)
- Summer semester 2010: assisting course Software Architecture (Prof. Dr. Bertrand Meyer)
- Summer semester 2011: assisting course Software Architecture (Prof. Dr. Bertrand Meyer)
- Winter semester 2011: assisting course Eiffel: Analysis, Design
and Programming (Prof. Dr. Bertrand Meyer)
Events
- From Aug. to Nov. 2011, I went to Microsoft
Research Cambridge for an internship in the Constraint
Reasoning Group to work with Lucas
Bordeaux and Sumit
Gulwani
on program synthesis. In this project, we tried to synthesize code from
user given specifications written in natural language by first applying
machine learning on top of the Bing search engine and then performing
program generalization to adapt the solution to user’s programming
context.
The project is accepted to present in Microsoft TechFest 2012, a highly
selective event to demonstrate yearly technology advances. This project
is further selected to present in Microsoft Summit 2012.
- I attended the Self-repairing Programs seminar in Feb.2011 in Dagstuhl, Germany. Dagstuhl is a fantastic place for computer scientists. I gave a talk on automated program fixing there.
- In December 2010, I was invited to Institute of Software, Peking University, China and Institute of Software, Chinese Academy of Sciences to talk about work on automated program fixing.
- I gave a talk with Serge Gebhardt on Precondition Satisfaction by Guided Object Selecton at Google Conference on Automatic Testing 2009. Video here.
- I attended LASER 2008,
2009, 2010, 2011 summary school in Elba,
Italy. LASER summer shool invites topic people to give lectures in
various topics covering verification, testing, currency, empirical
studies and programming languages. It is also famous for great
italian food and marvelous beach.
Personal
- I was team learder of 6-10 undergradute students in Haitian Studio. We developed a ASP.NET based website for college student job hunting from 2002 to 2004. The system is still in use.
- I graduated in December 2006 from Wuhan University, China, with a master degree of engineering. My master thesis advisor was Prof. renzuo XU in Wuhan University. I received my bachelor deploma on Automation from Northeastern University, China in 2004.
- From 2005 to 2006, I did an internship in Eiffel Software, California, USA. I developed a new version of Metrics tool for EiffelStudio there.
- I'm the author of the stock analysis website www.sogule.com (in Chinese), which
collects data from the web daily and apply machine learning techinques
to do the analysis. I use Java, MySQL, PHP and Javascript to build this
website. I explored many Web2.0 techniques inside the website.
Robots
Building robots is a lot of fun. I use Lego Mindstorms robot kit, TETRIX robot kit and some third-party sensors to build robots and use RobotC to control those robots. Here is a list of robots that I built:- Sweeper, the humble floor cleaner, built with Lego NXT Mindstorms. Nov, 2011
- Crawler, a six-leg crawler built with Arduino board. Feb. 2012
- Arduino with Sabertooth, how to use Arduino to control Sabertooth DC motor board. April, 2012
- Setup LCD12864R screen with Arduino. April, 2012
Last update: April 29, 2012