<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>8919</bug_id>
          
          <creation_ts>2016-01-13 20:58:41 +0000</creation_ts>
          <short_desc>Code coverage: add ability to create coverage-based test exclusion reports</short_desc>
          <delta_ts>2020-02-13 16:15:06 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>Scripts and Tools</component>
          <version>5.99</version>
          <rep_platform>All</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>OB REVIEW</status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>Future</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Esquivel">benjamin.esquivel</reporter>
          <assigned_to name="Unassigned">unassigned</assigned_to>
          <cc>humberto.ibarra.lopez</cc>
    
    <cc>joshuagloe</cc>
    
    <cc>leonardo.sandoval.gonzalez</cc>
    
    <cc>mhalstead</cc>
    
    <cc>randy.macleod</cc>
    
    <cc>ross.burton</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Don&apos;t know</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>57798</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Esquivel">benjamin.esquivel</who>
    <bug_when>2016-01-13 20:58:41 +0000</bug_when>
    <thetext>Test exclusion based in coverage is an analysis of what (code )areas are covering the tests and be able to list what tests are entirely repetitive coverage-wise.

This new ability helps the QA team to know which is the shortest list of tests that covers the maximal amount of code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58205</commentid>
    <comment_count>1</comment_count>
    <who name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</who>
    <bug_when>2016-01-25 18:10:11 +0000</bug_when>
    <thetext>Assigning to Humberto, he is leading this area on the development area.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59231</commentid>
    <comment_count>2</comment_count>
    <who name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</who>
    <bug_when>2016-02-18 21:48:40 +0000</bug_when>
    <thetext>Lets consider the following: the value 1 indicates that the executed lines between testi and testj are the same, and value value 0 is the exactly the opposite, so a formula like this may help (too pythonic but the idea is there)

    res = [executed lines on testi] and [executed lines on testj] 

where if both tests executed the same lines, then

    res = []

and if both tests executed completely different lines

    res = [executed lines on testi]

thus

    value = (len(res) - len([executed lines on testi])) 
            ------------------------------------------
             len([executed lines on testi]) 


we can construct a matrix with the values, just populating the upper right part as seem below:

----------------------------------------------
      test1 test2 test3 test4 .........  testn
test1   1    0.9    0     0.1  ..........  0.5
test2         1
test3               1
test4                     1
.                              .
.                                 .
testn                                     1
----------------------------------------------


The problem is to identify those pair of tests with higher numbers, i.e test1 and test2 on the sample matrix have a high value, basically exercising the same code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59350</commentid>
    <comment_count>3</comment_count>
    <who name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</who>
    <bug_when>2016-02-22 22:52:49 +0000</bug_when>
    <thetext>Beto, as discussed today, and to store in other place rather that the blackboard, this would be a better formula for the similarity between two sets A and B(each sets in this case correspond to the executed lines by a specific test):


|(A-B)| - |(B-A)|
-----------------
      |A+B|

if A=B


0 + 0
----- = 0
|2A|


if A != B

|A| + |B|
--------- = 1
 |A + B|


so, 0 indicates tests are identical and 1 indicates tests are not related at all The operator || indicates the length of the set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68867</commentid>
    <comment_count>4</comment_count>
    <who name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</who>
    <bug_when>2016-12-06 17:22:39 +0000</bug_when>
    <thetext>This is low priority for 2.3 and there is no window time to work on this area during 2.3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85910</commentid>
    <comment_count>5</comment_count>
    <who name="Armin Kuster">akuster</who>
    <bug_when>2019-12-22 19:24:21 +0000</bug_when>
    <thetext>I think result tool does something like this.

We also added fast and slow test groups.

I believe this in some form has been addressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86428</commentid>
    <comment_count>6</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2020-02-13 16:15:06 +0000</bug_when>
    <thetext>A nice idea but not resource feasible.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>