Equivalence Checking of Code Transformation by Numerical and Symbolic Approaches

0Citations
Citations of this article
1Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Due to the increasing diversity and complexity of high-performance systems, system-specific optimization is vital to extract the system performance. To ensure that optimization does not degrade code readability and maintainability, user-defined code transformation tools are used. However, such transformation tools may change the behavior of a program. This paper focuses on Xevolver, a code transformation tool where code patterns before and after transformation are used to define transformation rules, and proposes a method to check the equivalence of transformation rules based on symbolic execution. Since equivalence checking by symbolic execution has limitations such as long runtime and inability to detect numerical errors, we also propose an equivalence checking method by numerical comparison to assist the equivalence checking by symbolic execution. In the evaluation, various optimization methods described as Xevolver transformation rules are checked for equivalence using the proposed method. The evaluation results demonstrate that the proposed equivalence checking method can cover a wider range of application codes.

Cite

CITATION STYLE

APA

Sugawara, S., Takahashi, K., Shimomura, Y., Egawa, R., & Takizawa, H. (2023). Equivalence Checking of Code Transformation by Numerical and Symbolic Approaches. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 13798 LNCS, pp. 373–386). Springer Science and Business Media Deutschland GmbH. https://doi.org/10.1007/978-3-031-29927-8_29

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