TY - RPRT
T1 - SymexTRON: Symbolic Execution of High-Level Transformation Languages
T2 - Symbolic Execution of High-Level Transformations
AU - Al-Sibahi, Ahmad Salim
AU - Dimovski, Aleksandar
AU - Wasowski, Andrzej
PY - 2016/9
Y1 - 2016/9
N2 - Transformations form an important part of developing domain specific languages, where they are used to provide semantics for typing and evaluation. Yet, few solutions exist for verifying transformations written in expressive high-level transformation languages. We take a step towards that goal, by developing a general symbolic execution technique that handles programs written in these high-level transformation languages. We use logical constraints to describe structured symbolic values, including containment, acyclicity, simple unordered collections (sets) and to handle deep type-based querying of syntax hierarchies. We evaluate this symbolic execution technique on a collection of refactoring and model transformation programs, showing that the white-box test generation tool based on symbolic execution obtains better code coverage than a black box test generator for such programs in almost all tested cases.
AB - Transformations form an important part of developing domain specific languages, where they are used to provide semantics for typing and evaluation. Yet, few solutions exist for verifying transformations written in expressive high-level transformation languages. We take a step towards that goal, by developing a general symbolic execution technique that handles programs written in these high-level transformation languages. We use logical constraints to describe structured symbolic values, including containment, acyclicity, simple unordered collections (sets) and to handle deep type-based querying of syntax hierarchies. We evaluate this symbolic execution technique on a collection of refactoring and model transformation programs, showing that the white-box test generation tool based on symbolic execution obtains better code coverage than a black box test generator for such programs in almost all tested cases.
KW - Symbolic execution
KW - Domain-specific languages
KW - Transformation verification
KW - Logical constraints
KW - White-box testing
KW - Symbolic execution
KW - Domain-specific languages
KW - Transformation verification
KW - Logical constraints
KW - White-box testing
M3 - Report
T3 - ITU Technical Report Series
BT - SymexTRON: Symbolic Execution of High-Level Transformation Languages
ER -