AAU Student Projects - visit Aalborg University's student projects portal
A master's thesis from Aalborg University
Book cover


gbnav - a gbeta Source Code Navigation Tool

Authors

;

Term

4. term

Publication year

2011

Abstract

Denne rapport undersøger separation of concerns (SOC) – en måde at organisere software på, så forskellige aspekter holdes adskilt. Vi forklarer fire centrale begreber, som ofte bruges i SOC og i diskussioner om læsbarhed og forståelighed af software: concerns (aspekter), separation (adskillelse), self containment og invasiveness. Separation beskriver forholdet mellem dele af et program og kan være syntaktisk (hvordan koden ser ud), semantisk (hvad koden betyder) eller fysisk (hvordan filer og moduler er placeret og struktureret). Self containment bruges til at vurdere, hvor let en del af et program kan forstås for sig selv. Invasiveness beskriver, hvilke konsekvenser en ændring har – for syntaks, semantik og den arbejdsindsats, ændringen kræver. Rapporten beskriver også værktøjet gbnav, et udviklings- og kildekodenavigationsværktøj målrettet programmeringssproget gbeta. Værktøjet er bygget oven på teksteditoren Emacs og grafværktøjet daVinci. Det påvirker, hvordan SOC-relaterede begreber kommer til udtryk på kildekodeniveau, og har som hovedformål at forbedre forståeligheden af gbeta-programmer.

This report examines separation of concerns (SOC)—an approach to organizing software so different aspects are kept distinct. It clarifies four key terms often used in SOC and in discussions of software readability and comprehensibility: concerns, separation, self containment, and invasiveness. Separation describes a relationship between parts of a program and can be syntactic (how code is written), semantic (what the code means), or physical (how files and modules are arranged). Self containment is used to assess how easily a software artifact can be understood on its own. Invasiveness describes the consequences of making a change—in the syntax, the semantics, and the amount of work required. The report also describes gbnav, a development and source code navigation tool for the gbeta programming language. The tool is built on top of the Emacs text editor and the daVinci graph tool. It influences how SOC-related concepts apply at the source code level, and its primary aim is to improve the comprehensibility of programs written in gbeta.

[This abstract was generated with the help of AI]