mapbox / mapbox/cpp

Recommendations for which sanitizers to enable

Offen
#41 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Keine Sprachdaten
Sterne
110
Forks
17
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

As time passes, the g++/clang++ gain more new sanitizers, existing ones get better, and some get ported to new platforms (e.g. recently leak support was added to OS X in clang++ 5).

Similar to #37 for warnings, This ticket can serve as a central place to start documenting a recommended list of sanitizer flags to use. I intend this to be a quick, opinionated reference to check before you would dive deeper into docs like https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html.

The relevant questions I see are:

  • 🍇 Which sanitizers should we always test with?
  • 🍊 Which additional flags or environment variables should we use?
  • 🍏 Which additional flags should be used when testing the sanitizers on CI systems?
  • 🍎 Which additional flags should be used when building sanitized binaries for live testing?

Refs:

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie damit, die Sanitizer-Gruppierungen in den referenzierten Sanitizers.def-Dateien mit der Dokumentation zu AddressSanitizer, ThreadSanitizer, MemorySanitizer, UndefinedBehaviorSanitizer, DataFlowSanitizer, LeakSanitizer, Control Flow Integrity und Safe Stack zu vergleichen. Klären Sie die Empfehlungen für Tests, die immer aktiviert sind, für CI und für Live-Testing-Builds, einschließlich relevanter Flags, Umgebungsvariablen und Plattformgrenzen. Als erledigt gilt die Aufgabe, wenn der Issue eine prägnante, klare Referenz enthält, die diese Fragen abdeckt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
documentation, testing-qa
Issue-Typ
Dokumentation
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.