Recommendations for which sanitizers to enable
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Documentación
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- cpp
- Área
- documentation, testing-qa
Línea de trabajo
Comience comparando las agrupaciones de sanitizers en los archivos Sanitizers.def referenciados con la documentación de AddressSanitizer, ThreadSanitizer, MemorySanitizer, UndefinedBehaviorSanitizer, DataFlowSanitizer, LeakSanitizer, Control Flow Integrity y Safe Stack. Aclare las recomendaciones para las pruebas siempre activadas, CI y las compilaciones de live-testing, incluidos los flags, las variables de entorno y las limitaciones de la plataforma pertinentes. Se considera terminado cuando el issue contiene una referencia concisa y con una postura clara que cubre esas preguntas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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:
- source of truth for which sanitizers are in which groupings:
- Docs for HEAD llvm for sanitizers:
- Address: https://clang.llvm.org/docs/AddressSanitizer.html
- Thread: https://clang.llvm.org/docs/ThreadSanitizer.html
- Memory: https://clang.llvm.org/docs/MemorySanitizer.html
- UndefinedBehavior: https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html
- DataFlow: https://clang.llvm.org/docs/DataFlowSanitizer.html
- Leak: https://clang.llvm.org/docs/LeakSanitizer.html
- Control Flow Integrity: https://clang.llvm.org/docs/ControlFlowIntegrity.html
- Safe Stack: https://clang.llvm.org/docs/SafeStack.html
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 110
- Forks
- 17
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de mapbox/cpp
-
glossary
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
-
Docs on ABIs Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
-
clang-tidy v. -Weffc++ Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
-
docs/learning-resources.md blank Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
Todos los issues de mapbox/cpp
Issues similares
-
triage
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
feature pydanty:is-working
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
pydantic/pydantic-ai#8647 ·
-
Add date o "release information" Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Add more to the documentation Abierto:watch: Not Triaged dotnet-fsharp/svc
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100