Assessing Robustness of ML-Based Program Analysis Tools using Metamorphic Program Transformations

30Citations
Citations of this article
21Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

Metamorphic testing is a well-established testing technique that has been successfully applied in various domains, including testing deep learning models to assess their robustness against data noise or malicious input. Currently, metamorphic testing approaches for machine learning (ML) models focused on image processing and object recognition tasks. Hence, these approaches cannot be applied to ML targeting program analysis tasks. In this paper, we extend metamorphic testing approaches for ML models targeting software programs. We present LAMPION, a novel testing framework that applies (semantics preserving) metamorphic transformations on the test datasets. LAMPION produces new code snippets equivalent to the original test set but different in their identifiers or syntactic structure. We evaluate LAMPION against CodeBERT, a state-of-the-art ML model for Code-To-Text tasks that creates Javadoc summaries for given Java methods. Our results show that simple transformations significantly impact the target model behavior, providing additional information on the models reasoning apart from the classic performance metric.

Cite

CITATION STYLE

APA

Applis, L., Panichella, A., & Van Deursen, A. (2021). Assessing Robustness of ML-Based Program Analysis Tools using Metamorphic Program Transformations. In Proceedings - 2021 36th IEEE/ACM International Conference on Automated Software Engineering, ASE 2021 (pp. 1377–1381). Institute of Electrical and Electronics Engineers Inc. https://doi.org/10.1109/ASE51524.2021.9678706

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free