Generalization-Driven Semantic Clone Detection in CLP

Research output: Contribution to journalArticlepeer-review

11 Downloads (Pure)


In this work we provide an algorithm capable of searching for semantic clones in CLP program code. Two code fragments are considered semantically cloned (at least to some extent) when they can both be transformed into a single code fragment thus representing the functionality that is shared between the fragments. While the framework of what constitutes such semantic clones has been established before, it is parametrized by a set of admissible program transformations and no algorithm exists that effectively performs the search with a concrete set of allowed transformations. In this work we use the well-known unfolding and slicing transformations to establish such an algorithm, and we show how the generalization of CLP goals can be a driving factor both for controlling the search process (i.e. keeping it finite) as for guiding the search (i.e. choosing what transformation(s) to apply at what moment).
Original languageEnglish
Pages (from-to)228-242
Number of pages15
JournalLecture Notes in Computer Science
Publication statusPublished - 21 Apr 2020

Fingerprint Dive into the research topics of 'Generalization-Driven Semantic Clone Detection in CLP'. Together they form a unique fingerprint.

Cite this