A code-model extractor for KernelHaven.
This extractor uses srcML to analyze C source code.
This extractors parsers C source code files (*.c, *.h) into an abstract syntax tree containing variability information.
Place SrcMLExtractor.jar in the plugins folder of KernelHaven.
To use this extractor, set code.extractor.class to net.ssehub.kernel_haven.srcml.SrcMLExtractor in the KernelHaven properties.
In addition to KernelHaven, this plugin has the following dependencies:
- CppUtils
- Only runs on these platforms:
- Windows (Vista, 7, 8, 10) 64 Bit
- Linux x86 64 Bit; requires the following libraries (packages for Ubuntu 16.04):
libxml2, libxslt1.1, libarchive13, libssl1.0.0, libcurl3 - macOS: El Capitan (not tested)
- Any platform, where srcML is installed (i.e. the binary
srcmlis available on thePATH)
This plugin is licensed under GPLv3.
Another license would be possible with the following restriction:
- The plugin contains srcML which is under GPLv3. We do not link against srcML, so technically we are not infected by GPL. However a release under a license other than GPLv3 would require the removal of the contained srcML.
The following tools are used (and bundled in res/) by this plugin:
| Tool | Version | License |
|---|---|---|
| srcML | Beta v0.9.5 | GPLv3 |