This artifact serves as an accompaniment to our ECOOP 2016 paper (#77) titled “Program Tailoring: Slicing by Sequential Criteria”, in which a new program slicing approach, called Tailor, is introduced.
In the paper, we have conducted a thorough evaluation with three sets of experiments, including two large cases studies for two different application scenarios in order to evaluate Tailor’s usefulness (RQ1 and RQ2) and one stress test in order to measure Tailor’s scalability (RQ3). In RQ1, we show how Tailor can improve further the precision of thin slicer. In RQ2, we show how Tailor can be used to make program analysis scale better with improved precision. In RQ3, we give a stress test to investigate how well Tailor scales.
This artifact is provided to enable our results for RQs 1 - 3 to be reproduced. In addition, we have provided an extensive set of extra results, which are not included in the paper, in order to help the reviewers to understand and assess the quality of this work.
Please note that this artifact is large and complex. It involves two clients (Clara and Solar), two slicing tools (Thin slicer and Tailor), different static analysis frameworks (Doop, WALA and Soot), with complicated interactions among these clients and tools. In addition, sophisticated and memory-consuming whole-program pointer analyses will be performed on a set of seven large real-world Java applications under a large library. Therefore, a machine with a large memory size (with ours being 64GB) is required to reproduce all the results reported in our paper.