  Visual Programming Languages (VPLs), coupled with the high-level abstractions
that are commonplace in visual programming environments, enable users with less
technical knowledge to become proficient programmers. However, the lower skill
floor required by VPLs also entails that programmers are more likely to not
adhere to best practices of software development, producing systems with high
technical debt, and thus poor maintainability. Duplicated code is one important
example of such technical debt. In fact, we observed that the amount of
duplication in the OutSystems VPL code bases can reach as high as $39\%$.
  Duplicated code detection in text-based programming languages is still an
active area of research with important implications regarding software
maintainability and evolution. However, to the best of our knowledge, the
literature on duplicated code detection for VPLs is very limited. We propose a
novel and scalable duplicated code pattern mining algorithm that leverages the
visual structure of VPLs in order to not only detect duplicated code, but also
highlight duplicated code patterns that explain the reported duplication. The
performance of the proposed approach is evaluated on a wide range of real-world
mobile and web applications developed using OutSystems.
