Skip to content

Don't use cbmc-developers as a code owner #2589

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 5 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 52 additions & 46 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,60 +1,66 @@
# These owners will be the default owners for everything in the repo.
* @kroening @tautschnig @peterschrammel @smowton @chrisr-diffblue

# These files should rarely change

src/big-int/ @kroening
src/ansi-c/ @kroening @tautschnig
src/assembler/ @kroening @tautschnig
src/goto-cc/ @kroening @tautschnig
src/linking/ @kroening @tautschnig
src/memory-models/ @kroening @tautschnig
src/goto-symex/ @kroening @tautschnig @peterschrammel
src/json/ @kroening @tautschnig @peterschrammel
src/langapi/ @kroening @tautschnig @peterschrammel
src/xmllang/ @kroening @tautschnig @peterschrammel
src/nonstd/ @smowton @peterschrammel
src/solvers/cvc @martin-cs @kroening
src/solvers/flattening @martin-cs @kroening @tautschnig @peterschrammel
src/solvers/floatbv @martin-cs @kroening
src/solvers/miniBDD @tautschnig @kroening
src/solvers/prop @martin-cs @kroening @tautschnig @peterschrammel
src/solvers/sat @martin-cs @kroening @tautschnig @peterschrammel
src/solvers/smt2 @martin-cs @tautschnig @peterschrammel
jbmc/src/miniz/ @smowton @mgudemann @peterschrammel
/* @kroening @tautschnig @peterschrammel @smowton @chrisr-diffblue
/cmake/ @kroening @tautschnig @peterschrammel @smowton @chrisr-diffblue
/pkg/arch/ @kroening @tautschnig @peterschrammel @smowton @chrisr-diffblue
/src/* @kroening @tautschnig @peterschrammel @smowton @chrisr-diffblue
/src/big-int/ @kroening
/src/ansi-c/ @kroening @tautschnig
/src/assembler/ @kroening @tautschnig
/src/goto-cc/ @kroening @tautschnig
/src/linking/ @kroening @tautschnig
/src/memory-models/ @kroening @tautschnig
/src/goto-symex/ @kroening @tautschnig @peterschrammel
/src/jsil/ @kroening @tautschnig @peterschrammel @smowton @chrisr-diffblue
/src/json/ @kroening @tautschnig @peterschrammel
/src/langapi/ @kroening @tautschnig @peterschrammel
/src/xmllang/ @kroening @tautschnig @peterschrammel
/src/nonstd/ @smowton @peterschrammel
/src/solvers/ @kroening @tautschnig @peterschrammel @smowton @chrisr-diffblue
/src/solvers/cvc @martin-cs @kroening
/src/solvers/flattening @martin-cs @kroening @tautschnig @peterschrammel
/src/solvers/floatbv @martin-cs @kroening
/src/solvers/miniBDD @tautschnig @kroening
/src/solvers/prop @martin-cs @kroening @tautschnig @peterschrammel
/src/solvers/sat @martin-cs @kroening @tautschnig @peterschrammel
/src/solvers/smt2 @martin-cs @tautschnig @peterschrammel
/jbmc/* @kroening @tautschnig @peterschrammel @smowton @chrisr-diffblue
/jbmc/lib/ @kroening @tautschnig @peterschrammel @smowton @chrisr-diffblue
/jbmc/src/* @kroening @tautschnig @peterschrammel @smowton @chrisr-diffblue
/jbmc/src/miniz/ @smowton @mgudemann @peterschrammel


# These files change frequently and changes are high-risk

src/cbmc/ @smowton @kroening @tautschnig @peterschrammel
src/goto-programs/ @smowton @kroening @tautschnig @peterschrammel @pkesseli
src/util/ @smowton @kroening @tautschnig @peterschrammel @pkesseli
src/solvers/refinement @martin-cs @romainbrenguier @peterschrammel
jbmc/src/java_bytecode/ @smowton @mgudemann @thk123 @cristina-david @cesaro @pkesseli @NathanJPhillips @peterschrammel
src/analyses/ @martin-cs @peterschrammel @chrisr-diffblue @thk123 @smowton
src/pointer-analysis/ @martin-cs @peterschrammel @chrisr-diffblue @smowton
/src/cbmc/ @smowton @kroening @tautschnig @peterschrammel
/src/goto-programs/ @smowton @kroening @tautschnig @peterschrammel @pkesseli
/src/util/* @smowton @kroening @tautschnig @peterschrammel @pkesseli
/src/solvers/refinement @martin-cs @romainbrenguier @peterschrammel
/jbmc/src/java_bytecode/ @smowton @mgudemann @thk123 @cristina-david @cesaro @pkesseli @NathanJPhillips @peterschrammel
/src/analyses/ @martin-cs @peterschrammel @chrisr-diffblue @thk123 @smowton
/src/pointer-analysis/ @martin-cs @peterschrammel @chrisr-diffblue @smowton


# These files change frequently and changes are medium-risk

src/goto-analyzer/ @martin-cs @chrisr-diffblue @peterschrammel
src/goto-instrument/ @martin-cs @chrisr-diffblue @peterschrammel
src/goto-diff/ @tautschnig @peterschrammel
jbmc/src/jbmc/ @smowton @mgudemann @cristina-david @cesaro @pkesseli @peterschrammel
jbmc/src/janalyzer/ @smowton @mgudemann @cristina-david @cesaro @pkesseli @peterschrammel
jbmc/src/jdiff/ @smowton @mgudemann @cristina-david @cesaro @pkesseli @peterschrammel
src/cpp/ @kroening @tautschnig @peterschrammel

/src/goto-analyzer/ @martin-cs @chrisr-diffblue @peterschrammel
/src/goto-instrument/ @martin-cs @chrisr-diffblue @peterschrammel
/src/goto-diff/ @tautschnig @peterschrammel
/jbmc/src/jbmc/ @smowton @mgudemann @cristina-david @cesaro @pkesseli @peterschrammel
/jbmc/src/janalyzer/ @smowton @mgudemann @cristina-david @cesaro @pkesseli @peterschrammel
/jbmc/src/jdiff/ @smowton @mgudemann @cristina-david @cesaro @pkesseli @peterschrammel
/src/cpp/ @kroening @tautschnig @peterschrammel

# These files change frequently and changes are low-risk

src/util/irep_ids.def @diffblue/cbmc-developers
/scripts/ @diffblue/devops @thk123 @forejtv @peterschrammel
/.travis.yml @diffblue/devops @thk123 @forejtv @peterschrammel
/appveyor.yml @diffblue/devops @thk123 @forejtv @peterschrammel

unit/ @diffblue/cbmc-developers
regression/ @diffblue/cbmc-developers
jbmc/unit/ @diffblue/cbmc-developers
jbmc/regression/ @diffblue/cbmc-developers

scripts/ @diffblue/devops @thk123 @forejtv @peterschrammel
.travis.yml @diffblue/devops @thk123 @forejtv @peterschrammel
appveyor.yml @diffblue/devops @thk123 @forejtv @peterschrammel
# The files change frequently, are low-risk and have no owners
#
# /src/util/ids/
# /unit/
# /regression/
# /jbmc/unit/
# /jbmc/regression/
2 changes: 1 addition & 1 deletion doc/architectural/howto.md
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ numbered, starting from 0. They can be accessed through the `op0()`,
`op1()` and `op2()` methods in the `exprt` class.

Every node in the pretty representation has an identifier, accessed
through the `id()` function. The file `util/irep_ids.def` lists the
through the `id()` function. The file `util/ids/irep_ids.def` lists the
possible values of these identifiers; have a quick scan through that
file. In the pretty representation above, the following facts are true
of that particular node:
Expand Down
2 changes: 1 addition & 1 deletion scripts/string_table_check.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ ids_file=$(mktemp)

trap cleanup EXIT

gcc -E -P -x c src/util/irep_ids.def \
gcc -E -P -x c src/util/ids/irep_ids.def \
-D'IREP_ID_ONE(x)=ID_ ## x' -D'IREP_ID_TWO(x,y)=ID_ ## x' > $ids_file

for w in $whitelist
Expand Down
File renamed without changes.
6 changes: 3 additions & 3 deletions src/util/irep_ids.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const char *irep_ids_table[]=
#define IREP_ID_ONE(id) #id,
#define IREP_ID_TWO(id, str) #str,

#include "irep_ids.def"
#include "ids/irep_ids.def"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is a PR that's supposedly only about the codeowners file changing these?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(As the description above states, "In order to remove the code owner from irep_ids.def, this file was moved into its own subfolder of src/utils.") We want to give an owner to all the other files in src/utils, and we can't override that rule to remove the owner from a single file. However, it is possible to set an owner for all files in src/utils but not its subfolders. We moved irep_ids.def into a separate folder so that it can have its own (empty) list of owners.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense. Thanks.


nullptr,
};
Expand All @@ -32,7 +32,7 @@ enum class idt:unsigned
#define IREP_ID_ONE(the_id) id_##the_id,
#define IREP_ID_TWO(the_id, str) id_##the_id,

#include "irep_ids.def" // NOLINT(build/include)
#include "ids/irep_ids.def" // NOLINT(build/include)
};

#define IREP_ID_ONE(the_id) \
Expand All @@ -49,7 +49,7 @@ enum class idt:unsigned

#endif

#include "irep_ids.def" // NOLINT(build/include)
#include "ids/irep_ids.def" // NOLINT(build/include)

string_containert::string_containert()
{
Expand Down
2 changes: 1 addition & 1 deletion src/util/irep_ids.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,6 @@ Author: Reuben Thomas, [email protected]

#endif

#include "irep_ids.def"
#include "ids/irep_ids.def"

#endif