diplomsko delo
Luka Bac (Avtor), Boštjan Slivnik (Mentor)

Povzetek

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.

Ključne besede

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;

Podatki

Jezik: Slovenski jezik
Leto izida:
Tipologija: 2.11 - Diplomsko delo
Organizacija: UL FRI - Fakulteta za računalništvo in informatiko
Založnik: [L. Bac]
UDK: 004.65(043.2)
COBISS: 1536308419 Povezava se bo odprla v novem oknu
Št. ogledov: 1321
Št. prenosov: 440
Ocena: 0 (0 glasov)
Metapodatki: JSON JSON-RDF JSON-LD TURTLE N-TRIPLES XML RDFA MICRODATA DC-XML DC-RDF RDF

Ostali podatki

Sekundarni jezik: Angleški jezik
Sekundarni naslov: Transforming PL/SQL source code into an application transition graph
Sekundarni povzetek: 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.
Sekundarne ključne besede: PL/SQL;atomic section model;application transition graph;component interaction model;Flex;Graphviz;Python;computer science;computer and information science;diploma;
Vrsta datoteke: application/pdf
Vrsta dela (COBISS): Diplomsko delo/naloga
Študijski program: 1000470
Konec prepovedi (OpenAIRE): 1970-01-01
Komentar na gradivo: Univ. v Ljubljani, Fak. za računalništvo in informatiko
Strani: 37 str.
ID: 8751921