Abstract: During software development, it is considered good coding practice to conduct regression testing, which determines whether new errors have been introduced into the code with previously working functionality while fixing the existing errors. Some projects even set up automated development systems to re-run all regression tests at specified time intervals and report failures as soon as they appear. However, discovering the errors introduced by a software update is only the first step. The more challenging task is to identify the responsible code changes and explain why they lead to the failures.

In this talk, we propose an automated approach to explain failed regression tests. Given an error-inducing test input, a buggy program, and an earlier correct version, we conduct a symbolic analysis of the relevant execution paths starting from the manifested failure while considering the effect of code changes. The final report includes the root cause as well as the context of the fault propagation, to help improve the programmer’s productivity.

Speaker: Dr. Zijiang James Yang is an associate professor in the Department of Computer Science at Western Michigan University. He holds a Ph.D. degree from the University of Pennsylvania, a M.S. degree from Rice University and a B.S. degree from the University of Science and Technology of China, all in computer science. The primary focus of his research is to develop formal methods and tools that support the modeling, analysis and verification of complex computer systems. Dr. Yang published over fifty conference and journal papers. He received ACM TODAES best paper award in 2008, WMU CEAS Young Researcher Award in 2008, and PADTAD best paper award in 2010.

Loading more stuff…

Hmm…it looks like things are taking a while to load. Try again?

Loading videos…