Skip to content

[enhancement] Known limitations #2

Open
@delsner

Description

@delsner
  • New parameterized GoogleTest test cases can only be correctly selected, if the new parameterization is added to the end of the parameter list (GoogleTest will enumerate parameterized test cases 0..n, therefore, if a new test case is added to the front, i.e., at index 0, only the test case with the new index (n+1) will always be selected)
  • Overloading C++ operators is not recognized by the change impact analysis run-time option --overload (changes to already overloaded operators will work)
  • Function overloading (--overload) is currently limited to file-scope (for performance reasons)
  • JIT tracing is only partly supported (e.g., for JVM hotspot, we had to disable JIT to trace tests, which impacts run time)
  • Only Windows and Linux are currently supported
  • Efficient (inlined) basic block instrumentation is currently limited to x86-64 (otherwise we use DR's clean calls)
  • The experimental dynamic binary instrumentation approach using Frida is currently Windows-only
  • Non-functional analysis (--non-functional) will only reliably work if you check out the target commit and your current working directory is the root of the analyzed git repository
  • Instrumentation overhead of more than +3X observed on some targets -> we're looking into source-to-source translation with clang and other forms of code instrumentation (both, source and binary level); interesting for Linux could be bcov

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions