Che cos'è l'estrazione del software?
Il mining di software è un processo mediante il quale una persona o un gruppo, solitamente coinvolto nel settore IT (Information Technology), 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 utilizzate abitualmente nella creazione di modelli per lo sviluppo futuro del software. Il mining del software è simile per alcuni aspetti al data mining, sebbene il tipo di informazioni acquisite e i suoi usi possano essere molto diversi.
Il processo di mining del software viene spesso utilizzato da aziende e sviluppatori di software per estrarre i dati da un programma da utilizzare nello sviluppo di nuovi software. Questo è in genere fatto dagli sviluppatori di software che passano attraverso le varie linee di codice che compongono un programma ed estraggono dati da quel codice. Altri programmi vengono spesso utilizzati per facilitare il mining del software, spesso cercando 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 del software viene in genere eseguito da una società o da un individuo su software sviluppato da tale società, è legalmente di proprietà dell'azienda o fornito con una licenza open source. Ciò rende legale l'utilizzo di tutti i dati estratti attraverso il processo di mining. Il mining di software eseguito su un programma di proprietà di un'altra persona o società, tuttavia, può violare le leggi sul copyright che proteggono il software come proprietà intellettuale. Questo può essere in qualche caso un'area nebulosa in alcuni casi, quindi il mining dovrebbe essere svolto con cura da un programmatore o da uno 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 nel software di mining, sebbene venga fatto per database e altre grandi quantità di dati grezzi anziché per un particolare programma software. I due termini sono utilizzati in modo intercambiabile da alcuni professionisti IT, tuttavia, e quindi anche il "data mining" può essere utilizzato anche per un programma software. Mentre il data mining generalmente cerca di ottenere dati utili e specifici da un set di dati di grandi dimensioni, il mining di software viene spesso eseguito per trovare in primo luogo come sono state create tabelle e codice di dati.