AB=ᗺA: execution equivalence as a new type of testing oracle

Publication date

2015

Authors

Elyasov, A.ISNI 0000000505993109
Prasetya, WishnuISNI 0000000396460003
Hage, J.ISNI 0000000356203424
Rueda, U.
Vos, T.E.J.
Condori-Fernandez, N.

Editors

Advisors

Supervisors

Document Type

Part of book
Open Access logo

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