diplomsko delo
Abstract
Pri obratnem inženiringu aplikacij je analitiku v pomoč pregledni graf funkcijskih klicev aplikacije. Prikazali smo delovanje razvite aplikacije, ki avtomatsko generira tak graf. Za njegovo predstavitev smo uporabili atomični model odseka (ASM) s približkom grafa prehodov aplikacije (ATG). Aplikacija je bila razvita na primeru informacijskega sistema e-Študent. Sistem temelji na podatkovni bazi proizvajalca Oracle, na voljo nam je bila izvozna datoteka baze, iz katere je bilo treba pridobiti izvorne datoteke s funkcijami, dinamičnimi strukturami in procedurami v jeziku PL/SQL.
Najprej je bilo treba bazo restavrirati, nato pa iz nje izvleči izvorno kodo. Za to kodo smo nato z odprtokodnim orodjem flex definirali potrebno leksikalno zgradbo jezika PL/SQL – v tem primeru predvsem opis funkcijskih klicev. Nato smo z uporabo dobljenega leksikalnega analizatorja generirali s programskim jezikom Python tekstovno datoteko v formatu za opis grafov DOT. To datoteko smo z orodji iz paketa Graphviz pretvorili v grafe, ki nakazujejo, katere datoteke kličejo katere funkcije, kar je v pomoč pri razumevanju strukture sistema. Te grafe smo poskusili narediti bolj berljive z dodatkom funkcij Javascript in stilov CSS za obarvanje povezav ter z izračunom vhodne in izhodne stopnje vozlišč, s pomočjo katere lahko izločimo posamezna vozlišča.
Keywords
PL/SQL;Oracle SQL;atomični model odseka;graf prehodov aplikacije;model interakcij komponent;Flex;Graphviz;Python;računalništvo;visokošolski strokovni študij;računalništvo in informatika;diplomske naloge;
Data
Language: |
Slovenian |
Year of publishing: |
2015 |
Typology: |
2.11 - Undergraduate Thesis |
Organization: |
UL FRI - Faculty of Computer and Information Science |
Publisher: |
[L. Bac] |
UDC: |
004.65(043.2) |
COBISS: |
1536308419
|
Views: |
1321 |
Downloads: |
440 |
Average score: |
0 (0 votes) |
Metadata: |
|
Other data
Secondary language: |
English |
Secondary title: |
Transforming PL/SQL source code into an application transition graph |
Secondary abstract: |
A graph providing an overview of an application would serve the reverse engineering effort well. We have walked through the workings of an application that was developed to automatically generate one such graph, which was represented by an Atomic Section Model with an approximation of its Application Targeted Graph. The case-study for this application was the student information system e-Študent. This system uses an Oracle Database to host the data, while our effort only had access to a database dump from which to retrieve the PL/SQL source code in the form of functions, dynamic structures and procedures.
The first step was to restore the database itself, followed by scraping the source code into text files which were then analyzed using a lexical analyzer developed by the open source tool flex, in which we defined the required PL/SQL lexical structure, focused mainly on recognizing function calls. This output was then fed through a Python script that generated a file in the DOT format, describing the function calls of the individual input files. This was presented by rendering it into a graph with the open source graph visualization software Graphviz. These graphs were then made easier to read by injecting Javascript functions and CSS styles to enable highlighting of edges and vertices. In addition, the application calculates the in and out degree of each vertex, which can help the analyst in deciding to exclude certain vertices. |
Secondary keywords: |
PL/SQL;atomic section model;application transition graph;component interaction model;Flex;Graphviz;Python;computer science;computer and information science;diploma; |
File type: |
application/pdf |
Type (COBISS): |
Bachelor thesis/paper |
Study programme: |
1000470 |
Embargo end date (OpenAIRE): |
1970-01-01 |
Thesis comment: |
Univ. v Ljubljani, Fak. za računalništvo in informatiko |
Pages: |
37 str. |
ID: |
8751921 |