Room “Sala Seminari” - Abacus Building (U14)
Evolutionary improvement of assertion oracles
Speaker
Valerio Terragni
University of Auckland, New Zealand
Abstract
The challenge of distinguishing correct from incorrect test executions is called the (test) oracle problem and it is recognised as one of the fundamental challenges in software testing. It is the major obstacle to full software test automation. In this talk, Valerio will present his recent research project GAssert [ESEC/FSE 2020, ICSE 2021, GECCO 2021], the first technique to automatically improve assertion oracles. Assertion oracles are executable boolean expressions placed inside the program that should pass (return true) for all correct executions and fail (return false) for all incorrect executions. Because designing perfect assertion oracles is difficult, assertions often fail to distinguish between correct and incorrect executions. In other words, they are prone to false positives and false negatives. Given an assertion oracle and evidence of false positives and false negatives, GAssert implements a novel co-evolutionary algorithm that explores the space of possible assertions to identify one with fewer false positives and false negatives. An empirical evaluation on 34 Java methods from 7 different Java projects shows that GAssert effectively improves assertion oracles. The talk will end by discussing ongoing and future work on this area.
Short Bio:
Valerio is a Lecturer in Software Engineering at The University of Auckland, New Zealand. From 2017 to 2020, he was a Senior Research Fellow at USI in Lugano, Switzerland. In 2017, he obtained his PhD at The Hong Kong University of Science and Technology (HKUST) in Hong Kong. He received his B.Sc. and M.Sc. degrees in Computer Science from The University of Milano-BICOCCA, Italy. His research has been published in top software engineering venues, such as ICSE, ESEC/FSE, ASE, ISSTA, among others.
contact person for this Seminar: prof. Leonardo Mariani