Loading [a11y]/accessibility-menu.js
Explaining Regressions via Alignment Slicing and Mending | IEEE Journals & Magazine | IEEE Xplore

Explaining Regressions via Alignment Slicing and Mending


Abstract:

Regression faults, which make working code stop functioning, are often introduced when developers make changes to the software. Many regression fault localization techniq...Show More

Abstract:

Regression faults, which make working code stop functioning, are often introduced when developers make changes to the software. Many regression fault localization techniques have been proposed. However, issues like inaccuracy and lack of explanation are still obstacles for their practical application. In this work, we propose a trace-based approach to identifying not only where the root cause of a regression bug lies, but also how the defect is propagated to its manifestation as the explanation. In our approach, we keep the trace of original correct version as reference and infer the faulty steps on the trace of regression version so that we can build a causality graph of how the defect is propagated. To this end, we overcomes two technical challenges. First, we align two traces derived from two program versions by extending state-of-the-art trace alignment technique for regression fault with novel relaxation technique. Second, we construct causality graph (i.e., explanation) by adopting a technique called alignment slicing and mending to isolate the failure-inducing changes and explain the failure. Our comparative experiment with the state-of-the-art techniques including dynamic slicing, delta-debugging, and symbolic execution on 24 real-world regressions shows that (1) our approach is more accurate on isolating the failure-inducing changes, (2) the generated explanation requires acceptable manual effort to inspect, and (3) our approach requires lower runtime overhead. In addition, we also conduct an applicability experiment based on Defects4J bug repository, showing the potential limitations of our trace-based approach and providing guidance for its practical use.
Published in: IEEE Transactions on Software Engineering ( Volume: 47, Issue: 11, 01 November 2021)
Page(s): 2421 - 2437
Date of Publication: 25 October 2019

ISSN Information:

Funding Agency:

Author image of Haijun Wang
Ant Financial Services Group, China
Haijun Wang received the PhD degree in system engineering from the School of Electronic and Information, Xi’an Jiaotong University, China. He is currently a research fellow with Nanyang Technological University, Singapore. His research interests include program analysis, regression testing, fault localization, and software security.
Haijun Wang received the PhD degree in system engineering from the School of Electronic and Information, Xi’an Jiaotong University, China. He is currently a research fellow with Nanyang Technological University, Singapore. His research interests include program analysis, regression testing, fault localization, and software security.View more
Author image of Yun Lin
School of Computing, National University of Singapore, Singapore
Yun Lin received the PhD degree from Fudan University, China. He is a senior research fellow with the School of Computing, National University of Singapore. His research interests include software engineering and his work includes code recommendation, software testing, and software debugging.
Yun Lin received the PhD degree from Fudan University, China. He is a senior research fellow with the School of Computing, National University of Singapore. His research interests include software engineering and his work includes code recommendation, software testing, and software debugging.View more
Author image of Zijiang Yang
Department of Computer Science, Western Michigan University, Kalamazoo, MI, USA
Zijiang Yang received the BS degree from the University of Science and Technology of China, the MS degree from Rice University, and the PhD degree from the University of Pennsylvania. He is an associate professor in computer science with Western Michigan University. Before joining WMU, he was an associate research staff member with NEC Labs America. He was also a visiting professor with the University of Michigan from 200...Show More
Zijiang Yang received the BS degree from the University of Science and Technology of China, the MS degree from Rice University, and the PhD degree from the University of Pennsylvania. He is an associate professor in computer science with Western Michigan University. Before joining WMU, he was an associate research staff member with NEC Labs America. He was also a visiting professor with the University of Michigan from 200...View more
Author image of Jun Sun
School of Information System, Singapore Management University, Singapore
Jun Sun received the bachelor’s and PhD degrees in computing science from the National University of Singapore (NUS), in 2002 and 2006, respectively. He is currently an associate professor with the Singapore University of Technology and Design (SUTD). In 2007, he received the prestigious LEE KUAN YEW postdoctoral fellowship. He has been a faculty member of SUTD since 2010. He was a visiting scholar with MIT from 2011 to 2...Show More
Jun Sun received the bachelor’s and PhD degrees in computing science from the National University of Singapore (NUS), in 2002 and 2006, respectively. He is currently an associate professor with the Singapore University of Technology and Design (SUTD). In 2007, he received the prestigious LEE KUAN YEW postdoctoral fellowship. He has been a faculty member of SUTD since 2010. He was a visiting scholar with MIT from 2011 to 2...View more
Author image of Yang Liu
School of Computer Engineering, Nanyang Technological University, Singapore
Yang Liu received the bachelor’s (honours) degree in computing from the National University of Singapore (NUS), in 2005, and the PhD degree in School of Computing from National University of Singapore (NUS), in 2010. He started his post doctoral work with NUS, MIT and SUTD. In fall 2012, he joined Nanyang Technological University (NTU) as a Nanyang assistant professor. He is currently an associate professor and director o...Show More
Yang Liu received the bachelor’s (honours) degree in computing from the National University of Singapore (NUS), in 2005, and the PhD degree in School of Computing from National University of Singapore (NUS), in 2010. He started his post doctoral work with NUS, MIT and SUTD. In fall 2012, he joined Nanyang Technological University (NTU) as a Nanyang assistant professor. He is currently an associate professor and director o...View more
Author image of Jinsong Dong
Department of Computer Science, National University of Singapore, Singapore
Jinsong Dong received the PhD degree from the University of Queensland, Australia. He is a professor with the School of Computing, National University of Singapore. His research interests include software engineering, program analysis, formal verification, and model checking.
Jinsong Dong received the PhD degree from the University of Queensland, Australia. He is a professor with the School of Computing, National University of Singapore. His research interests include software engineering, program analysis, formal verification, and model checking.View more
Author image of Qinghua Zheng
Department of Computer Science and Technology, Xi'an Jiaotong University, Xi'an, Shaanxi, China
Qinghua Zheng is a professor in School of Computer Science, Xi'an Jiaotong University, China. He received the BS degree in computer software in 1990, the MS degree in computer organization and architecture in 1993, and the PhD degree in system engineering in 1997 from Xi'an Jiaotong University, China. He was a post-doctoral researcher at Harvard University in 2002. His research areas include computer network security, int...Show More
Qinghua Zheng is a professor in School of Computer Science, Xi'an Jiaotong University, China. He received the BS degree in computer software in 1990, the MS degree in computer organization and architecture in 1993, and the PhD degree in system engineering in 1997 from Xi'an Jiaotong University, China. He was a post-doctoral researcher at Harvard University in 2002. His research areas include computer network security, int...View more
Author image of Ting Liu
Department of Control, System Engineering Institute, Xi'an, Shaanxi, China
Ting Liu is a professor in School of Cyber Science and Engineering, Xi'an Jiaotong University, China. He received his BS and PhD degree from Xi'an Jiaotong University, in 2003 and 2010. He was a visiting professor at Cornell from 2016–2017. His research interests include software engineering and cyber-physical system.
Ting Liu is a professor in School of Cyber Science and Engineering, Xi'an Jiaotong University, China. He received his BS and PhD degree from Xi'an Jiaotong University, in 2003 and 2010. He was a visiting professor at Cornell from 2016–2017. His research interests include software engineering and cyber-physical system.View more

Author image of Haijun Wang
Ant Financial Services Group, China
Haijun Wang received the PhD degree in system engineering from the School of Electronic and Information, Xi’an Jiaotong University, China. He is currently a research fellow with Nanyang Technological University, Singapore. His research interests include program analysis, regression testing, fault localization, and software security.
Haijun Wang received the PhD degree in system engineering from the School of Electronic and Information, Xi’an Jiaotong University, China. He is currently a research fellow with Nanyang Technological University, Singapore. His research interests include program analysis, regression testing, fault localization, and software security.View more
Author image of Yun Lin
School of Computing, National University of Singapore, Singapore
Yun Lin received the PhD degree from Fudan University, China. He is a senior research fellow with the School of Computing, National University of Singapore. His research interests include software engineering and his work includes code recommendation, software testing, and software debugging.
Yun Lin received the PhD degree from Fudan University, China. He is a senior research fellow with the School of Computing, National University of Singapore. His research interests include software engineering and his work includes code recommendation, software testing, and software debugging.View more
Author image of Zijiang Yang
Department of Computer Science, Western Michigan University, Kalamazoo, MI, USA
Zijiang Yang received the BS degree from the University of Science and Technology of China, the MS degree from Rice University, and the PhD degree from the University of Pennsylvania. He is an associate professor in computer science with Western Michigan University. Before joining WMU, he was an associate research staff member with NEC Labs America. He was also a visiting professor with the University of Michigan from 2009 to 2013. His research interests include the area of software engineering with the primary focus on the testing, debugging and verification of software systems. He is a senior member of the IEEE.
Zijiang Yang received the BS degree from the University of Science and Technology of China, the MS degree from Rice University, and the PhD degree from the University of Pennsylvania. He is an associate professor in computer science with Western Michigan University. Before joining WMU, he was an associate research staff member with NEC Labs America. He was also a visiting professor with the University of Michigan from 2009 to 2013. His research interests include the area of software engineering with the primary focus on the testing, debugging and verification of software systems. He is a senior member of the IEEE.View more
Author image of Jun Sun
School of Information System, Singapore Management University, Singapore
Jun Sun received the bachelor’s and PhD degrees in computing science from the National University of Singapore (NUS), in 2002 and 2006, respectively. He is currently an associate professor with the Singapore University of Technology and Design (SUTD). In 2007, he received the prestigious LEE KUAN YEW postdoctoral fellowship. He has been a faculty member of SUTD since 2010. He was a visiting scholar with MIT from 2011 to 2012. His research interests include software engineering, formal methods, program analysis, and cyber-security. He is the co-founder of the PAT model checker.
Jun Sun received the bachelor’s and PhD degrees in computing science from the National University of Singapore (NUS), in 2002 and 2006, respectively. He is currently an associate professor with the Singapore University of Technology and Design (SUTD). In 2007, he received the prestigious LEE KUAN YEW postdoctoral fellowship. He has been a faculty member of SUTD since 2010. He was a visiting scholar with MIT from 2011 to 2012. His research interests include software engineering, formal methods, program analysis, and cyber-security. He is the co-founder of the PAT model checker.View more
Author image of Yang Liu
School of Computer Engineering, Nanyang Technological University, Singapore
Yang Liu received the bachelor’s (honours) degree in computing from the National University of Singapore (NUS), in 2005, and the PhD degree in School of Computing from National University of Singapore (NUS), in 2010. He started his post doctoral work with NUS, MIT and SUTD. In fall 2012, he joined Nanyang Technological University (NTU) as a Nanyang assistant professor. He is currently an associate professor and director of the Cybersecurity Lab, NTU. He specializes in software verification, security, and software engineering. His research has bridged the gap between the theory and practical usage of formal methods and program analysis to evaluate the design and implementation of software for high assurance and security. By now, he has more than 250 publications in top tier conferences and journals. He has received a number of prestigious awards including MSRA fellowship, TRF fellowship, Nanyang assistant professor, Tan Chin Tuan fellowship, and eight best paper awards in top conferences like ASE, FSE and ICSE.
Yang Liu received the bachelor’s (honours) degree in computing from the National University of Singapore (NUS), in 2005, and the PhD degree in School of Computing from National University of Singapore (NUS), in 2010. He started his post doctoral work with NUS, MIT and SUTD. In fall 2012, he joined Nanyang Technological University (NTU) as a Nanyang assistant professor. He is currently an associate professor and director of the Cybersecurity Lab, NTU. He specializes in software verification, security, and software engineering. His research has bridged the gap between the theory and practical usage of formal methods and program analysis to evaluate the design and implementation of software for high assurance and security. By now, he has more than 250 publications in top tier conferences and journals. He has received a number of prestigious awards including MSRA fellowship, TRF fellowship, Nanyang assistant professor, Tan Chin Tuan fellowship, and eight best paper awards in top conferences like ASE, FSE and ICSE.View more
Author image of Jinsong Dong
Department of Computer Science, National University of Singapore, Singapore
Jinsong Dong received the PhD degree from the University of Queensland, Australia. He is a professor with the School of Computing, National University of Singapore. His research interests include software engineering, program analysis, formal verification, and model checking.
Jinsong Dong received the PhD degree from the University of Queensland, Australia. He is a professor with the School of Computing, National University of Singapore. His research interests include software engineering, program analysis, formal verification, and model checking.View more
Author image of Qinghua Zheng
Department of Computer Science and Technology, Xi'an Jiaotong University, Xi'an, Shaanxi, China
Qinghua Zheng is a professor in School of Computer Science, Xi'an Jiaotong University, China. He received the BS degree in computer software in 1990, the MS degree in computer organization and architecture in 1993, and the PhD degree in system engineering in 1997 from Xi'an Jiaotong University, China. He was a post-doctoral researcher at Harvard University in 2002. His research areas include computer network security, intelligent e-learning theory and algorithm, multimedia e-learning, and trustworthy software.
Qinghua Zheng is a professor in School of Computer Science, Xi'an Jiaotong University, China. He received the BS degree in computer software in 1990, the MS degree in computer organization and architecture in 1993, and the PhD degree in system engineering in 1997 from Xi'an Jiaotong University, China. He was a post-doctoral researcher at Harvard University in 2002. His research areas include computer network security, intelligent e-learning theory and algorithm, multimedia e-learning, and trustworthy software.View more
Author image of Ting Liu
Department of Control, System Engineering Institute, Xi'an, Shaanxi, China
Ting Liu is a professor in School of Cyber Science and Engineering, Xi'an Jiaotong University, China. He received his BS and PhD degree from Xi'an Jiaotong University, in 2003 and 2010. He was a visiting professor at Cornell from 2016–2017. His research interests include software engineering and cyber-physical system.
Ting Liu is a professor in School of Cyber Science and Engineering, Xi'an Jiaotong University, China. He received his BS and PhD degree from Xi'an Jiaotong University, in 2003 and 2010. He was a visiting professor at Cornell from 2016–2017. His research interests include software engineering and cyber-physical system.View more

Contact IEEE to Subscribe

References

References is not available for this document.