Anteprima
Vedrai una selezione di 14 pagine su 61
Presentazione finale progetto di Ingegneria del Software Pag. 1 Presentazione finale progetto di Ingegneria del Software Pag. 2
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Presentazione finale progetto di Ingegneria del Software Pag. 6
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Presentazione finale progetto di Ingegneria del Software Pag. 11
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Presentazione finale progetto di Ingegneria del Software Pag. 16
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Presentazione finale progetto di Ingegneria del Software Pag. 21
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Presentazione finale progetto di Ingegneria del Software Pag. 26
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Presentazione finale progetto di Ingegneria del Software Pag. 31
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Presentazione finale progetto di Ingegneria del Software Pag. 36
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Presentazione finale progetto di Ingegneria del Software Pag. 41
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Presentazione finale progetto di Ingegneria del Software Pag. 46
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Presentazione finale progetto di Ingegneria del Software Pag. 51
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Presentazione finale progetto di Ingegneria del Software Pag. 56
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Presentazione finale progetto di Ingegneria del Software Pag. 61
1 su 61
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Calcolatore per determinare quante issue bisogna estrarre per ottenere risultati che riflettono la popolazione target con la precisione necessaria.

L'espressione "livello di confidenza 95%" sta ad indicare che c'è una probabilità del 95% che l'intervallo trovato includa la vera caratteristica della popolazione. https://www.surveysystem.com/sscalc.htm

Campione significativo risultante: 345 issue.

Risultato

Numero totale delle issue di (dimensione cui si dispone (popolazione) campione) frac = 345(dimensione campione)/3344(numero totale issue).

Fase 2 - Sampling: "TotallistIssue.csv" tramite la libreria Pandas. Indica la frazione di bug da considerare per ciascun repository.

Abbiamo estratto un campione di 345 issue.

Nella figura è mostrato il numero di issue estratte per colonna 5 del dataFrame "TotalIssue.csv".

ovvero ogni repository quella relativa al nome del repository e carichiamo i (sottopopolazioni - risultati del raggruppamento nel strati). dataFrame "SampledIssue.csv" Fig.1 risultato della stampa script python (3) Fase 2 - Sampling: output Output: file SampledIssue.csv - con le informazioni sulle issue: - numero - stato - titolo - label - data - repository - Dimensione: 345 righe. Output script python (3) Fase 2 - Sampling: Nome sistema Bug totali # bug dopo "StratifiedSampling" PX4 1364 141 ArduPilot 737 76 Carla 256 26 Webots 551 57 Fprime 76 8 Cartographer 24 2 Mavros 129 13 Cleanflight 122 13 Paparazzi 85 9 Script python (4) Fase 2 - Sampling: GitHub CLI - utilizzo di GitHub da riga di comando: - gh issue view: mostra il titolo, il corpo e altre informazioni della issue; - Opzioni: - numero issue; - Nota: le issue sono state salvate in formato txt per un'agevole lettura, sarebbe possibile anche l'opzione. Attraverso questo script si estrae il campione calcolato.In precedenza tramite JSON <fields> per un GitHub CLI. Viene letto il dataFrame creato in precedenza acquisendo numero e output in JSON con i campi repository salvando quindi il report attraverso "gh issue view" specificati. Script Python (4) Fase 2 - Sampling: outputOutput: directory 'SampledIssue' contenente i 345 file 'Issue_<nomeRepo><numero>.txt'● Script Python (4) Fase 2 - Sampling: outputEsempio: issue 1071 di● ArduPilot.Il file contiene:● titolo○ stato○ autore○ labels○ numero di○ commentimilestone○ numero issue○FASE 3 : Labelling Category Root Cause1. EnergyHardwareFase 3 - Labelling: Tassonomia 2. Faulty Sensor Data3. Hardware Failure4. HW Not Supported/Notcompatible5. Memory1. Connection/CommunicationNetworkObiettivo: Classificazione dei bug.● 2. Packet Corrupted/LostTassonomia: 22 root cause raggruppate● 1. ExternalInterface 2. Internalin 8 categorie. 1. Incorrect Data StructureData 2. NotPersistedPer ogni issue sono state individuate due● Configuration Category■ ■ 1. AssignmentAlgorithm ■ 2. Concurrency 3. Incorrect Condition Logic Root Cause■ 4. Memory ■ 5. Missing Condition Check Inoltre è stato indicato se il bug è● 6. Numerical ■ 7. Programming specifico per CPS o meno. DocumentationOtherCategory Root Cause 1. EnergyHardware Fase 3 - Labelling: Tassonomia 2. Faulty Sensor Data 3. Hardware Failure 4. HW Not Supported/Notcompatible 5. Memory 1. Connection/CommunicationNetworkHardware: include i bugs per i quali la● 2. Packet Corrupted/Lost causa principale è nel (HiL) 1. ExternalInterface 2. InternalHardware-in-the-Loop. Ad esempio: dati inviati dai sensori, componenti non 1. Incorrect Data Structure 2. Not Persisted supportati dall’attuale implementazione, 1. Build ConfigurationConfiguration overflow della memoria fisica sul 2. Wrong Parameters dispositivo reale. 1. AssignmentAlgorithm 2. ConcurrencyIncorrect Condition Logic Network: include i bugs per i quali la causa principale è nella comunicazione tra le componenti hardware e software, in termini di connessione e pacchetti persi o corrotti. OtherCategory Root Cause 1. EnergyHardware Fase 3 - Labelling: Tassonomia 2. Faulty Sensor Data 3. Hardware Failure 4. HW Not Supported/Not compatible 5. Memory Connection/Communication NetworkInterface: raggruppa tutti quei bugs per i quali la causa principale risiede nell'interfaccia dei dispositivi hardware, altre librerie software e/o componenti, nonché bug ereditati da componenti di terze parti integrate nel sistema. Data: identifica i bugs causati da un uso incorrecto dei dati, come una struttura dati errata, dati non persistiti, configurazione di build errata o parametri errati. AssignmentAlgorithm Data: identifica i bugs causati da un uso incorrecto degli algoritmi di assegnazione, come la concorrenza o la logica delle condizioni errata.Una struttura dati impropria, nonché 4. Memory
5. Missing Condition Check alla sua memorizzazione.
6. Numerical
7. ProgrammingDocumentationOtherCategory Root Cause
1. EnergyHardware
Fase 3 - Labelling: Tassonomia
2. Faulty Sensor Data
3. Hardware Failure
4. HW Not Supported/Notcompatible
5. Memory
1. Connection/CommunicationNetworkConfiguration: include i bugs dovuti ad
2. Packet Corrupted/Lost
1. ExternalInterface
2. InternalAlgorithm: identifica i bugs per i quali la
1. Incorrect Data Structure
2. Not Persisted
1. Build ConfigurationConfiguration
2. Wrong Parameters
1. AssignmentAlgorithm
2. Concurrency
3. Incorrect Condition Logic
4. Memory
5. Missing Condition Check
6. NumericalProgrammingDocumentationOtherCategory Root Cause
  1. EnergyHardwareFase 3 - Labelling: Tassonomia
  2. Faulty Sensor Data
  3. Hardware Failure
  4. HW Not Supported/Notcompatible
  5. Memory
  1. Connection/CommunicationNetworkDocumentation: identifica i bugs che
    • Packet Corrupted/Lost
  2. ExternalInterface
  3. Internal
    1. Incorrect Data StructureData
    2. Not Persisted
  1. Build ConfigurationConfigurationOthers: raggruppa i bugs per i quali la
    • Wrong Parameters
  2. AssignmentAlgorithm
  3. Concurrency
  4. Incorrect Condition Logic
  5. Memory
  6. Missing Condition Check
  7. Numerical
  8. ProgrammingDocumentationOtherFase 3 - Labelling: Tassonomia

Ogni bug report è stato rivisto da due validatori.

Nella cella 'Category' è stato creato un dropdown con i possibili valori.

Nella cella

‘Root Cause’ è stato utilizzato un dropdown che varia in base al valore della cella ‘Category’.

Fase 3 - Labelling: esempio scelta applicazione tassonomiaIssue #14888, repository PX4.

●● Script di installazione della toolchain di Ubuntu fallisce.

Fase 3 - Labelling: esempio scelta applicazione tassonomiaIssue #14888, repository PX4.

●Fase 3 - Labelling: esempio scelta applicazione tassonomiaBug nel file ubuntu.sh

● Il cambiamento nel codice ha portato alla selezione:

Category: Algorithm

  • Root cause: Incorrect Condition
  • Logic (ICL)

Fase 3 - Calcolo indice Cohen’s Kappa

Misura il grado di accordo tra due valutatori che valutano N soggetti rispetto alle categorie C.

p indica l’accuracy.

  • 0p indica la probabilità che i valutatori siano d'accordo per caso.

Strumento: software R. Librerie:

  • psych
  • caret

Fase 3 - Calcolo indice Cohen’s Kappa (Rob-Clè)

Creazione confusion matrix:

Cohen's Kappa (Rob-Clè) Creazione confusion matrix:
  • Clè
    • Algorithm: 48
    • Configuration: 3
    • Data: 2
    • Hardware: 4
    • Interface: 8
    • Network: 2
    • Others: 4
  • Algorithm: 1
  • Configuration: 5
  • Data: 0
  • Rob
    • Hardware: 2
    • Interface: 0
    • Network: 0
    • Others: 4
  • Interface: 0
  • Network: 0
  • Others: 0
    • Others: 1
    • Hardware: 1
    • Interface: 2
Fase 3 - Calcolo indice Cohen's Kappa (Rob-Clè) Calcolo indice Cohen's Kappa:
  • Fase 3 - Calcolo indice Cohen's Kappa (Rob-Clè)
  • Calcolo indice Cohen's Kappa:
  • →Fase 3 - Labelling confronto (Rob-Clè)
  • Confronto tra le categorie scelte dal revisore 'Rob' e dal revisore 'Clè'
Fase 3 - Calcolo indice Cohen's Kappa (Ida-Rob) Creazione confusion matrix:
  • Rob
    • Algorithm: 31
    • Configuration: 0
    • Data: 1
    • Documentation: 0
    • Hardware: 1
    • Interface: 3
    • Network: 1
    • Others: 1
  • Configuration: 1
  • Data: 22
  • Documentation: 1
  • Ida
    • Hardware: 1
    • Interface: 0
    • Network: 0
    • Others: 1
  • Interface: 1
  • Network: 0
  • Others: 0

0 0 0 0 0 0 0

Fase 3 - Calcolo indice Cohen’s Kappa (Ida-Rob)

Calcolo indice Cohen’s Kappa:

  • Fase 3 - Calcolo indice Cohen’s Kappa (Ida-Rob)
  • Calcolo indice Cohen’s Kappa:

→Fase 3 - Labelling confronto (Ida-Rob)

Confronto tra le categorie scelte dal revisore ‘Ida’ e dal revisore ‘Rob’

Fase 3 - Calcolo indice Cohen’s Kappa (Clè-Ida)

Creazione confusion matrix:

Algorithm Configuration Data Documentation Hardware Interface Others
Algorithm 47 4 1 1 4 1 0
Configuration 2 11 0 0 1 0 0
Data 0 0 2 0 0 0 0
Clè 0 1 1 2 0 0 0
Hardware 0 0 0 0 8 0 0
Dettagli
Publisher
A.A. 2022-2023
61 pagine
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher DID98 di informazioni apprese con la frequenza delle lezioni di Ingegneria del software e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi del Sannio o del prof Di Penta Massimiliano.