data using these learned rules. We know of no testing
approach that uses this idea to find performance problems
in real-world applications.
• We give a novel algorithm that identifies methods that
lead to performance bottlenecks (or hot spots), which
are phenomena where the performance of the AUT is
limited by one or few components [11], [12].
• We have implemented FOREPOST and applied it to an
application at a major insurance company. Performance
problems were found automatically in the insurance
application and confirmed by experienced testers and
developers who work at this company. After implementing
a fix, the performance of this application was
improved by approximately seven percent.
• We also applied FOREPOST to an open-source application
benchmark, JPetStore. FOREPOST automatically
found rules that steer the executions of JPetStore towards
input data that increases the average execution
time by the order of magnitude when compared with
exploratory random testing [9], [10].