VisLint: An Automated Static Analysis Approach for Visual Programming

Block-based visual programming languages enable programmers to focus on programming thinking without excessive coding or syntax attention. We find that projects written in visual programming languages like Scratch also have bugs and code smells that cannot be avoided automatically. Existing studies analyze these problems by converting code into Abstract Syntax Trees (ASTs) before analysis. This process is time-consuming and analyzing the AST directly can be complex. In this paper, we propose a novel code image-based static analysis approach for visual programming languages, which mines code patterns in images to pre-determine whether there are problems in projects without parsing them first. We train a code image object detection network to judge whether the input projects are likely to have bugs or smells. Further analysis is performed only on potentially problematic projects. Based on the proposals of the detection network, we analyze the key areas of the AST and identify the specific code problems. Experiments show that compared with others, our method can quickly determine code problems and accurately locate them. For the code image detection task, the improved model can achieve higher mean average precision (MAP) faster in the training phase, while the model is smaller and faster in inference.

Authors

Institutions

Publication Details

Journal
Tsinghua Science & Technology
Published
2025-08-25
DOI
https://doi.org/10.26599/tst.2024.9010108
Primary Topic
Data Visualization and Analytics
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

VisLint: An Automated Static Analysis Approach for Visual Programming

Yan Sun, Xiaolin Chai
Tsinghua Science & Technology
Data Visualization and Analytics
article

VisLint: An Automated Static Analysis Approach for Visual Programming

Yan Sun, Xiaolin Chai
article en

Abstract

Block-based visual programming languages enable programmers to focus on programming thinking without excessive coding or syntax attention. We find that projects written in visual programming languages like Scratch also have bugs and code smells that cannot be avoided automatically. Existing studies analyze these problems by converting code into Abstract Syntax Trees (ASTs) before analysis. This process is time-consuming and analyzing the AST directly can be complex. In this paper, we propose a novel code image-based static analysis approach for visual programming languages, which mines code patterns in images to pre-determine whether there are problems in projects without parsing them first. We train a code image object detection network to judge whether the input projects are likely to have bugs or smells. Further analysis is performed only on potentially problematic projects. Based on the proposals of the detection network, we analyze the key areas of the AST and identify the specific code problems. Experiments show that compared with others, our method can quickly determine code problems and accurately locate them. For the code image detection task, the improved model can achieve higher mean average precision (MAP) faster in the training phase, while the model is smaller and faster in inference.

Tsinghua Science & TechnologyVol. 31(1)
Beijing University of Posts and Telecommunications (CN)
Openalex Percentile: Top 79%
Data Visualization and Analytics
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

VisLint: An Automated Static Analysis Approach for Visual Programming — Yan Sun, Xiaolin Chai · Tsinghua Science & Technology (2025) | TGRS Research Map | TGRS