SEJul 15, 2021

Duplicated Code Pattern Mining in Visual Programming Languages

arXiv:2107.07212v14 citations
Originality Incremental advance
AI Analysis

This addresses maintainability issues for users of VPLs like OutSystems, but it is incremental as it adapts existing text-based detection concepts to a visual context.

The paper tackles the problem of duplicated code in Visual Programming Languages (VPLs), where duplication can reach up to 39%, by proposing a novel algorithm that detects duplicated code and highlights patterns to explain it, evaluated on real-world OutSystems applications.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes