Uploaded image for project: 'Coin'
  1. Coin
  2. COIN-134

optimizing CI by using call graph analysis

XMLWordPrintable

    • Icon: Suggestion Suggestion
    • Resolution: Unresolved
    • Icon: P3: Somewhat important P3: Somewhat important
    • None
    • master
    • Other
    • None

      we are wasting a lot of time on running tests that cannot have possibly been affected by the changes that are being integrated.

      we should use call graph analysis to obtain reliable dependencies of test cases, and use the diffs of the integrated changes to select tests to run.

      as a "side effect", this could also mark the likely culprits of integration failures (QTQAINFRA-424).

      all information necessary to extract the call graph and monitor it for changes can be obtained from objcopy -r -s -t. of course, it would be way more efficient to use the respective libbfd functions directly.
      the algorithm is roughly:

      • dump section contents
      • chop them up according to the symbol table
      • hash the per-symbol section contents for later re-validation
      • use the relocation entries (again per-symbol) to build the dependency graph

      <more elaboration to come>

      of course, Somebody Else ™ already had that idea as well: http://googletesting.blogspot.de/2011/06/testing-at-speed-and-scale-of-google.html

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            jujokini Jukka Jokiniva
            buddenha Oswald Buddenhagen
            Votes:
            2 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes