PYXIDA Institutional Repository
and Digital Library
 Home
Collections :

Title :Κατανεμημένη Στατική Ανάλυση Κώδικα
Creator :Ρίζος, Αλέξανδρος
Contributor :Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής (Degree granting institution)
Type :Text
Extent :57σ.
Language :el
Abstract :Στην εργασία παρουσιάζεται ο σχεδιασμός και η υλοποίηση ενός συστήματος παραγωγής Γράφων Κλήσεων από πηγαίο κώδικα σε κατανεμημένο περιβάλλον με σκοπό τη δυνατότητα εκτέλεσης αναλύσεων σε μεγάλο όγκο αρχείων. Προσεγγίζουμε το πρόβλημα με τη δημιουργία μίας εφαρμογής με το εργαλείο Apache Spark, φιλοξενώντας τη λύση που δημιουργήσαμε σε μια συστάδα υπολογιστών. Παράλληλα, γίνεται και θεωρητική μελέτη στη στατική ανάλυση κώδικα, σε πλατφόρμες κατανεμημένης επεξεργασίας δεδομένων καθώς και στις δυνατότητες που υπάρχουν για υλοποίηση εφαρμογών στατικής ανάλυσης σε τέτοιες πλατφόρμες.Χρησιμοποιούμε ένα έργο ανοιχτού λογισμικού ως σημείο αναφοράς στα πειράματα μας. Προχωρήσαμε στην δημιουργία γράφου κλήσεων του έργου με το δικό μας πειραματικό λογισμικό, καθώς και με δύο άλλα λογισμικά ανοιχτού κώδικα που παράγουν γράφους κλήσεων. Επιπλέον πειραματιζόμαστε με τον αριθμό των μηχανημάτων που είναι διαθέσιμα στη συστάδα για να παρατηρήσουμε ότι μειώνεται κατά περίπου 40% ο απαιτούμενος χρόνος όταν εκτελούμε το πείραμα με τέσσερα μηχανήματα αντί για ένα.
In this thesis we present the design and implementation of a Call Graph Generation system that takes as input source code and is installed in a distributed environment with the ultimate goal of analyzing projects that have a large volume of files. We approach the problem by creating an Apache Spark application and hosting in a computer cluster we created. Furthermore, a theoretical study is conducted, regarding static code analysis, distributed computing platforms and whether it is possible to implement static analysis applications in such platforms.We use an open source project as a benchmark for our experimental implementation. We generate a Call Graph with the developed software, as well as with two other open source software that are used for Call Graph generation. Moreover, we experiment with the amount of machines available to the cluster and reach the conclusion that the required time drops about 40% while we provide the cluster with 4 machines instead of one.
Subject :Στατική Ανάλυση Κώδικα
Πλατφόρμες Κατανεμημένης Επεξεργασίας Δεδομένων
Κατανεμημένη Στατική Ανάλυση
Γράφοι Κλήσεων
Date :30-09-2017
Licence :

File: Rizos_2017.pdf

Type: application/pdf