+# Declarations should be placed in a namespace
+# But examples are intended to remain small and simple
+sonar.issue.ignore.multicriteria.c4a.ruleKey=cpp:GlobalNamespaceMembers
+sonar.issue.ignore.multicriteria.c4a.resourceKey=examples/**/*.cpp
+sonar.issue.ignore.multicriteria.c4b.ruleKey=cpp:GlobalNamespaceMembers
+sonar.issue.ignore.multicriteria.c4b.resourceKey=examples/**/*.hpp
+
+# Replace alternative operator "not" with "!"
+# I like it better, so please leave me alone
+sonar.issue.ignore.multicriteria.c5a.ruleKey=cpp:S3659
+sonar.issue.ignore.multicriteria.c5a.resourceKey=**/*.cpp
+sonar.issue.ignore.multicriteria.c5b.ruleKey=cpp:S3659
+sonar.issue.ignore.multicriteria.c5b.resourceKey=**/*.hpp
+
+# Dynamically allocated memory should be released
+# We have better ways to detect memleaks in SimGrid
+# This is not disabled in example/ because our code should be nice looking
+sonar.issue.ignore.multicriteria.c6a.ruleKey=cpp:S3584
+sonar.issue.ignore.multicriteria.c6a.resourceKey=src/**/*.cpp
+sonar.issue.ignore.multicriteria.c6b.ruleKey=cpp:S3584
+sonar.issue.ignore.multicriteria.c6b.resourceKey=teshsuite/**/*.cpp
+
+# Macros should not be used to define constants
+# *.h includes are meant to be usable in C
+sonar.issue.ignore.multicriteria.c7.ruleKey=cpp:S5028
+sonar.issue.ignore.multicriteria.c7.resourceKey=**/*.h
+
+# Deprecated code should be removed
+# We do have a process to remove deprecated code
+sonar.issue.ignore.multicriteria.c8.ruleKey=cpp:S1133
+sonar.issue.ignore.multicriteria.c8.resourceKey=**/*
+
+# Lambda return types should be implicit
+# I don't see the point in general, plus we mostly use them when forced, to disambiguate
+sonar.issue.ignore.multicriteria.c9.ruleKey=cpp:S3574
+sonar.issue.ignore.multicriteria.c9.resourceKey=**/*
+
+# Standard outputs should not be used directly to log anything
+# Irrelevant for parsing examples in teshsuite/simdag
+sonar.issue.ignore.multicriteria.c10.ruleKey=cpp:S106
+sonar.issue.ignore.multicriteria.c10.resourceKey=teshsuite/simdag/**/*.cpp
+
+# "reinterpret_cast" should not be used
+# But we need this to interface C and Fortran
+sonar.issue.ignore.multicriteria.f1.ruleKey=cpp:S3630
+sonar.issue.ignore.multicriteria.f1.resourceKey=src/smpi/bindings/smpi_f77*.cpp
+
+# In Python, Using command line arguments is security-sensitive
+# But we are cautionous with it
+sonar.issue.ignore.multicriteria.p1.ruleKey=python:S4823
+sonar.issue.ignore.multicriteria.p1.resourceKey=**/*.py
+
+# In MPI, there are C function pointers
+sonar.issue.ignore.multicriteria.s1.ruleKey=cpp:S5205
+sonar.issue.ignore.multicriteria.s1.resourceKey=src/smpi/**/*.cpp
+
+# MPI standard has long prototypes
+sonar.issue.ignore.multicriteria.s2.ruleKey=cpp:S107
+sonar.issue.ignore.multicriteria.s2.resourceKey=src/smpi/**/*.cpp
+
+# MPI standard uses void*
+sonar.issue.ignore.multicriteria.s3.ruleKey=cpp:S5008
+sonar.issue.ignore.multicriteria.s3.resourceKey=src/smpi/**/*.cpp