Duplicated Code Pattern Mining in Visual Programming Languages

07/15/2021
by   Miguel Terra-Neves, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/27/2019

FSE/CACM Rebuttal^2: Correcting A Large-Scale Study of Programming Languages and Code Quality in GitHub

Ray, Devanbu and Filkov issued a rebuttal of our TOPLAS paper "On the Im...
research
08/09/2018

Fast Flexible Function Dispatch in Julia

Technical computing is a challenging application area for programming la...
research
05/13/2017

Learning Semantic Correspondences in Technical Documentation

We consider the problem of translating high-level textual descriptions t...
research
09/06/2022

Automatic Code Documentation Generation Using GPT-3

Source code documentation is an important artifact for efficient softwar...
research
05/04/2022

Low-Code Programming Models

Traditionally, computer programming has been the prerogative of professi...
research
10/23/2020

Adding Interactive Visual Syntax to Textual Code

Many programming problems call for turning geometrical thoughts into cod...
research
04/03/2022

MSCCD: Grammar Pluggable Clone Detection Based on ANTLR Parser Generation

For various reasons, programming languages continue to multiply and evol...

Please sign up or login with your details

Forgot password? Click here to reset