Automatic Synthesis of Test Cases to Identify Software Redundancy
  Software system can include redundant implementation elements, such as, different methods that can produce indistinguishable results. This type of redundancy is called intrinsic if it is already available in the software, although not intentionally planned. Redundancy can be a key element to increase the reliability of a system. Some fault tolerance and self-healing techniques exploit the redundancy to avoid failures at runtime. Unfortunately, inferring which operations are equivalent manually can be expensive and error prone.   A technique proposed in previous work allows to automatically synthesizes method sequences that are equivalent to a target method. However this technique needs an execution scenario to work. Currently, this execution scenario is generated manually that is expensive and makes the technique hard to use.   This paper proposes a technique to generate execution scenarios for a target method for which we are searching equivalent sequences. The experimental results obtained on the Java class Stack show that the proposed approach correctly generates execution scenarios within reasonable execution time. Besides, the execution scenarios generated allow to maximize the effectiveness of the technique described above. 
Matteo Brunetto
cs.SE