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
srcml
is 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 |