Cos'è il mining del software?
Il mining di software è un processo attraverso il quale una persona o un gruppo, di solito coinvolto nel settore della tecnologia dell'informazione (IT), esamina il codice sorgente di un programma software per determinare le informazioni al riguardo. Questo può essere fatto in diversi modi, sebbene altri software vengano spesso utilizzati per rendere il processo più semplice o più veloce. Le informazioni trovate attraverso questo metodo possono quindi essere utilizzate in vari modi e vengono regolarmente utilizzate nella creazione di modelli per lo sviluppo del software futuro. Il mining del software è simile per alcuni aspetti al data mining, sebbene il tipo di informazioni acquisite e i suoi usi possano essere abbastanza diversi.
Il processo di estrazione del software viene spesso utilizzato da aziende e sviluppatori di software per estrarre dati da un programma per l'uso nello sviluppo di nuovi software. Ciò viene in genere eseguito dagli sviluppatori di software che attraversano le varie righe di codice che compongono un programma e l'estrazione di dati da quel codice. Altri programmi vengono spesso utilizzati per facilitare il mining di software, spesso per SEarcuando per determinati termini o segmenti all'interno del codice stesso. Le informazioni trovate in questo modo possono essere utilizzate in molti modi, spesso come modello per lo sviluppo di nuovi programmi.
Il mining di software è in genere eseguito da un'azienda o un individuo su software sviluppato da tale società, è legalmente di proprietà della società o che è fornita con licenza open source. Ciò rende legale l'uso di qualsiasi dati estratto attraverso il processo di mining. Il mining di software eseguito su un programma di proprietà di un'altra persona o azienda, tuttavia, può violare le leggi sul copyright che proteggono il software come proprietà intellettuale. Questa può essere una specie di area legale nebulosa in alcuni casi, tuttavia, quindi il mining dovrebbe essere eseguito attentamente da un programmatore o da un sviluppatore.
In molti modi, il mining del software è simile a un altro processo noto come data mining. Il data mining utilizza spesso tecniche e applicazioni simili a quelle utilizzate insoftware di mining, sebbene venga fatto a database e altre grandi quantità di dati grezzi piuttosto che a un particolare programma software. I due termini sono usati in modo intercambiabile da alcuni professionisti IT, tuttavia, e quindi anche il "data mining" può essere utilizzato per quanto riguarda un programma software. Mentre il data mining cerca comunemente di ottenere dati utili e specifici da un set di dati di grandi dimensioni, il mining del software viene spesso eseguito per scoprire come sono state create le tabelle e il codice dei dati.