TY - GEN
T1 - Extracting Traceability between Predicates in Event-B Refinement
AU - Saruwatari, Shinnosuke
AU - Ishikawa, Fuyuki
AU - Kobayashi, Tsutomu
AU - Honiden, Shinichi
N1 - Funding Information:
ACKNOWLEDGMENTS I am grateful to Naoto Sato for participating in our experiments. I am also indebted to Anton Tarasyuk, Inna Pereverzeva, Elena Troubitsyna, and Timo Latvala for the use of their satellite flight formation model. This work was partially supported by JSPS KAKENHI Grant Number 17H01727.
Publisher Copyright:
© 2017 IEEE.
PY - 2018/3/1
Y1 - 2018/3/1
N2 - Event-B requires engineers to satisfy proof obligations and inherit all predicates from abstract models while constructing concrete ones. Engineers typically derive predicates from abstract models through transformation with the intention of gradually refining the models. These kinds of intentions for refinement are essential for other engineers to understand the refinements. However, these are implicit and not directly specified in the models. Therefore, it is difficult to understand how each predicate in concrete models is obtained from the predicates in abstract models. This paper proposes an effective method of extracting these relationships. Our approach uses heuristics to avoid exhaustive matching between predicates. It tries to find a set of related predicates by tracing elements, such as variables and constants in predicates, and excluding predicates that use common variables, but differently. Our method facilitates understanding of the intentions of refinements and can be used to help reverse engineering by clarifying the relationships between predicates through refinements.
AB - Event-B requires engineers to satisfy proof obligations and inherit all predicates from abstract models while constructing concrete ones. Engineers typically derive predicates from abstract models through transformation with the intention of gradually refining the models. These kinds of intentions for refinement are essential for other engineers to understand the refinements. However, these are implicit and not directly specified in the models. Therefore, it is difficult to understand how each predicate in concrete models is obtained from the predicates in abstract models. This paper proposes an effective method of extracting these relationships. Our approach uses heuristics to avoid exhaustive matching between predicates. It tries to find a set of related predicates by tracing elements, such as variables and constants in predicates, and excluding predicates that use common variables, but differently. Our method facilitates understanding of the intentions of refinements and can be used to help reverse engineering by clarifying the relationships between predicates through refinements.
KW - Event-B
KW - Formal Method
KW - Refinement
KW - Reverse Engineering
UR - http://www.scopus.com/inward/record.url?scp=85045884638&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85045884638&partnerID=8YFLogxK
U2 - 10.1109/APSEC.2017.12
DO - 10.1109/APSEC.2017.12
M3 - Conference contribution
AN - SCOPUS:85045884638
T3 - Proceedings - Asia-Pacific Software Engineering Conference, APSEC
SP - 61
EP - 70
BT - Proceedings - 24th Asia-Pacific Software Engineering Conference, APSEC 2017
A2 - Lv, Jian
A2 - Zhang, He
A2 - Liu, Xiao
A2 - Hinchey, Mike
PB - IEEE Computer Society
T2 - 24th Asia-Pacific Software Engineering Conference, APSEC 2017
Y2 - 4 December 2017 through 8 December 2017
ER -