Summary: This diff adds a layer of report deduplication logic in addition to the existing scheme. Suppose issue 1 with trace1a and trace1b, and issue 2 with trace2a and trace2b. If trace1a ends at the same location as trace2a (resp., trace2b) and trace1b ends at the same location as trace2b (resp., trace2a), then consider issues 1 and 2 to be duplicates. This chooses to report the issue with the smaller sum of trace lengths, breaking ties using the issue hashes, and eventually the entire issue. Therefore there is a potential for flakiness with respect the the choice of which report to make within a hash-equivalence class. Reviewed By: sblackshear Differential Revision: D6519607 fbshipit-source-id: 63210abmaster
parent
7e8739de0a
commit
22ec29fabc
@ -0,0 +1,16 @@
|
|||||||
|
(*
|
||||||
|
* Copyright (c) 2017 - present Facebook, Inc.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the BSD style license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree. An additional grant
|
||||||
|
* of patent rights can be found in the PATENTS file in the same directory.
|
||||||
|
*)
|
||||||
|
|
||||||
|
open! IStd
|
||||||
|
|
||||||
|
type t = Typ.Procname.t * RacerDDomain.TraceElem.t * Location.t list
|
||||||
|
|
||||||
|
let encode decoded = B64.encode (Marshal.to_string decoded [])
|
||||||
|
|
||||||
|
let decode encoded = Marshal.from_string (B64.decode encoded) 0
|
@ -0,0 +1,16 @@
|
|||||||
|
(*
|
||||||
|
* Copyright (c) 2017 - present Facebook, Inc.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the BSD style license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree. An additional grant
|
||||||
|
* of patent rights can be found in the PATENTS file in the same directory.
|
||||||
|
*)
|
||||||
|
|
||||||
|
open! IStd
|
||||||
|
|
||||||
|
type t = Typ.Procname.t * RacerDDomain.TraceElem.t * Location.t list
|
||||||
|
|
||||||
|
val encode : t -> string
|
||||||
|
|
||||||
|
val decode : string -> t
|
Loading…
Reference in new issue