In software testing, symbolic execution engines such as KLEE are widely used to automatically generate test cases, aiming to maximize the number of branches executed by the test cases, i.e., branch coverage. While branch coverage is heavily affected b...
In software testing, symbolic execution engines such as KLEE are widely used to automatically generate test cases, aiming to maximize the number of branches executed by the test cases, i.e., branch coverage. While branch coverage is heavily affected by the parameters provided to the engine, the multidimensional nature of these parameters complicates understanding their impact on branch coverage. As a result, the user often relies on default configurations, which leads to suboptimal results. In this work, we present a visual analytics system, Symetra, designed to support the parameter tuning process of symbolic execution engines. To handle a large number of parameters and their configurations, we provide two complementary overviews of their impact on branch coverage values and patterns. Building on these overviews, our system enables collective analysis where the user can compare two groups of configurations to analyze the differences that may cause differences in branch coverage. Through case studies and expert interviews, we demonstrate that the experts were able to not only understand the impact of parameters on branch coverage but also identify their complementary nature to improve branch coverage more efficiently. Furthermore, we showcase a use case of Human-in-the-Loop parameter tuning, where experts iteratively used our system to improve branch coverage and reduce the number of failed runs.