Static Code Features for a Machine Learning based Inspection : An approach for C

Delivering fault free code is the clear goal of each devel- oper, however the best method to achieve this aim is still an open question. Despite that several approaches have been proposed in literature there exists no overall best way. One possible solution proposed recently is to combine static sou...

Full description

Bibliographic Details
Main Author: Tribus, Hannes
Format: Others
Language:English
Published: Blekinge Tekniska Högskola, Sektionen för datavetenskap och kommunikation 2010
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:bth-2550
id ndltd-UPSALLA1-oai-DiVA.org-bth-2550
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-bth-25502018-01-12T05:14:17ZStatic Code Features for a Machine Learning based Inspection : An approach for CengTribus, HannesBlekinge Tekniska Högskola, Sektionen för datavetenskap och kommunikation2010static source code analysismachine learningfeature selectionfault detectionSoftware EngineeringProgramvaruteknikDelivering fault free code is the clear goal of each devel- oper, however the best method to achieve this aim is still an open question. Despite that several approaches have been proposed in literature there exists no overall best way. One possible solution proposed recently is to combine static source code analysis with the discipline of machine learn- ing. An approach in this direction has been defined within this work, implemented as a prototype and validated subse- quently. It shows a possible translation of a piece of source code into a machine learning algorithm’s input and further- more its suitability for the task of fault detection. In the context of the present work two prototypes have been de- veloped to show the feasibility of the presented idea. The output they generated on open source projects has been collected and used to train and rank various machine learn- ing classifiers in terms of accuracy, false positive and false negative rates. The best among them have subsequently been validated again on an open source project. Out of the first study at least 6 classifiers including “MultiLayerPer- ceptron”, “Ibk” and “ADABoost” on a “BFTree” could convince. All except the latter, which failed completely, could be validated in the second study. Despite that the it is only a prototype, it shows the suitability of some machine learning algorithms for static source code analysis. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:bth-2550Local oai:bth.se:arkivexF8C05B338AD118EDC12577A6004B634Bapplication/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
topic static source code analysis
machine learning
feature selection
fault detection
Software Engineering
Programvaruteknik
spellingShingle static source code analysis
machine learning
feature selection
fault detection
Software Engineering
Programvaruteknik
Tribus, Hannes
Static Code Features for a Machine Learning based Inspection : An approach for C
description Delivering fault free code is the clear goal of each devel- oper, however the best method to achieve this aim is still an open question. Despite that several approaches have been proposed in literature there exists no overall best way. One possible solution proposed recently is to combine static source code analysis with the discipline of machine learn- ing. An approach in this direction has been defined within this work, implemented as a prototype and validated subse- quently. It shows a possible translation of a piece of source code into a machine learning algorithm’s input and further- more its suitability for the task of fault detection. In the context of the present work two prototypes have been de- veloped to show the feasibility of the presented idea. The output they generated on open source projects has been collected and used to train and rank various machine learn- ing classifiers in terms of accuracy, false positive and false negative rates. The best among them have subsequently been validated again on an open source project. Out of the first study at least 6 classifiers including “MultiLayerPer- ceptron”, “Ibk” and “ADABoost” on a “BFTree” could convince. All except the latter, which failed completely, could be validated in the second study. Despite that the it is only a prototype, it shows the suitability of some machine learning algorithms for static source code analysis.
author Tribus, Hannes
author_facet Tribus, Hannes
author_sort Tribus, Hannes
title Static Code Features for a Machine Learning based Inspection : An approach for C
title_short Static Code Features for a Machine Learning based Inspection : An approach for C
title_full Static Code Features for a Machine Learning based Inspection : An approach for C
title_fullStr Static Code Features for a Machine Learning based Inspection : An approach for C
title_full_unstemmed Static Code Features for a Machine Learning based Inspection : An approach for C
title_sort static code features for a machine learning based inspection : an approach for c
publisher Blekinge Tekniska Högskola, Sektionen för datavetenskap och kommunikation
publishDate 2010
url http://urn.kb.se/resolve?urn=urn:nbn:se:bth-2550
work_keys_str_mv AT tribushannes staticcodefeaturesforamachinelearningbasedinspectionanapproachforc
_version_ 1718606738705350656