Purdue University Graduate School
Browse
- No file added yet -

USING MACHINE LEARNING TECHNIQUES TO IMPROVE STATIC CODE ANALYSIS TOOLS USEFULNESS

Download (2.31 MB)
thesis
posted on 2019-10-16, 17:19 authored by Enas Ahmad AlikhashashnehEnas Ahmad Alikhashashneh

This dissertation proposes an approach to reduce the cost of manual inspections for as large a number of false positive warnings that are being reported by Static Code Analysis (SCA) tools as much as possible using Machine Learning (ML) techniques. The proposed approach neither assume to use the particular SCA tools nor depends on the specific programming language used to write the target source code or the application. To reduce the number of false positive warnings we first evaluated a number of SCA tools in terms of software engineering metrics using a highlighted synthetic source code named the Juliet test suite. From this evaluation, we concluded that the SCA tools report plenty of false positive warnings that need a manual inspection. Then we generated a number of datasets from the source code that forced the SCA tool to generate either true positive, false positive, or false negative warnings. The datasets, then, were used to train four of ML classifiers in order to classify the collected warnings from the synthetic source code. From the experimental results of the ML classifiers, we observed that the classifier that built using the Random Forests

(RF) technique outperformed the rest of the classifiers. Lastly, using this classifier and an instance-based transfer learning technique, we ranked a number of warnings that were aggregated from various open-source software projects. The experimental results show that the proposed approach to reduce the cost of the manual inspection of the false positive warnings outperformed the random ranking algorithm and was highly correlated with the ranked list that the optimal ranking algorithm generated.

Funding

This thesis was sponsored in part by grant KT-1600071C-IU Kestrel Technology and D15PC00169 from the Department of Homeland Security (DHS).

History

Degree Type

  • Doctor of Philosophy

Department

  • Computer Science

Campus location

  • Indianapolis

Advisor/Supervisor/Committee Chair

JAMES H. HILL

Additional Committee Member 2

MIHRAN TUCERYAN

Additional Committee Member 3

MOHAMMAD AL HASAN

Additional Committee Member 4

RAJEEV R. RAJE