Denis Kacan; Darius Sidlauskas MSE-2008-09, pp. 43. TEK/avd. för
programvaruteknik, 2008. Software engineers will possibly never
see the perfect source code in their lifetime, but they are
seeing much better analysis tools for finding defects in
software. The approaches used in static code analysis emerged
from simple code crawling to usage of statistical and
probabilistic frameworks. This work presents a new technique
that incorporates machine learning and information visualization
into static code analysis. The technique learns patterns in a
program’s source code using a normalized compression distance
and applies them to classify code fragments into faulty or
correct. Since the classification frequently is not perfect, the
training process plays an essential role. A visualization
element is used in the hope that it lets the user better
understand the inner state of the classifier making the learning
process transparent. An experimental evaluation is carried out
in order to prove the efficacy of an implemen