Hvad er softwaredrift?
Software mining er en proces, hvor en person eller gruppe, normalt involveret i informationsteknologi (IT) industrien, ser på kildekoden til et softwareprogram for at bestemme information om det. Dette kan gøres på en række forskellige måder, selvom anden software ofte bruges til at gøre processen lettere eller hurtigere. Information, der findes gennem denne metode, kan derefter bruges på forskellige måder, og den bruges rutinemæssigt til at skabe modeller til fremtidig softwareudvikling. Software mining er i nogle henseender den samme som data mining, skønt typen af information opnået og dens anvendelser kan være ganske anderledes.
Processen med software mining er ofte brugt af virksomheder og softwareudviklere til at udtrække data fra et program til brug i udviklingen af ny software. Dette gøres typisk af softwareudviklere, der gennemgår de forskellige kodelinjer, der udgør et program og uddrager data fra den kode. Andre programmer bruges ofte til at lette minedrift af software, ofte ved at søge efter bestemte udtryk eller segmenter i selve koden. Oplysninger, der findes på denne måde, kan bruges på mange måder, ofte som en model for udvikling af nye programmer.
Minedrift af software udføres typisk af en virksomhed eller en enkeltperson på software, der er udviklet af det pågældende firma, ejes lovligt af virksomheden, eller som leveres under en open source-licens. Dette gør brugen af alle data, der udvindes gennem mineprocessen, lovlig. Software mining udført på et program, der ejes af en anden person eller virksomhed, kan dog overtræde ophavsretlige love, der beskytter software som intellektuel ejendom. Dette kan være noget af et nebulous juridisk område i nogle tilfælde, men minedrift bør udføres omhyggeligt af en programmerer eller udvikler.
På mange måder ligner minedrift af software en anden proces, der er kendt som data mining. Data mining bruger ofte lignende teknikker og applikationer som dem, der bruges i mining software, skønt det gøres til databaser og andre store mængder rå data snarere end til et bestemt softwareprogram. De to udtryk bruges imidlertid ombytteligt af nogle it-fagfolk, og derfor kan "data mining" også bruges med hensyn til et softwareprogram. Mens datamining ofte søger at hente nyttige og specifikke data fra et stort datasæt, udføres ofte software-mining for at finde ud af, hvordan datatabeller og kode blev oprettet i første omgang.