Signature Inference for Functional Property Discovery

Property discovery is the process of discovering properties of code via
automated testing. It has the potential to be a great tool for a practical
approach to software correctness. Unfortunately current methods remain
infeasible because of the immense search space. We contribute a new
approach to taming the complexity of a state-of-the-art generate and test
algorithm. Our approach runs this algorithm several times with carefully
chosen inputs of smaller size: signature inference. We implement this
approach in a new tool called EasySpec. The results suggest that this
approach is several orders of magnitude faster, fast enough to be practical,
and produces similar results.