AB=ᗺA: execution equivalence as a new type of testing oracle
Files
Publication date
2015
Editors
Advisors
Supervisors
Document Type
Part of book
Metadata
Show full item recordCollections
License
Abstract
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.
Keywords
regression testing, automated oracles, Daikon, inference, logs
Citation
Elyasov, A, Prasetya, I S W B, Hage, J, Rueda, U, Vos, T E J & Condori-Fernandez, N 2015, AB=ᗺA: execution equivalence as a new type of testing oracle. in SAC '15: Proceedings of the 30th Annual ACM Symposium on Applied Computing (SAC). Association for Computing Machinery, pp. 1559-1566. https://doi.org/10.1145/2695664.2695877