Home // SnT // News & E... // Research Seminar: Automatic test generation for Programs with Complex Structured Inputs

Research Seminar: Automatic test generation for Programs with Complex Structured Inputs

twitter linkedin facebook google+ email this page
Add to calendar
Speaker: Dr. Giovanni Denaro, University of Milano Bicocca
Event date: Thursday, 20 July 2017, 14:00 - 15:00
Place: Room E004, JFK Building
29 Avenue J.F. Kennedy
L-1855

Despite the recent improvements in automatic test case generation, test case generators do not yet handle well programs with complex structured inputs. Random generators struggle to instantiate structured inputs due to the vastness of the solution space. Search-based generators address the problem by steering random selection to coverage target, but fall short of generating inputs that cover program elements whose reachability depends on non trivial input structures. Symbolic executors effectively capture complex dependencies on structured inputs, but fail in generating legal sequences of method calls.

In this talk, I present a new approach to automatically generating test cases for programs with complex data structures as inputs. We use symbolic execution to generate path conditions that characterise the dependencies between the program paths and the input structures, and convert the path conditions to optimisation problems that we solve with a search-based approach to produce sequences of method calls that instantiate those inputs. Our preliminary results show that the approach is indeed effective in generating test cases for programs with complex data structures as inputs, thus opening a promising research direction.

Dr. Giovanni Denaro is Associate Professor at the University of Milano Bicocca. He completed his PhD in Computer Science at Politecnico di Milano in 2002, and over time he also worked at Politecnico di Milano, CEFRIEL-Milano and University College London. His main research interests are in the scope of software engineering with specific focus on software testing and analysis, formal methods, and software security. He has been co-investigator in the FP7 PINCETTE project, the FP7 ENIAC-JU TOISE project, the FP6 SHADOWS project, and several other national and international projects. He served in the Program Committee of major software engineering and testing conferences, such as, ICSE, ASE, and ISSTA.