Software quality is a key aspect for software development. It is defined as fitness for purpose of software and measures how well a software is designed and conforms to that design. Software quality metrics are the best tools to measure the quality of code. The aim of this thesis is to define and implement a software quality analysis tool for Android applications. To achieve such goal, the research is structured in three key steps: (i) definition of a set of metrics useful for Android context, (ii) design and implementation of a specific tool able to measure all the defined metrics, (iii) run the tool on selected projects to provide an example of quality analysis. The research has been setup with two categories of metrics, such as Object-Oriented (OO) Software metrics already defined in literature, and Android based metrics (e.g # of activities). The tool has been developed by using Java, as programming language, and Eclipse, as Integrated Development Environment (IDE). JavaParser and CK libraries supported and accelerated the software implementation. The inputs of the tool are the path of the root directory of the Android project to be analyzed, and the path of the directory on which write the results, while the outputs are two CSV files including all the metrics calculated. The tool has been used to extract all the defined metrics for three different Android applications sourced from the F-Droid repository, which is a website providing a number of open-source applications. In conclusion, the obtained values are analyzed and commented, in particular the most critical ones.

La qualità del Software è l’aspetto fondamentale nello sviluppo di un programma. Essa viene definita come l’idoneità di scopo del software e misura quanto un software è ben sviluppato. Le metriche di qualità del Software sono gli strumenti migliori per misurare la qualità del software. L’obiettivo di questa tesi è quello di definire ed implementare uno strumento di analisi della qualità di applicazioni Android. Al fine di raggiungere questo obiettivo, la tesi si struttura in 3 step fondamentali: (i) definizione di un set di metriche utili per il contest Android, (ii) disegno ed implementazione di uno strumento specifico capace di misurare tutte le metriche definite, (iii) utilizzare il software su progetti selezionati per fornire un esempio di analisi della qualità degli stessi. La tesi si basa su due categorie di metriche quali, metriche Object-Oriented (OO) definite in letteratura, e metriche basate su Android (es. # di attività). Il software è stato sviluppato con l’utilizzo di Java, come linguaggio di programmazione, e Eclipse, come Integrated Development Environment (IDE). Le librerie di JavaParser e CK sono stati di supporto ed hanno accelerato l’implementazione del software. Gli input per il programma sono il percorso della cartella contenente il Progetto Android oggetto di analisi, e il percorso della cartella sul quale scrivere i risultati, mentre gli output sono due file in formato CSV che includono tutte le metriche calcolate. Il programma è stato utilizzato per estrarre tutte le metriche definite per tre applicazioni Android diverse tra loro scaricate da F-Droid repository, un sito web che fornisce una vasta gamma di applicazioni open-source. In conclusione, I valori ottenuti sono stati analizzati e commentati, con particolare riferimento alle maggiori criticità riscontrate nei codici delle applicazioni.

A tool for Android software quality analysis

Travaglini, Marco
2021/2022

Abstract

Software quality is a key aspect for software development. It is defined as fitness for purpose of software and measures how well a software is designed and conforms to that design. Software quality metrics are the best tools to measure the quality of code. The aim of this thesis is to define and implement a software quality analysis tool for Android applications. To achieve such goal, the research is structured in three key steps: (i) definition of a set of metrics useful for Android context, (ii) design and implementation of a specific tool able to measure all the defined metrics, (iii) run the tool on selected projects to provide an example of quality analysis. The research has been setup with two categories of metrics, such as Object-Oriented (OO) Software metrics already defined in literature, and Android based metrics (e.g # of activities). The tool has been developed by using Java, as programming language, and Eclipse, as Integrated Development Environment (IDE). JavaParser and CK libraries supported and accelerated the software implementation. The inputs of the tool are the path of the root directory of the Android project to be analyzed, and the path of the directory on which write the results, while the outputs are two CSV files including all the metrics calculated. The tool has been used to extract all the defined metrics for three different Android applications sourced from the F-Droid repository, which is a website providing a number of open-source applications. In conclusion, the obtained values are analyzed and commented, in particular the most critical ones.
ING - Scuola di Ingegneria Industriale e dell'Informazione
28-apr-2022
2021/2022
La qualità del Software è l’aspetto fondamentale nello sviluppo di un programma. Essa viene definita come l’idoneità di scopo del software e misura quanto un software è ben sviluppato. Le metriche di qualità del Software sono gli strumenti migliori per misurare la qualità del software. L’obiettivo di questa tesi è quello di definire ed implementare uno strumento di analisi della qualità di applicazioni Android. Al fine di raggiungere questo obiettivo, la tesi si struttura in 3 step fondamentali: (i) definizione di un set di metriche utili per il contest Android, (ii) disegno ed implementazione di uno strumento specifico capace di misurare tutte le metriche definite, (iii) utilizzare il software su progetti selezionati per fornire un esempio di analisi della qualità degli stessi. La tesi si basa su due categorie di metriche quali, metriche Object-Oriented (OO) definite in letteratura, e metriche basate su Android (es. # di attività). Il software è stato sviluppato con l’utilizzo di Java, come linguaggio di programmazione, e Eclipse, come Integrated Development Environment (IDE). Le librerie di JavaParser e CK sono stati di supporto ed hanno accelerato l’implementazione del software. Gli input per il programma sono il percorso della cartella contenente il Progetto Android oggetto di analisi, e il percorso della cartella sul quale scrivere i risultati, mentre gli output sono due file in formato CSV che includono tutte le metriche calcolate. Il programma è stato utilizzato per estrarre tutte le metriche definite per tre applicazioni Android diverse tra loro scaricate da F-Droid repository, un sito web che fornisce una vasta gamma di applicazioni open-source. In conclusione, I valori ottenuti sono stati analizzati e commentati, con particolare riferimento alle maggiori criticità riscontrate nei codici delle applicazioni.
File allegati
File Dimensione Formato  
2022_04_Travaglini.pdf

accessibile in internet solo dagli utenti autorizzati

Dimensione 1.53 MB
Formato Adobe PDF
1.53 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/187035