Abstract
Static source code analyser tools are operating on an intermediate representation of the source code that is usually a tree or a graph. Those representations need to be updated according to the different versions of the source code. However, the developers might be interested in the changes or might need information about previous versions, therefore, keeping different versions of the source code analysed by the tools are required. RefactorErl is an open-source static analysis and transformation tool for Erlang that uses a graph representation to store and manipulate the source code. The aim of our research was to create an extension of the Semantic Program Graph of RefactorErl that is able to store different versions of the source code in a single graph. The new method resulted in 30% memory footprint decrease compared to the available workaround solutions.
Subject
Computer Vision and Pattern Recognition,Software,Computer Science (miscellaneous),Electrical and Electronic Engineering,Information Systems and Management,Management Science and Operations Research,Theoretical Computer Science
Reference19 articles.
1. Erlang
2. Precise Version Control of Trees with Line-Based Version Control Systems
3. Bellairs, Richard. What is static analysis (static code analysis). Perforce Software, 2020.
4. RefactorErl - source code analysis and refactoring in Erlang;Bozó,2011
5. Chesneau, Benoit. hackney - HTTP client library in Erlang. URL: https://github.com/benoitc/hackney