*********************************
There is now a CONTENT FREEZE for Mercury while we switch to a new platform. It began on Friday, March 10 at 6pm and will end on Wednesday, March 15 at noon. No new content can be created during this time, but all material in the system as of the beginning of the freeze will be migrated to the new platform, including users and groups. Functionally the new site is identical to the old one. webteam@gatech.edu
*********************************
Abstract:
Developers often build regression test suites that are
automatically run for each code revision to check that code changes
did not break any functionality. While regression testing is
important, it is also expensive due to both the number of revisions
and the number of tests. For example, Google recently reported that
they observed a quadratic increase in daily test-suite run time (a
linear increase in the number of revisions per day and a linear
increase in the number of tests per revision).
In this talk, I present a technique, called Ekstazi, to substantially
reduce test-suite run time. Ekstazi introduces a novel approach to
regression test selection, which runs only a subset of tests whose
dependencies may be affected by the latest changes; Ekstazi keeps file
dependencies for each test. Ekstazi also speeds up test-suite runs
for software that uses modern distributed version-control systems; by
modeling different branch and merge commands directly, Ekstazi
computes test sets that can be significantly smaller than the entire
test suite. I developed Ekstazi for JVM languages and evaluated it on
several hundred revisions of 32 open-source projects (totaling 5M
lines of code). Ekstazi can reduce test-suite run time an order of
magnitude, including runs for merge revisions. Finally, only a few
months after the initial release, Ekstazi was adopted and used daily
by many developers from several open-source projects, including Apache
Camel, Commons Math, and CXF.
Bio:
Milos Gligoric is a PhD candidate in Computer Science at the University of Illinois at Urbana-Champaign (UIUC). His research interests are in software engineering and formal methods, especially in designing techniques and tools that improve software quality and developers' productivity. His PhD work has explored test input generation, test quality assessment, testing concurrent code, and regression testing. He won an ACM SIGSOFT Distinguished Paper Award (ICSE 2010), and three of his papers were invited for a journal submission. He was awarded the Saburo Muroga Fellowship (2009), the C.L. and Jane W-S. Liu Award (2012), and the C. W. Gear Outstanding Graduate Award (2014) from the UIUC Department of Computer Science, and the Mavis Future Faculty Fellowship (2014) from the UIUC College of Engineering. He did internships at NASA Ames, Intel, Max Planck Institute for Software Systems, and Microsoft Research. Milos holds a BS (2007) and MS (2009) from the University of Belgrade, Serbia.