Abstract: Using reverse engineering to extract semantic representations from software systems is beneficial for the understanding of these systems, and can facilitate their maintenance and evolution.