VERIFYING SOFTWARE CODE VULNERABILITIES USING MACHINE LEARNING AND CLASSIFICATION TECHNIQUES

dc.contributor.advisorKarabatis, George
dc.contributor.authorArgiropoulos, Foteini
dc.contributor.departmentInformation Systems
dc.contributor.programInformation Systems
dc.date.accessioned2021-01-29T18:13:51Z
dc.date.available2021-01-29T18:13:51Z
dc.date.issued2019-01-01
dc.description.abstractSoftware assurance analysts deal with thousands of potential vulnerabilities many of which are false positives during the process of static code analysis. Manual review of all such potential vulnerabilities is tedious, time consuming, and frequently impractical. This dissertations presents a novel classification algorithm along with its variants that successfully label true and false vulnerabilities in software code. A selection process identi?es the most important features utilized in the algorithm to detect and distinguish the true and false positive findings of the static code analysis results. This has been accomplished by an empirical and semantic method of identifying and using personal identifier as a critical feature for the classification. The approach has been validated by experimentation and comparison against thirteen existing classifiers. Extensive experiments were conducted using multiple production code and open source code with the aid of a variety of static code analysis tools. The results show signi?cant improvements in Accuracy, Precision, and Recall, outperforming all participating classifiers, leading to significant improvements in the security posture of a software system.
dc.formatapplication:pdf
dc.genredissertations
dc.identifierdoi:10.13016/m2zr4r-ioxc
dc.identifier.other12022
dc.identifier.urihttp://hdl.handle.net/11603/20916
dc.languageen
dc.relation.isAvailableAtThe University of Maryland, Baltimore County (UMBC)
dc.relation.ispartofUMBC Information Systems Department Collection
dc.relation.ispartofUMBC Theses and Dissertations Collection
dc.relation.ispartofUMBC Graduate School Collection
dc.relation.ispartofUMBC Student Collection
dc.sourceOriginal File Name: Argiropoulos_umbc_0434D_12022.pdf
dc.subjectAlgorithm
dc.subjectClassification
dc.subjectCyber Security
dc.subjectMachine Learning
dc.subjectSoftware Assurance
dc.subjectVulnerability Analysis
dc.titleVERIFYING SOFTWARE CODE VULNERABILITIES USING MACHINE LEARNING AND CLASSIFICATION TECHNIQUES
dc.typeText
dcterms.accessRightsDistribution Rights granted to UMBC by the author.
dcterms.accessRightsAccess limited to the UMBC community. Item may possibly be obtained via Interlibrary Loan thorugh a local library, pending author/copyright holder's permission.
dcterms.accessRightsThis item is likely protected under Title 17 of the U.S. Copyright Law. Unless on a Creative Commons license, for uses protected by Copyright Law, contact the copyright holder or the author.

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Argiropoulos_umbc_0434D_12022.pdf
Size:
3.4 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
ArgiropoulosFVerifying_Open.pdf
Size:
46.23 KB
Format:
Adobe Portable Document Format
Description: