Write a Blog >>
ISSTA 2020
Sat 18 - Wed 22 July 2020
Wed 22 Jul 2020 12:50 - 13:10 at Zoom - STATIC ANALYSIS AND SEARCH-BASED TESTING Chair(s): Daniel Kroening

In Search-based Software Testing (SBST), test generation is guided by fitness functions that estimate how close a test case is to reach an uncovered test goal (e.g., branch). A popular fitness function estimates how close conditional statements are to evaluating to true or false, i.e., the branch distance. However, when conditions read Boolean variables (e.g., if(x && y)), the branch distance provides no gradient for the search, since a Boolean can either be true or false. This flag problem can be addressed by transforming individual procedures such that Boolean flags are replaced with numeric comparisons that provide better guidance for the search. Unfortunately, defining a semantics-preserving transformation that is applicable in an interprocedural case, where Boolean flags are passed around as parameters and return values, is a daunting task. Thus, it is not yet supported by modern test generators. This paper is based on the insight that fitness gradients can be recovered by using runtime information: Given an uncovered interprocedural flag branch, our approach (1) calculates context-sensitive branch distance for all control flows potentially returning the required flag in the called method, and (2) recursively aggregates these distances into a continuous value. We implemented our approach on top of the EvoSuite framework for Java, and empirically compared it with state-of-the-art testability transformations on 807 non-trivial methods suffering from interprocedural flag problems, selected from 150 open source Java projects. Our experiment demonstrates that our approach achieves higher coverage on the subject methods with statistical significance and acceptable runtime overheads.

Conference Day
Wed 22 Jul

Displayed time zone: Tijuana, Baja California change

12:10 - 13:10
Chair(s): Daniel KroeningUniversity of Oxford

Public Live Stream/Recording. Registered participants should join via the Zoom link distributed in Slack.

How Effective Are Smart Contract Analysis Tools? Evaluating Smart Contract Static Analysis Tools using Bug InjectionArtifacts AvailableArtifacts Evaluated – Functional
Technical Papers
Asem Ghaleb, Karthik PattabiramanUniversity of British Columbia
DOI Media Attached
A Programming Model for Semi-implicit Parallelization of Static Analyses
Technical Papers
Dominik HelmTU Darmstadt, Germany, Florian KüblerTU Darmstadt, Germany, Jan Thomas Kölzer, Philipp HallerKTH Royal Institute of Technology, Michael EichbergTU Darmstadt, Germany, Guido SalvaneschiTechnische Universität Darmstadt, Mira MeziniTechnische Universität Darmstadt
Recovering Fitness Gradients for Interprocedural Boolean Flags in Search-Based Testing
Technical Papers
Yun LinNational University of Singapore, Jun SunSingapore Management University, Gordon FraserUniversity of Passau, Ziheng Xiu, Ting LiuXi'an Jiaotong University, Jin Song DongNational University of Singapore
DOI Pre-print Media Attached