diffkemp
diffkemp copied to clipboard
Static analysis of semantic differences in kernel versions
Currently, we use human-readable LLVM IR files (having the `.ll` extension) in our snapshots. While this is great for debugging, it makes the snapshots unnecessarily large. We should move to...
At the moment, we always need to run `pip install .` when doing development. This comes with several drawbacks: - the development process is complicated and confusing, - installing Python...
So lately there have been problems with CI: 1. **429 Error when restoring kernels** Caused by too many requests to GitHub API (eg. the cache API) - according to [this](https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration)...
The documentation can be previewed [here](https://github.com/PLukas2018/diffkemp/blob/doc-architecture/docs/architecture.md). The PR tries to document DiffKemp architecture and could be used as internal documentation for developers. The PR is a work in progress --...
This PR fixes issue #363 -- not handling memset of structures with different sizes (e.g. because of different struct alignment caused by swapped struct fields) when the structure has typedef...
As mentioned in issue #261, when comparing instructions to find possible relocation, most of the comparisons is expected to fail. To avoid polluting log output with logs of these unsuccessful...
When assigning a global struct variable to a local variable, the values with which the global struct variable was initialized are not checked and the following program is evaluated as...
DiffKemp currently does not handle very well refactoring containing extraction of 'expression' (respectively struct field access) to a variable that is used in multiple places with calls to functions in...
This PR adds support for LLVM 19 to diffkemp. The main differences in comparison to older versions are: 1. The removal of comparison of `StringRef` with `equals` method. We should...
Fixes #400 This PR rewrites the `cc_wrapper` component from Python to C++. The RPython only supports Python2, which is deprecated, making the wrapper difficult to support. This C++ rewrite ensures...