Visual facts : a cross-platform program fact visualization tool

Program facts are information about software artifacts, which can include any desired information, such as classes, functions, variables, and the relations among them. Differential facts go beyond the information about just a single version - they also include changes of Abstract Syntax Tree (AST) n...

Full description

Saved in:
Bibliographic Details
Main Author: Liu, Mingyu
Other Authors: Li Yi
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2020
Subjects:
Online Access:https://hdl.handle.net/10356/138039
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:Program facts are information about software artifacts, which can include any desired information, such as classes, functions, variables, and the relations among them. Differential facts go beyond the information about just a single version - they also include changes of Abstract Syntax Tree (AST) nodes across versions. The goal of this project is to develop a desktop application. Its core feature is to visualize intra-version program facts, as well as inter-version differential facts. This report starts by introducing the background, scope and past work in Chapter 1, followed by a detailed breakdown of project requirements and an explanation of the preparation done prior to the implementation in Chapter 2. Chapter 3 explains the implementation of the application, including the program structure, user interface design, data structures, and performance optimization. A number of annotated code snippets are also presented in that chapter to illustrate the implementation. Chapter 4 assesses the outcome of the project by running the application on a real-world project repository. The project was successfully completed after evaluating its functionalities against the requirements. Nevertheless, Chapter 5 discusses the limitations of the developed application and offers recommendations of future work that can be done for enhancement.