Detecting Security-Relevant Methods using Multi-label Machine Learning
Oshando Johnson Goran Piskachev Ranjith Krishnamurthy Eric Bodden
To detect security vulnerabilities, static analysis tools need to be
configured with security-relevant methods. Current approaches can automatically
identify such methods using binary relevance machine learning approaches.
However, they ignore dependencies among security-relevant methods,
over-generalize and perform poorly in practice. Additionally, users have to
nevertheless manually configure static analysis tools using the detected
methods. Based on feedback from users and our observations, the excessive
manual steps can often be tedious, error-prone and counter-intuitive.
  In this paper, we present Dev-Assist, an IntelliJ IDEA plugin that detects
security-relevant methods using a multi-label machine learning approach that
considers dependencies among labels. The plugin can automatically generate
configurations for static analysis tools, run the static analysis, and show the
results in IntelliJ IDEA. Our experiments reveal that Dev-Assist's machine
learning approach has a higher F1-Measure than related approaches. Moreover,
the plugin reduces and simplifies the manual effort required when configuring
and using static analysis tools.