Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-55876

revisit libdeps UnusedPublicLinter algorithm

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Backlog
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      There have been significant changes to the codebase around the libdeps graph analyzer. The requirements for this linter should more clearly defined and the algorithm should be revisited considering the latest changes of the libdeps graph analyzer codebase.

      Some questions to clarify the requirements:

      What is an unused libdep? If you imagine a tree of transitive edges created from a direct public edge, some of those transitive edges may be unused (no used symbols on the edge), but others are used. Do all trans edges need to be unused for the direct public edge to be declared unused? Or do all trans edges that do have symbols in that tree need to at least be redundant or covered by some other direct public edge if they have symbols? Or is there some percentage of resulting trans edges which are used which define it as 'useful' and if its below the threshold we should try to convert the few useful trans edges to direct private edges to remove the direct public edge?

        Attachments

          Activity

            People

            Assignee:
            backlog-server-devplatform Backlog - Server Development Platform Team (SDP)
            Reporter:
            daniel.moody Daniel Moody
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated: