This paper introduces a new type of automated testing oracle, called the execution equivalence (EE) invariants. These invariants can be mined from application logs that capture both application events and application states. The EE-invariants express an equivalence relation on the sequences of application events in terms of equality of respective initial and final states, which these sequences leave in the logs during the run-time. We claim that even equivalences up to a length of four events already provide useful testing oracle. We extended our tool LOPI (LOg-based Pattern Inferencer) with the algorithm for mining EE-invariants, and evaluated the effectiveness of these invariants on a case-study --- the web application Flex Store. The evaluation is carried out based on two parameters: the false positive rate and the fault finding capability. Moreover, we compared the strength of LOPI's execution equivalences with Daikon's data invariants. This comparison has shown that Daikon was slightly more effective than LOPI in testing Flex Store. However, we have found a suitable confidence level for LOPI which allows to outperform Daikon.
|Title of host publication||Proceedings of the 30th Annual ACM Symposium on Applied Computing|
|Subtitle of host publication||SAC '15|
|Publisher||Association for Computing Machinery|
|Number of pages||8|
|Publication status||Published - 13 Apr 2015|
- regression testing
- automated oracles