From a4242ce128773a96815b9a7b868e352655e2476d Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Wed, 11 Mar 2020 11:04:57 +0100 Subject: [PATCH 01/35] Creating initial deprecated-bugs.csv files and adding constants for column names --- framework/core/Constants.pm | 22 +++++++++++++++++++ framework/projects/Chart/deprecated-bugs.csv | 1 + framework/projects/Cli/deprecated-bugs.csv | 1 + .../projects/Closure/deprecated-bugs.csv | 3 +++ framework/projects/Codec/deprecated-bugs.csv | 1 + .../projects/Collections/deprecated-bugs.csv | 1 + .../projects/Compress/deprecated-bugs.csv | 1 + framework/projects/Csv/deprecated-bugs.csv | 1 + framework/projects/Gson/deprecated-bugs.csv | 1 + .../projects/JacksonCore/deprecated-bugs.csv | 1 + .../JacksonDatabind/deprecated-bugs.csv | 1 + .../projects/JacksonXml/deprecated-bugs.csv | 1 + framework/projects/Jsoup/deprecated-bugs.csv | 1 + framework/projects/JxPath/deprecated-bugs.csv | 1 + framework/projects/Lang/deprecated-bugs.csv | 2 ++ framework/projects/Math/deprecated-bugs.csv | 1 + .../projects/Mockito/deprecated-bugs.csv | 1 + framework/projects/Time/deprecated-bugs.csv | 2 ++ 18 files changed, 43 insertions(+) create mode 100644 framework/projects/Chart/deprecated-bugs.csv create mode 100644 framework/projects/Cli/deprecated-bugs.csv create mode 100644 framework/projects/Closure/deprecated-bugs.csv create mode 100644 framework/projects/Codec/deprecated-bugs.csv create mode 100644 framework/projects/Collections/deprecated-bugs.csv create mode 100644 framework/projects/Compress/deprecated-bugs.csv create mode 100644 framework/projects/Csv/deprecated-bugs.csv create mode 100644 framework/projects/Gson/deprecated-bugs.csv create mode 100644 framework/projects/JacksonCore/deprecated-bugs.csv create mode 100644 framework/projects/JacksonDatabind/deprecated-bugs.csv create mode 100644 framework/projects/JacksonXml/deprecated-bugs.csv create mode 100644 framework/projects/Jsoup/deprecated-bugs.csv create mode 100644 framework/projects/JxPath/deprecated-bugs.csv create mode 100644 framework/projects/Lang/deprecated-bugs.csv create mode 100644 framework/projects/Math/deprecated-bugs.csv create mode 100644 framework/projects/Mockito/deprecated-bugs.csv create mode 100644 framework/projects/Time/deprecated-bugs.csv diff --git a/framework/core/Constants.pm b/framework/core/Constants.pm index d3c971069..8c6978dd0 100644 --- a/framework/core/Constants.pm +++ b/framework/core/Constants.pm @@ -256,6 +256,18 @@ our $TAG_FIXED = "FIXED_VERSION"; our $TAG_BUGGY = "BUGGY_VERSION"; our $TAG_PRE_FIX = "PRE_FIX_REVISION"; +# Columns in active-bugs.csv and deprecated-bugs.csv +our $BUGS_CSV_BUGID = "BugID"; +our $BUGS_CSV_COMMIT_BUGGY = "BuggyCommit"; +our $BUGS_CSV_COMMIT_FIXED = "FixedCommit"; +our $BUGS_CSV_ISSUE_ID = "IssueID"; +our $BUGS_CSV_ISSUE_URL = "IssueURL"; +our $BUGS_CSV_DEPRECATED_WHEN = "D4JVersionDeprecated"; +our $BUGS_CSV_DEPRECATED_WHY = "ReasonDeprecated"; + +# Reasons for deprecation +our $DEPRECATED_JVM8 = "JVM8-NonReproducable"; + # Filenames for test results our $FILE_ALL_TESTS = "all_tests"; our $FILE_FAILING_TESTS = "failing_tests"; @@ -303,6 +315,16 @@ $TAG_FIXED $TAG_BUGGY $TAG_PRE_FIX +$BUGS_CSV_BUGID +$BUGS_CSV_COMMIT_BUGGY +$BUGS_CSV_COMMIT_FIXED +$BUGS_CSV_ISSUE_ID +$BUGS_CSV_ISSUE_URL +$BUGS_CSV_DEPRECATED_WHEN +$BUGS_CSV_DEPRECATED_WHY + +$DEPRECATED_JVM8 + $FILE_ALL_TESTS $FILE_FAILING_TESTS diff --git a/framework/projects/Chart/deprecated-bugs.csv b/framework/projects/Chart/deprecated-bugs.csv new file mode 100644 index 000000000..f67687ba2 --- /dev/null +++ b/framework/projects/Chart/deprecated-bugs.csv @@ -0,0 +1 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated diff --git a/framework/projects/Cli/deprecated-bugs.csv b/framework/projects/Cli/deprecated-bugs.csv new file mode 100644 index 000000000..f67687ba2 --- /dev/null +++ b/framework/projects/Cli/deprecated-bugs.csv @@ -0,0 +1 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated diff --git a/framework/projects/Closure/deprecated-bugs.csv b/framework/projects/Closure/deprecated-bugs.csv new file mode 100644 index 000000000..52281a751 --- /dev/null +++ b/framework/projects/Closure/deprecated-bugs.csv @@ -0,0 +1,3 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +63,7deaed51a2313dd3d5814cf3ed93d7140cf3b1b5,37b0e1b0b5860e6cd4f48519c1105623778dc44f,487,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-487.json,2.0.0,JVM8-NonReproducable +93,386ab6da410291c7b9b4880354dae764275a9518,9d1e18e87a41f2a610ed70f3a1d57abbce7a1cd7,261,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-261.json,2.0.0,JVM8-NonReproducable diff --git a/framework/projects/Codec/deprecated-bugs.csv b/framework/projects/Codec/deprecated-bugs.csv new file mode 100644 index 000000000..f67687ba2 --- /dev/null +++ b/framework/projects/Codec/deprecated-bugs.csv @@ -0,0 +1 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated diff --git a/framework/projects/Collections/deprecated-bugs.csv b/framework/projects/Collections/deprecated-bugs.csv new file mode 100644 index 000000000..f67687ba2 --- /dev/null +++ b/framework/projects/Collections/deprecated-bugs.csv @@ -0,0 +1 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated diff --git a/framework/projects/Compress/deprecated-bugs.csv b/framework/projects/Compress/deprecated-bugs.csv new file mode 100644 index 000000000..f67687ba2 --- /dev/null +++ b/framework/projects/Compress/deprecated-bugs.csv @@ -0,0 +1 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated diff --git a/framework/projects/Csv/deprecated-bugs.csv b/framework/projects/Csv/deprecated-bugs.csv new file mode 100644 index 000000000..f67687ba2 --- /dev/null +++ b/framework/projects/Csv/deprecated-bugs.csv @@ -0,0 +1 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated diff --git a/framework/projects/Gson/deprecated-bugs.csv b/framework/projects/Gson/deprecated-bugs.csv new file mode 100644 index 000000000..f67687ba2 --- /dev/null +++ b/framework/projects/Gson/deprecated-bugs.csv @@ -0,0 +1 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated diff --git a/framework/projects/JacksonCore/deprecated-bugs.csv b/framework/projects/JacksonCore/deprecated-bugs.csv new file mode 100644 index 000000000..f67687ba2 --- /dev/null +++ b/framework/projects/JacksonCore/deprecated-bugs.csv @@ -0,0 +1 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated diff --git a/framework/projects/JacksonDatabind/deprecated-bugs.csv b/framework/projects/JacksonDatabind/deprecated-bugs.csv new file mode 100644 index 000000000..f67687ba2 --- /dev/null +++ b/framework/projects/JacksonDatabind/deprecated-bugs.csv @@ -0,0 +1 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated diff --git a/framework/projects/JacksonXml/deprecated-bugs.csv b/framework/projects/JacksonXml/deprecated-bugs.csv new file mode 100644 index 000000000..f67687ba2 --- /dev/null +++ b/framework/projects/JacksonXml/deprecated-bugs.csv @@ -0,0 +1 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated diff --git a/framework/projects/Jsoup/deprecated-bugs.csv b/framework/projects/Jsoup/deprecated-bugs.csv new file mode 100644 index 000000000..f67687ba2 --- /dev/null +++ b/framework/projects/Jsoup/deprecated-bugs.csv @@ -0,0 +1 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated diff --git a/framework/projects/JxPath/deprecated-bugs.csv b/framework/projects/JxPath/deprecated-bugs.csv new file mode 100644 index 000000000..f67687ba2 --- /dev/null +++ b/framework/projects/JxPath/deprecated-bugs.csv @@ -0,0 +1 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated diff --git a/framework/projects/Lang/deprecated-bugs.csv b/framework/projects/Lang/deprecated-bugs.csv new file mode 100644 index 000000000..c9c0c1ea7 --- /dev/null +++ b/framework/projects/Lang/deprecated-bugs.csv @@ -0,0 +1,2 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +2,aefc12c38171e1a84a90dc26e51b2c7aa111fdee,09d39029b16dee61022dc8afde4d84f523f37813,LANG-879,https://issues.apache.org/jira/browse/LANG-879,2.0.0,JVM8-NonReproducable diff --git a/framework/projects/Math/deprecated-bugs.csv b/framework/projects/Math/deprecated-bugs.csv new file mode 100644 index 000000000..f67687ba2 --- /dev/null +++ b/framework/projects/Math/deprecated-bugs.csv @@ -0,0 +1 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated diff --git a/framework/projects/Mockito/deprecated-bugs.csv b/framework/projects/Mockito/deprecated-bugs.csv new file mode 100644 index 000000000..f67687ba2 --- /dev/null +++ b/framework/projects/Mockito/deprecated-bugs.csv @@ -0,0 +1 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated diff --git a/framework/projects/Time/deprecated-bugs.csv b/framework/projects/Time/deprecated-bugs.csv new file mode 100644 index 000000000..fac6192a1 --- /dev/null +++ b/framework/projects/Time/deprecated-bugs.csv @@ -0,0 +1,2 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +21,c5a5190e19c062405ae4825c36e2172ae64202fb,0973b46039c4db0be3a969d36c220dee1e1fb4da,122,https://sourceforge.net/p/joda-time/bugs/122,2.0.0,JVM8-NonReproducable From 644e41fc7e71865cee4d0ff39dcc7cf2f2b36b08 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Wed, 11 Mar 2020 11:13:26 +0100 Subject: [PATCH 02/35] Adding deprecated entries for Cli and Collections, updating README --- README.md | 8 +++---- framework/projects/Cli/deprecated-bugs.csv | 1 + .../projects/Collections/deprecated-bugs.csv | 24 +++++++++++++++++++ 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a5cea512d..aeb2da71d 100644 --- a/README.md +++ b/README.md @@ -31,10 +31,10 @@ Defects4J contains 835 bugs from the following open-source projects: | Time | joda-time | 26 | 1-20,22-27 | 21 | \* Due to behavioral changes introduced under Java 8, some bugs are no longer -reproducible. These bugs have been removed from the commit-db, but their -metadata is still available in the project directory. As publications using -Defects4J artifacts refer to bugs by their specific bug id, we do not re-number -active bug ids of existing bugs. +reproducible. These bugs have been removed from `active-bugs.csv`, but their +metadata is retained in the project directory, and they can be accessed +through `deprecated.bugs.csv`. As publications using Defects4J artifacts +refer to bugs by their specific bug id, we do not re-number the active bug ids. The bugs --------------- diff --git a/framework/projects/Cli/deprecated-bugs.csv b/framework/projects/Cli/deprecated-bugs.csv index f67687ba2..9b7fff8e5 100644 --- a/framework/projects/Cli/deprecated-bugs.csv +++ b/framework/projects/Cli/deprecated-bugs.csv @@ -1 +1,2 @@ BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +6,3880640ee6268a2ecb2912e1ae896153dc2229e5,6f972cf56d7a3054bac902fecb6d3dd5ee310dea,cli-1,https://issues.apache.org/jira/browse/CLI-1,2.0.0,JVM8-NonReproducable diff --git a/framework/projects/Collections/deprecated-bugs.csv b/framework/projects/Collections/deprecated-bugs.csv index f67687ba2..6e29fec43 100644 --- a/framework/projects/Collections/deprecated-bugs.csv +++ b/framework/projects/Collections/deprecated-bugs.csv @@ -1 +1,25 @@ BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +1,b1cd358495cae3df8e0e32147ef433cce83390c8,f8aa3e033c1fde4a434864f666315b433498d32c,COLLECTIONS-217,https://issues.apache.org/jira/browse/COLLECTIONS-217,2.0.0,JVM8-NonReproducable +2,f8aa3e033c1fde4a434864f666315b433498d32c,3f09772b742d7886c5a18427c9838fb267cc335b,COLLECTIONS-214,https://issues.apache.org/jira/browse/COLLECTIONS-214,2.0.0,JVM8-NonReproducable +3,3f09772b742d7886c5a18427c9838fb267cc335b,66c4b99ddc7daea806c1318a40736d0f5c8fa7bd,COLLECTIONS-219,https://issues.apache.org/jira/browse/COLLECTIONS-219,2.0.0,JVM8-NonReproducable +4,139636b502dd144b7f6070a8f30b46913ef6965a,5e313d14b2a10ce0aea529ac4db50e183f0b1e49,COLLECTIONS-228,https://issues.apache.org/jira/browse/COLLECTIONS-228,2.0.0,JVM8-NonReproducable +5,d0128142ff08d9a9dc5c1ca483594abb21f90353,f43e0a53c1f4d3335e720131973dfc8e1103f5f9,COLLECTIONS-249,https://issues.apache.org/jira/browse/COLLECTIONS-249,2.0.0,JVM8-NonReproducable +6,95a3fecee0f7a87624e490f0026b391188f9aceb,1d5610521f5846c1d6f7d0a65f93c384dbf33e8d,COLLECTIONS-261,https://issues.apache.org/jira/browse/COLLECTIONS-261,2.0.0,JVM8-NonReproducable +7,142a6dd5eedf83e9bd5f077d64977969cc4be40c,01086ef5b312d7aa5ad231277950618cb93664ee,COLLECTIONS-278,https://issues.apache.org/jira/browse/COLLECTIONS-278,2.0.0,JVM8-NonReproducable +8,b147d16e647c9fa54b4ad14a76fd532906cec558,7cf943172b154019d7c6a66f4290272b2144e29a,COLLECTIONS-220,https://issues.apache.org/jira/browse/COLLECTIONS-220,2.0.0,JVM8-NonReproducable +9,7cf943172b154019d7c6a66f4290272b2144e29a,8a5d3acab88bb2ef7416f3141d63f10b79d318cf,COLLECTIONS-271,https://issues.apache.org/jira/browse/COLLECTIONS-271,2.0.0,JVM8-NonReproducable +10,c1351569a7184caee4ed7eacdf948f6a79db160f,e6d4f465446e5645f1a68f3d90964a6ade82f59e,COLLECTIONS-240,https://issues.apache.org/jira/browse/COLLECTIONS-240,2.0.0,JVM8-NonReproducable +11,7873bd62ee22efd0c32cddd94e388a80faab81b2,d887c5913fddcecad8483ec9a0cbf407ed08c157,COLLECTIONS-266,https://issues.apache.org/jira/browse/COLLECTIONS-266,2.0.0,JVM8-NonReproducable +12,441ed780ad999caf09ef5522983764977c8be45d,79ff10494b90ba99c339aadb87f6281c97aea966,COLLECTIONS-271,https://issues.apache.org/jira/browse/COLLECTIONS-271,2.0.0,JVM8-NonReproducable +13,79ff10494b90ba99c339aadb87f6281c97aea966,f3eaf2ceae5d49c329ce8675d06b3003eb1ba389,COLLECTIONS-299,https://issues.apache.org/jira/browse/COLLECTIONS-299,2.0.0,JVM8-NonReproducable +14,f3eaf2ceae5d49c329ce8675d06b3003eb1ba389,0725e476d4cc66e6331bdceb4e29a54a9ce7f462,COLLECTIONS-294,https://issues.apache.org/jira/browse/COLLECTIONS-294,2.0.0,JVM8-NonReproducable +15,0725e476d4cc66e6331bdceb4e29a54a9ce7f462,0122245f02ba7b22dd40f38c98aa2f08984707bd,COLLECTIONS-304,https://issues.apache.org/jira/browse/COLLECTIONS-304,2.0.0,JVM8-NonReproducable +16,0122245f02ba7b22dd40f38c98aa2f08984707bd,3290bbc85420176f53bad1968611bf53798b2770,COLLECTIONS-307,https://issues.apache.org/jira/browse/COLLECTIONS-307,2.0.0,JVM8-NonReproducable +17,bb72bc51ce46c102124d09ac862860f44d169cb4,459f14b33c02509a4b9cc5360f3ff2f4edba9284,COLLECTIONS-239,https://issues.apache.org/jira/browse/COLLECTIONS-239,2.0.0,JVM8-NonReproducable +18,38bb9b4ac534abc95a83c75faf5e87cfe25319d4,b10fa43d3e29af6c6e79577c305fad99df01dff0,COLLECTIONS-426,https://issues.apache.org/jira/browse/COLLECTIONS-426,2.0.0,JVM8-NonReproducable +19,89d8791f05f0d28199820e87c683696f96d42f40,bb9952dbedc77f25fffda32d96e6494e2246bab3,COLLECTIONS-444,https://issues.apache.org/jira/browse/COLLECTIONS-444,2.0.0,JVM8-NonReproducable +20,89ebfe8f921be807d40b3cecc504b05d56c0d898,b88692f83a938e31fd5f703c99db2a5720cd9f3e,COLLECTIONS-447,https://issues.apache.org/jira/browse/COLLECTIONS-447,2.0.0,JVM8-NonReproducable +21,4b9c68b55a6f82942d32c5149fa0363b8b6b39fc,803a9c6c17efbc98bc9513e6bf7e6900d4dbae2c,COLLECTIONS-310,https://issues.apache.org/jira/browse/COLLECTIONS-310,2.0.0,JVM8-NonReproducable +22,62e69cf4f2fcb3ad8bdc44f75f8a9e3e20ca7337,7df57879c92a467cd71860e6cfe14a04a49fd031,COLLECTIONS-474,https://issues.apache.org/jira/browse/COLLECTIONS-474,2.0.0,JVM8-NonReproducable +23,15ee56bd0f91ef807a3e729ab3410a834ef3fcef,72784c46f6a7d7644398db5c7ac8bd3822c523d4,COLLECTIONS-495,https://issues.apache.org/jira/browse/COLLECTIONS-495,2.0.0,JVM8-NonReproducable +24,72784c46f6a7d7644398db5c7ac8bd3822c523d4,539be680cd2b1a8f6833b28ee0cca22a88161466,COLLECTIONS-496,https://issues.apache.org/jira/browse/COLLECTIONS-496,2.0.0,JVM8-NonReproducable From 06e20460e01f2f1982c08a564cb6f202ff76dc1d Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Wed, 11 Mar 2020 11:34:53 +0100 Subject: [PATCH 03/35] Bug mining creates empty deprecated-bugs.csv file --- framework/bug-mining/create-project.pl | 7 +++++++ framework/bug-mining/promote-to-db.pl | 3 ++- framework/test/test_bug_mining.sh | 6 ++++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/framework/bug-mining/create-project.pl b/framework/bug-mining/create-project.pl index e8a1d0db8..43836deee 100755 --- a/framework/bug-mining/create-project.pl +++ b/framework/bug-mining/create-project.pl @@ -118,8 +118,15 @@ =head1 DESCRIPTION my $core_dir = "$WORK_DIR/framework/core/Project"; system("mkdir -p $project_dir $core_dir $ISSUES_DIR $PATCH_DIR $FAILING_DIR $TRIGGER_DIR $RELEVANT_DIR $MOD_CLASSES $REL_CLASSES"); + +# Create active-bugs.csv and print header +my $active_header = $BUGS_CSV_BUGID.",".$BUGS_CSV_COMMIT_BUGGY.",".$BUGS_CSV_COMMIT_FIXED.",".$BUGS_CSV_ISSUE_ID.",".$BUGS_CSV_ISSUE_URL; system("touch $project_dir/commit-db"); +# Create deprecated-bugs.csv and print header +my $deprecated_header = $active_header.",".$BUGS_CSV_DEPRECATED_WHEN.",".$BUGS_CSV_DEPRECATED_WHY; +system("echo $deprecated_header > $project_dir/deprecated-bugs.csv"); + # Copy module template and set project id and name open(IN, "<$module_template") or die "Cannot open template file: $!"; open(OUT, ">$module_file") or die "Cannot open module file: $!"; diff --git a/framework/bug-mining/promote-to-db.pl b/framework/bug-mining/promote-to-db.pl index 842c627d5..edb0bf147 100755 --- a/framework/bug-mining/promote-to-db.pl +++ b/framework/bug-mining/promote-to-db.pl @@ -41,6 +41,7 @@ =head1 NAME - framework/projects//build.xml.patch - framework/projects//.build.xml - framework/projects//commit-db + - framework/projects//deprecated-bugs.csv - framework/projects//dir-layout.csv - project_repos/.git and updates the project_repos/README file with information of when the project @@ -125,7 +126,7 @@ =head1 OPTIONS "modified_classes/.src", "modified_classes/.test", "patches/.src.patch", "patches/.test.patch", "trigger_tests/", "relevant_tests/"); -my @generic_files_and_directories_to_replace = ("build.xml.patch", "${PID}.build.xml", "lib"); +my @generic_files_and_directories_to_replace = ("build.xml.patch", "${PID}.build.xml", "lib", "deprecated-bugs.csv"); my @generic_files_to_append = ("dependent_tests", "dir-layout.csv"); my @ids = _get_bug_ids($BID); diff --git a/framework/test/test_bug_mining.sh b/framework/test/test_bug_mining.sh index 1d0b94df0..a87d0765c 100755 --- a/framework/test/test_bug_mining.sh +++ b/framework/test/test_bug_mining.sh @@ -92,6 +92,7 @@ test_create_project() { [ -s "$work_dir/$project_build_patch" ] || die "build.xml.patch does not exist or it is empty" [ -s "$work_dir/$project_build_xml" ] || die "Project build file does not exist or it is empty" [ -f "$work_dir/framework/projects/$project_id/commit-db" ] || die "commit-db does not exist" + [ -f "$work_dir/framework/projects/$project_id/deprecated-bugs.csv" ] || die "deprecated-bugs.csv does not exist" [ -s "$work_dir/project_repos/README" ] || die "README file in $work_dir/project_repos does not exist or it is empty" # Check whether content of expected files is correct @@ -358,8 +359,9 @@ test_promote_to_db() { local project_build_xml="projects/$project_id/$project_id.build.xml" _check_output "$HERE/../$project_build_xml" "$work_dir/framework/$project_build_xml" - [ -s "$HERE/../projects/$project_id/commit-db" ] || die "Commit-db does not exit or it is empty" - [ -s "$HERE/../projects/$project_id/dir-layout.csv" ] || die "dir-layout.csv does not exit or it is empty" + [ -s "$HERE/../projects/$project_id/commit-db" ] || die "Commit-db does not exist or it is empty" + [ -s "$HERE/../projects/$project_id/deprecated-bugs.csv" ] || die "deprecated-bugs.csv does not exist or it is missing the header" + [ -s "$HERE/../projects/$project_id/dir-layout.csv" ] || die "dir-layout.csv does not exist or it is empty" } # From ee8c71bc6dd7d1dd7d63b76886c4420fbb5fceca Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Wed, 11 Mar 2020 13:07:17 +0100 Subject: [PATCH 04/35] Adds a header to the commit-db, and modifies framework to handle the header --- framework/bug-mining/create-project.pl | 2 +- .../bug-mining/initialize-project-and-collect-issues.pl | 3 +++ framework/bug-mining/promote-to-db.pl | 7 +++++++ framework/bug-mining/vcs-log-xref.pl | 2 +- framework/core/Utils.pm | 1 + framework/core/Vcs.pm | 2 ++ framework/projects/Chart/commit-db | 1 + framework/projects/Cli/commit-db | 1 + framework/projects/Closure/commit-db | 1 + framework/projects/Codec/commit-db | 1 + framework/projects/Collections/commit-db | 1 + framework/projects/Compress/commit-db | 1 + framework/projects/Csv/commit-db | 1 + framework/projects/Gson/commit-db | 1 + framework/projects/JacksonCore/commit-db | 1 + framework/projects/JacksonDatabind/commit-db | 1 + framework/projects/JacksonXml/commit-db | 1 + framework/projects/Jsoup/commit-db | 1 + framework/projects/JxPath/commit-db | 1 + framework/projects/Lang/commit-db | 1 + framework/projects/Math/commit-db | 1 + framework/projects/Mockito/commit-db | 1 + framework/projects/Time/commit-db | 1 + framework/test/test.include | 2 +- framework/test/test_export_command.sh | 2 +- 25 files changed, 34 insertions(+), 4 deletions(-) diff --git a/framework/bug-mining/create-project.pl b/framework/bug-mining/create-project.pl index 43836deee..a09f52052 100755 --- a/framework/bug-mining/create-project.pl +++ b/framework/bug-mining/create-project.pl @@ -121,7 +121,7 @@ =head1 DESCRIPTION # Create active-bugs.csv and print header my $active_header = $BUGS_CSV_BUGID.",".$BUGS_CSV_COMMIT_BUGGY.",".$BUGS_CSV_COMMIT_FIXED.",".$BUGS_CSV_ISSUE_ID.",".$BUGS_CSV_ISSUE_URL; -system("touch $project_dir/commit-db"); +system("echo $active_header > $project_dir/commit-db"); # Create deprecated-bugs.csv and print header my $deprecated_header = $active_header.",".$BUGS_CSV_DEPRECATED_WHEN.",".$BUGS_CSV_DEPRECATED_WHY; diff --git a/framework/bug-mining/initialize-project-and-collect-issues.pl b/framework/bug-mining/initialize-project-and-collect-issues.pl index 250ff8cff..95d5f5c79 100755 --- a/framework/bug-mining/initialize-project-and-collect-issues.pl +++ b/framework/bug-mining/initialize-project-and-collect-issues.pl @@ -182,6 +182,9 @@ =head1 OPTIONS system("cut -f 2- -d',' $PROJECTS_DIR/$PID/commit-db > $COMMIT_DB_FILE.orig"); # Find all versions that have not been mined system("grep -vFf $COMMIT_DB_FILE.orig $COMMIT_DB_FILE > $COMMIT_DB_FILE.filter && mv $COMMIT_DB_FILE.filter $COMMIT_DB_FILE"); + # Print header to active-bugs.csv + my $active_header = $BUGS_CSV_BUGID.",".$BUGS_CSV_COMMIT_BUGGY.",".$BUGS_CSV_COMMIT_FIXED.",".$BUGS_CSV_ISSUE_ID.",".$BUGS_CSV_ISSUE_URL; + system("echo $active_header > $COMMIT_DB_FILE.new && cat $COMMIT_DB_FILE >> $COMMIT_DB_FILE.new && mv $COMMIT_DB_FILE.new $COMMIT_DB_FILE"); } print("Project $PID has been successfully initialized!\n"); diff --git a/framework/bug-mining/promote-to-db.pl b/framework/bug-mining/promote-to-db.pl index edb0bf147..4a77ad163 100755 --- a/framework/bug-mining/promote-to-db.pl +++ b/framework/bug-mining/promote-to-db.pl @@ -145,6 +145,7 @@ =head1 OPTIONS if (-e $output_commit_db) { open FH, $output_commit_db or die "could not open output commit-db"; my $exists_line = 0; + my $header = ; while (my $line = ) { chomp $line; $line =~ /^(\d+),(.*),(.*),(.*),(.*)$/ or die "could not parse line"; @@ -164,6 +165,12 @@ =head1 OPTIONS print "\t... adding as new commit-id $max_number\n"; open FH, ">>$output_commit_db" or die "could not open output commit-db for writing"; + + # If this is the first bug to be promoted, print the header to the active-bugs.csv file. + if ($max_number == 1) { + print FH $BUGS_CSV_BUGID.",".$BUGS_CSV_COMMIT_BUGGY.",".$BUGS_CSV_COMMIT_FIXED.",".$BUGS_CSV_ISSUE_ID.",".$BUGS_CSV_ISSUE_URL."\n"; + } + print FH "$max_number,$v1,$v2,$issue_id,$issue_url\n"; close FH; for my $rev ($v1, $v2) { diff --git a/framework/bug-mining/vcs-log-xref.pl b/framework/bug-mining/vcs-log-xref.pl index d9fd47a5b..8be31f372 100755 --- a/framework/bug-mining/vcs-log-xref.pl +++ b/framework/bug-mining/vcs-log-xref.pl @@ -188,7 +188,7 @@ =head1 OPTIONS if (scalar keys %commits eq 0) { print("Warning, no commit that matches the regex expression provided has been found\n"); } -open $fh, ">$OUTPUT_FILE" or die "Cannot open ${OUTPUT_FILE}!"; +open $fh, ">>$OUTPUT_FILE" or die "Cannot open ${OUTPUT_FILE}!"; for my $commit_id (sort { $a <=> $b} keys %commits) { my $row = $commits{$commit_id}; print $fh "$commit_id,$row->{'p'},$row->{'c'},$row->{'issue_id'},$row->{'issue_url'}\n"; diff --git a/framework/core/Utils.pm b/framework/core/Utils.pm index 48ca1aaab..5c17811e8 100644 --- a/framework/core/Utils.pm +++ b/framework/core/Utils.pm @@ -440,6 +440,7 @@ sub bug_report_info { my $commit_db = "$PROJECTS_DIR/$pid/commit-db"; open (IN, "<$commit_db") or die "Cannot open $commit_db file: $!"; + my $header = ; while () { chomp; /([^,]+),[^,]+,[^,]+,(.+),(.+)/ or next; diff --git a/framework/core/Vcs.pm b/framework/core/Vcs.pm index 0e756ef96..2a3836d30 100644 --- a/framework/core/Vcs.pm +++ b/framework/core/Vcs.pm @@ -395,6 +395,8 @@ sub _build_db_cache { my $db = shift; open (IN, "<$db") or die "Cannot open commit-db $db: $!"; my $cache = {}; + + my $header = ; while () { chomp; /(\d+),([^,]+),([^,]+)/ or die "Corrupted commit-db!"; diff --git a/framework/projects/Chart/commit-db b/framework/projects/Chart/commit-db index 6cf11b7c1..5be407f21 100644 --- a/framework/projects/Chart/commit-db +++ b/framework/projects/Chart/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 1,2264,2266,983,https://sourceforge.net/p/jfreechart/bugs/983 2,2240,2242,959,https://sourceforge.net/p/jfreechart/bugs/959 3,2225,2227,, diff --git a/framework/projects/Cli/commit-db b/framework/projects/Cli/commit-db index 729a25e30..ffbe36446 100644 --- a/framework/projects/Cli/commit-db +++ b/framework/projects/Cli/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 1,8f46f467a33ace44ccd9f394910940b6c48a3827,b0e1b80b6d4a10a9c9f46539bc4c7a3cce55886e,CLI-13,https://issues.apache.org/jira/browse/CLI-13 2,b0e1b80b6d4a10a9c9f46539bc4c7a3cce55886e,2ff9573ffb08dd52ec3a55a49f2d77a1e94efbdf,CLI-51,https://issues.apache.org/jira/browse/CLI-51 3,85248e8ae52232ed75c2b4c52d4071bdf192db37,d35f2fa7a06457469a617677eeb4c1dc21484006,cli-1,https://issues.apache.org/jira/browse/CLI-1 diff --git a/framework/projects/Closure/commit-db b/framework/projects/Closure/commit-db index 8d3ec0dca..223dad9df 100644 --- a/framework/projects/Closure/commit-db +++ b/framework/projects/Closure/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 1,2353d807058bc2a20af279a480d6652cdf892f4d,1dfad5043a207e032a78ef50c3cba50488bcd300,253,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-253.json 2,61095090415cff7cae4f3645fa76ee7cdd3ee23d,d1cfe67977d8f3aaa85ec20c262171da394d5977,884,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-884.json 3,3cc85c3c37aa8bc834a4a86f91ddeb399d854024,d80fcc04239ab8c4cf781273c4f9bc54cf06f479,864,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-864.json diff --git a/framework/projects/Codec/commit-db b/framework/projects/Codec/commit-db index 016b27558..df19a67f9 100644 --- a/framework/projects/Codec/commit-db +++ b/framework/projects/Codec/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 1,9c0cabead7cf075308b11362172ae1a48d41321c,52d82d1dfff8c2b2ded9d843e0b03017af6d747c,CODEC-65,https://issues.apache.org/jira/browse/CODEC-65 2,2f7454a01e4c2992bffc3d86137e632e80c5027f,b8c2d9d9dc9aab45f83cf49ac93cfa8546e4c08e,CODEC-77,https://issues.apache.org/jira/browse/CODEC-77 3,d7b01850ef418b1d261cdb2029f8f85ab4031553,a5dfe5cbc95d7f3ce0b4829756690c2cb8439f4c,CODEC-84,https://issues.apache.org/jira/browse/CODEC-84 diff --git a/framework/projects/Collections/commit-db b/framework/projects/Collections/commit-db index 54d527872..68bb88152 100644 --- a/framework/projects/Collections/commit-db +++ b/framework/projects/Collections/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 25,7c99c6234c7b403449420b2688fff3d516662591,73d69dfe8677210e44049bc1a2a7d1ff85bc1ca7,COLLECTIONS-566,https://issues.apache.org/jira/browse/COLLECTIONS-566 26,3a9c4718ee0fd2eeef8b3ce151ee829fadbef5ae,f8bd75d37ca12c5d49c1b628c33c0b45e2d082eb,COLLECTIONS-576,https://issues.apache.org/jira/browse/COLLECTIONS-576 27,7a72b1983c03f7b33e397cdfc5e8f0636bcd924e,3eee44cf63b1ebb0da6925e98b3dcc6ef1e4d610,COLLECTIONS-580,https://issues.apache.org/jira/browse/COLLECTIONS-580 diff --git a/framework/projects/Compress/commit-db b/framework/projects/Compress/commit-db index 13f3e82c9..cc3181080 100644 --- a/framework/projects/Compress/commit-db +++ b/framework/projects/Compress/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 1,728b4e814ec88cab556533fa114be0efdde963be,004124ac5dbf5edbf925078652526267468821e7,COMPRESS-28,https://issues.apache.org/jira/browse/COMPRESS-28 2,1cde8827c953a56b2fcabad676f8cf2ddd6ec182,d09177b98f4e956c1d366110f73c3341ea110bee,COMPRESS-11,https://issues.apache.org/jira/browse/COMPRESS-11 3,ddbd61f0e75b7d98873b9a9bf6398218edcfd17b,d170f34fa65e19b604f5a9e04e6ed5f81d35658c,COMPRESS-64,https://issues.apache.org/jira/browse/COMPRESS-64 diff --git a/framework/projects/Csv/commit-db b/framework/projects/Csv/commit-db index e90b2417e..68b5394c9 100644 --- a/framework/projects/Csv/commit-db +++ b/framework/projects/Csv/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 1,0833f45bffd40f44ba6f294d84e9bac8a9ba0a37,de1838ea067f3fbc4c7c21b9eeae077c739ecb73,CSV-75,https://issues.apache.org/jira/browse/CSV-75 2,5744ee8a1698687fe4acc0c269cbbbb1e234b06d,a0d975933d6fe9eb5f359088de43508c1d3109bf,CSV-96,https://issues.apache.org/jira/browse/CSV-96 3,e31980892ce9873047db98ab8ef1b3259607b988,2c6120826245f89fedf2f936ab4a0c3edd8717f3,CSV-58,https://issues.apache.org/jira/browse/CSV-58 diff --git a/framework/projects/Gson/commit-db b/framework/projects/Gson/commit-db index 94f2d130c..774cc3e73 100644 --- a/framework/projects/Gson/commit-db +++ b/framework/projects/Gson/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 1,4413c299ea09c57b94af8647eec901554c2f5c50,c6a4f55d1a9b191dbbd958c366091e567191ccab,40,https://github.com/google/gson/issues/40 2,10714ef0427536b679e9677f8417807e4cce017d,fe101c10bc3597d8e715a31d94d2cc0cc54b660f,719,https://github.com/google/gson/pull/719 3,9e5f86d10b3b3ff4ba0dfe7ba0722c9e640fcc20,64107353a37e623ed1f8fecb4422c24212cf6fe1,624,https://github.com/google/gson/issues/624 diff --git a/framework/projects/JacksonCore/commit-db b/framework/projects/JacksonCore/commit-db index c6054e8fb..8507bc481 100644 --- a/framework/projects/JacksonCore/commit-db +++ b/framework/projects/JacksonCore/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 1,a9e5c9f99bcc16d734251f682758004a3ecc3a1b,b40ac81d4a81736e2b7536b14db4ad070b598d2e,98,https://github.com/FasterXML/jackson-core/issues/98 2,098ece8564ed5d37f483c3bfb45be897ed8974cd,38d6e35d1f1a9b48193804925517500de8efee1f,105,https://github.com/FasterXML/jackson-core/issues/105 3,7ee38785ecdd2f5a56a41302d4482675ce0d7e68,911cca0254267decd90a4b6a9c0610549309a451,111,https://github.com/FasterXML/jackson-core/issues/111 diff --git a/framework/projects/JacksonDatabind/commit-db b/framework/projects/JacksonDatabind/commit-db index 5f19dabaf..23d6dcf1c 100644 --- a/framework/projects/JacksonDatabind/commit-db +++ b/framework/projects/JacksonDatabind/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 1,a1bb6f2dcb82eb9f880f87c480d6086a8e0bee34,88f44d87d4c2251d7cf55d9aa9c3452a397ae19b,223,https://github.com/FasterXML/jackson-databind/issues/223 2,01797b0794ac384f5f5ef49cc0cfab8347ae7930,9c5fec2302237ede0e797c13c0663a6bb52c798c,467,https://github.com/FasterXML/jackson-databind/issues/467 3,fd9b65dc45657bb7cd236df5396b901f36469c76,fa1d99255915f21c868f28307fd6e3adb2029ea0,479,https://github.com/FasterXML/jackson-databind/issues/479 diff --git a/framework/projects/JacksonXml/commit-db b/framework/projects/JacksonXml/commit-db index 4f9a1ae84..aecedaac6 100644 --- a/framework/projects/JacksonXml/commit-db +++ b/framework/projects/JacksonXml/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 1,81f38e1985bdfafdbe02e32dfb5ccb200fc64eae,2d7683ed820116b77cba9b4b290cd7ce7dfa5cf4,180,https://github.com/FasterXML/jackson-dataformat-xml/issues/180 2,a96d27d4c74707965b257b6ecced4d337357545e,37eb331acce08142ad027f127c355f9b462fe9e0,196,https://github.com/FasterXML/jackson-dataformat-xml/issues/196 3,23ab583c46a6a20b0c1232ebb91b16d4058c7502,79a4b57f2bbe08ce46e6dabb0a8b76f4a787141c,204,https://github.com/FasterXML/jackson-dataformat-xml/issues/204 diff --git a/framework/projects/Jsoup/commit-db b/framework/projects/Jsoup/commit-db index 5993bd95c..4fc4c32ca 100644 --- a/framework/projects/Jsoup/commit-db +++ b/framework/projects/Jsoup/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 1,77add7946ea5bca622b1f4f654f97e62f6db1e95,27a52f90a25699bebe23ff1ff94d6db361fdb11d,23,https://github.com/jhy/jsoup/issues/23 2,27a52f90a25699bebe23ff1ff94d6db361fdb11d,bb4ead7c350695c1ed3c52d028090da4d4cecd1e,22,https://github.com/jhy/jsoup/issues/22 3,5599adfa2bd30d9784c1eed07b24a31f458f0a58,0081d162cca8ad23b500b53799195fec644f261b,21,https://github.com/jhy/jsoup/issues/21 diff --git a/framework/projects/JxPath/commit-db b/framework/projects/JxPath/commit-db index 9198cba3a..17b4139a8 100644 --- a/framework/projects/JxPath/commit-db +++ b/framework/projects/JxPath/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 1,932131e698e669cd7e0743a6999eab455f9de6b0,fab38abb27f2f92b9340cfc232eb5517434bf138,JXPATH-12,https://issues.apache.org/jira/browse/JXPATH-12 2,5eb29ba7901ab88e8388095a8696c4ae13a2c163,716c03b3b12ec106974898451b149f6eb79c65da,JXPATH-50,https://issues.apache.org/jira/browse/JXPATH-50 3,34e73b6483b08da2d793eb613520e23c3d6afeb1,984778f3c264df5d608eb9697df2a268122ac66f,JXPATH-68,https://issues.apache.org/jira/browse/JXPATH-68 diff --git a/framework/projects/Lang/commit-db b/framework/projects/Lang/commit-db index fa32e00b8..33bc2855d 100644 --- a/framework/projects/Lang/commit-db +++ b/framework/projects/Lang/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 1,2c454a4ce3fe771098746879b166ede2284b94f4,687b2e62b7c6e81cd9d5c872b7fa9cc8fd3f1509,LANG-747,https://issues.apache.org/jira/browse/LANG-747 3,1f001d06a2bde5ee4e3204ab38c4b1db8e95db0b,2c9c8753165dc7ce5dd1d5a6d741b445b33302c2,LANG-693,https://issues.apache.org/jira/browse/LANG-693 4,4ddbd99c5805781bd3c2287ab7920fecc23dab53,fb47b96ab635d7cc6e9edefdddc46f1baf63b117,LANG-882,https://issues.apache.org/jira/browse/LANG-882 diff --git a/framework/projects/Math/commit-db b/framework/projects/Math/commit-db index 2ffa3cb5c..7f0806e07 100644 --- a/framework/projects/Math/commit-db +++ b/framework/projects/Math/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 1,1780da711d88f669e29e0517f83d692fb80099db,0da657a65c92b086a301a6ffe9e34ec272f8889c,MATH-996,https://issues.apache.org/jira/browse/MATH-996 2,ad5c90bbabdbce834068bc79d3eb00c823e97008,c0b655ace5665c0cd32e3f5e5b46edad4d223125,MATH-1021,https://issues.apache.org/jira/browse/MATH-1021 3,de4209544270def43e39db0d214d1564939f8e40,92c4697300e8ddf06152bc0838c738d50673c1d2,MATH-1005,https://issues.apache.org/jira/browse/MATH-1005 diff --git a/framework/projects/Mockito/commit-db b/framework/projects/Mockito/commit-db index c1bdb32dd..f54e3f55d 100644 --- a/framework/projects/Mockito/commit-db +++ b/framework/projects/Mockito/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 1,837fd054a0da2c8706732dcd4bc880a64b957c78,4e9d7607825c3c668fd43f19507bfead566c528c,188,https://github.com/mockito/mockito/issues/188 2,d30450fa1172d79cc051b2fe8064744c2ac7a003,80452c7a42777513c35fd30c4e12bcd7ee438fb9,197,https://github.com/mockito/mockito/issues/197 3,4e9d7607825c3c668fd43f19507bfead566c528c,3eec7451d6c83c280743c39b39c77a179abb30f9,188,https://github.com/mockito/mockito/issues/188 diff --git a/framework/projects/Time/commit-db b/framework/projects/Time/commit-db index f8caa139c..82f46d5b2 100644 --- a/framework/projects/Time/commit-db +++ b/framework/projects/Time/commit-db @@ -1,3 +1,4 @@ +BugID,BuggyCommit,FixedCommit,IssueID,IssueURL 1,8612f9e5b88c1bea933ef9ab1e431f5db3006b48,9a62b06be5d0df8e833ff8583398cca386608cac,93,https://github.com/JodaOrg/joda-time/issues/93 2,8d109fe1a999a11b4557536dd96f9210460a5936,8612f9e5b88c1bea933ef9ab1e431f5db3006b48,93,https://github.com/JodaOrg/joda-time/issues/93 3,3ba9ba799b3261b7332a467a88be142c83b298fd,8d109fe1a999a11b4557536dd96f9210460a5936,77,https://github.com/JodaOrg/joda-time/issues/77 diff --git a/framework/test/test.include b/framework/test/test.include index c56ab890b..df8de340e 100755 --- a/framework/test/test.include +++ b/framework/test/test.include @@ -102,7 +102,7 @@ num_lines() { # get_bugs_ids get_bug_ids() { [ $# -eq 1 ] || die "usage: ${FUNCNAME[0]} " - cut -f1 -d',' $1 | tr '\n' ' ' + tail -n +2 $1 | cut -f1 -d',' | tr '\n' ' ' } diff --git a/framework/test/test_export_command.sh b/framework/test/test_export_command.sh index 0e0fd23f1..8d8b0528e 100755 --- a/framework/test/test_export_command.sh +++ b/framework/test/test_export_command.sh @@ -46,7 +46,7 @@ test_ExportTestClassesDir() { rm -rf "$test_dir"; mkdir -p "$test_dir" # Iterate over all bugs - local bids=$(cut -f1 -d',' "$BASE_DIR/framework/projects/$pid/commit-db") + local bids=$(tail -n +2 "$BASE_DIR/framework/projects/$pid/commit-db" | cut -f1 -d',') for bid in $bids; do local work_dir="$test_dir/$pid/$bid" mkdir -p "$work_dir" From 1c440cec38fa7d9916fc1a192092e9dbc106f4a8 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Wed, 11 Mar 2020 13:34:29 +0100 Subject: [PATCH 05/35] Refactors commit-db into active-bugs.csv --- .../bug-mining/Patch-Minimization-Guide.md | 6 ++--- framework/bug-mining/README.md | 14 ++++++------ framework/bug-mining/analyze-project.pl | 6 ++--- framework/bug-mining/create-project.pl | 4 ++-- framework/bug-mining/get-metadata.pl | 2 +- framework/bug-mining/get-trigger.pl | 2 +- .../initialize-project-and-collect-issues.pl | 4 ++-- framework/bug-mining/initialize-revisions.pl | 2 +- framework/bug-mining/promote-to-db.pl | 10 ++++----- framework/core/Project.pm | 2 +- framework/core/Project/Chart.pm | 2 +- framework/core/Project/Cli.pm | 2 +- framework/core/Project/Closure.pm | 2 +- framework/core/Project/Codec.pm | 2 +- framework/core/Project/Collections.pm | 2 +- framework/core/Project/Compress.pm | 2 +- framework/core/Project/Csv.pm | 2 +- framework/core/Project/Gson.pm | 2 +- framework/core/Project/JacksonCore.pm | 2 +- framework/core/Project/JacksonDatabind.pm | 2 +- framework/core/Project/JacksonXml.pm | 2 +- framework/core/Project/Jsoup.pm | 2 +- framework/core/Project/JxPath.pm | 2 +- framework/core/Project/Lang.pm | 2 +- framework/core/Project/Math.pm | 2 +- framework/core/Project/Mockito.pm | 2 +- framework/core/Project/Time.pm | 2 +- framework/core/Project/template | 2 +- framework/core/Utils.pm | 2 +- framework/core/Vcs.pm | 22 +++++++++---------- .../Chart/{commit-db => active-bugs.csv} | 0 .../Cli/{commit-db => active-bugs.csv} | 0 .../Closure/{commit-db => active-bugs.csv} | 0 .../Codec/{commit-db => active-bugs.csv} | 0 .../{commit-db => active-bugs.csv} | 0 .../Compress/{commit-db => active-bugs.csv} | 0 .../Csv/{commit-db => active-bugs.csv} | 0 .../Gson/{commit-db => active-bugs.csv} | 0 .../{commit-db => active-bugs.csv} | 0 .../{commit-db => active-bugs.csv} | 0 .../JacksonXml/{commit-db => active-bugs.csv} | 0 .../Jsoup/{commit-db => active-bugs.csv} | 0 .../JxPath/{commit-db => active-bugs.csv} | 0 .../Lang/{commit-db => active-bugs.csv} | 0 .../Math/{commit-db => active-bugs.csv} | 0 .../Mockito/{commit-db => active-bugs.csv} | 0 .../Time/{commit-db => active-bugs.csv} | 0 framework/test/jobs_gen_tests.pl | 2 +- framework/test/jobs_verify_bugs.pl | 2 +- .../framework/core/Project/TestCodec.pm | 2 +- framework/test/test.include | 6 ++--- framework/test/test_bug_mining.sh | 16 +++++++------- framework/test/test_export_command.sh | 2 +- framework/test/test_gen_tests.sh | 8 +++---- framework/test/test_verify_bugs.sh | 8 +++---- 55 files changed, 79 insertions(+), 79 deletions(-) rename framework/projects/Chart/{commit-db => active-bugs.csv} (100%) rename framework/projects/Cli/{commit-db => active-bugs.csv} (100%) rename framework/projects/Closure/{commit-db => active-bugs.csv} (100%) rename framework/projects/Codec/{commit-db => active-bugs.csv} (100%) rename framework/projects/Collections/{commit-db => active-bugs.csv} (100%) rename framework/projects/Compress/{commit-db => active-bugs.csv} (100%) rename framework/projects/Csv/{commit-db => active-bugs.csv} (100%) rename framework/projects/Gson/{commit-db => active-bugs.csv} (100%) rename framework/projects/JacksonCore/{commit-db => active-bugs.csv} (100%) rename framework/projects/JacksonDatabind/{commit-db => active-bugs.csv} (100%) rename framework/projects/JacksonXml/{commit-db => active-bugs.csv} (100%) rename framework/projects/Jsoup/{commit-db => active-bugs.csv} (100%) rename framework/projects/JxPath/{commit-db => active-bugs.csv} (100%) rename framework/projects/Lang/{commit-db => active-bugs.csv} (100%) rename framework/projects/Math/{commit-db => active-bugs.csv} (100%) rename framework/projects/Mockito/{commit-db => active-bugs.csv} (100%) rename framework/projects/Time/{commit-db => active-bugs.csv} (100%) diff --git a/framework/bug-mining/Patch-Minimization-Guide.md b/framework/bug-mining/Patch-Minimization-Guide.md index 75a25c5cd..af15c842a 100644 --- a/framework/bug-mining/Patch-Minimization-Guide.md +++ b/framework/bug-mining/Patch-Minimization-Guide.md @@ -27,8 +27,8 @@ Keep in mind that each patch in `framework/projects/PROJECTNAME/patches/` is a r Proper minimization requires an understanding of *what* the fault in the code means, and how it affects the system. Three key pieces of information should guide your minimization: -* The bug report: The `commit-db` includes a link to the bug report (or, in some cases, a pull request). -* The commit message: The `commit-db` includes the hash of the commit that fixes the bug. The commit message often explains what was changed and *why*. +* The bug report: The `active-bugs.csv` includes a link to the bug report (or, in some cases, a pull request). +* The commit message: The `active-bugs.csv` includes the hash of the commit that fixes the bug. The commit message often explains what was changed and *why*. * The trigger tests: Each fault has a set of trigger tests -- tests that fail on the buggy version and pass on the fixed version. The trigger test file lists the failing tests and, for each, includes the stack trace of the failing test case. @@ -77,7 +77,7 @@ Code refactoring may consist of one or more of the following: * Example 2: Collections-71 contains several tab changes (refactorings) that result in an unnecessarily large patch. See [Collections-71 non-minimized](https://github.com/rjust/defects4j/blob/master/framework/bug-mining/code-example/col.71.preminimized.patch) vs. [Collections-71 minimized](https://github.com/rjust/defects4j/blob/master/framework/bug-mining/code-example/col.71.minimized.patch) 2. __Comments__ - Comments could be considered as part of the bug fix: a developer may want to associate a comment with a bug fix and therefore include it in the pure bug-fixing patch. However, a researcher may want to ignore comments when reasoning about or analyzing a bug-fixing patch. Therefore, we remove all changes to comments or documentation from the patch. This information can be seen by directly examining the commits, as offered in the `commit-db`. + Comments could be considered as part of the bug fix: a developer may want to associate a comment with a bug fix and therefore include it in the pure bug-fixing patch. However, a researcher may want to ignore comments when reasoning about or analyzing a bug-fixing patch. Therefore, we remove all changes to comments or documentation from the patch. This information can be seen by directly examining the commits, as offered in the `active-bugs.csv`. 3. __Sementically-equivalent changes__ Changes that do not alter the visible program behavor -- those that are semantically equivalent across program versions -- can be removed. These changes will have no effect on the bug as they produce the same output before and after the change. diff --git a/framework/bug-mining/README.md b/framework/bug-mining/README.md index a1b034bec..1df0a764d 100644 --- a/framework/bug-mining/README.md +++ b/framework/bug-mining/README.md @@ -73,7 +73,7 @@ BUG_FIX_REGEX="/(CODEC-\d+)/mi" The following table reports the issue trackers, issue tracker project IDs, and regular expressions previously used in `Defects4J` (note that we manually built -the `commit-db` for Chart): +the `active-bugs.csv` for Chart): | Project ID | Issue tracker | Issue tracker project ID | Regexp | |------------|---------------|--------------------------|---------------------------| @@ -115,7 +115,7 @@ This script performs 3 tasks: `$WORK_DIR/issues.txt`. 3. Performs a cross-reference of commit log and the issue ids, and creates a - `commit-db` with all commits hashes for all issues ids that have been + `active-bugs.csv` with all commits hashes for all issues ids that have been reported in the issue tracker. @@ -124,7 +124,7 @@ This script performs 3 tasks: 1. Initialize all project revisions with `initialize-revisions.pl`. This script will identify the various directory layouts and run a sanity check on each - candidate revision in `commit-db`: + candidate revision in `active-bugs.csv`: ```bash ./initialize-revisions.pl -p $PROJECT_ID -w $WORK_DIR @@ -203,8 +203,8 @@ a revision fails. `-b `. 4. If particular revisions cannot be built, often due to dependencies that no - longer exist, then they may be removed from the `commit-db`. It is - recommended to keep a backup of the commit-db until the entire bug mining + longer exist, then they may be removed from the `active-bugs.csv`. It is + recommended to keep a backup of the active-bugs.csv until the entire bug mining process is complete. 5. Upon completion of this stage, inspect all stack traces in the files that are @@ -218,7 +218,7 @@ a revision fails. ## Reproducing bugs 1. Determine triggering tests with the `get-trigger.pl` script. This will - determine the revisions in `commit-db` that have a test that can reproduce a + determine the revisions in `active-bugs.csv` that have a test that can reproduce a fault: ```bash @@ -320,7 +320,7 @@ Terms commonly used in Defects4J - `VCS`: Version control system (e.g., git, mercurial, or subversion; all VCS abstractions in Defects4J inherit from Vcs.pm). - `Rev ID`: A VCS-specific revision id (e.g., a git commit hash). -- `commit-db`: A csv file, per project, that maps each BID to the revision ids +- `active-bugs.csv`: A csv file, per project, that maps each BID to the revision ids of the pre-fix and post-fix revision. diff --git a/framework/bug-mining/analyze-project.pl b/framework/bug-mining/analyze-project.pl index aa524cf83..9856c4ff4 100755 --- a/framework/bug-mining/analyze-project.pl +++ b/framework/bug-mining/analyze-project.pl @@ -26,7 +26,7 @@ =head1 NAME -analyze-project.pl -- Determine all suitable candidates listed in the commit-db. +analyze-project.pl -- Determine all suitable candidates listed in the active-bugs.csv. =head1 SYNOPSIS @@ -57,13 +57,13 @@ =head1 OPTIONS =item B<-b C> Only analyze this bug id. The bug_id has to follow the format B<(\d+)(:(\d+))?>. -Per default all bug ids, listed in the commit-db, are considered. +Per default all bug ids, listed in the active-bugs.csv, are considered. =back =head1 DESCRIPTION -Runs the following worflow for all candidate bugs in the project's C, +Runs the following worflow for all candidate bugs in the project's C, or (if -b is specified) for a subset of candidates: =over 4 diff --git a/framework/bug-mining/create-project.pl b/framework/bug-mining/create-project.pl index a09f52052..ecfa8915c 100755 --- a/framework/bug-mining/create-project.pl +++ b/framework/bug-mining/create-project.pl @@ -101,7 +101,7 @@ =head1 DESCRIPTION # Directory to which the remote repository is cloned. my $repo_dir = "$WORK_DIR/project_repos"; -# Initialize working directory and create empty commit-db +# Initialize working directory and create empty active-bugs.csv my $project_dir = "$WORK_DIR/framework/projects/$PID"; my $ISSUES_DIR = "$WORK_DIR/issues"; @@ -121,7 +121,7 @@ =head1 DESCRIPTION # Create active-bugs.csv and print header my $active_header = $BUGS_CSV_BUGID.",".$BUGS_CSV_COMMIT_BUGGY.",".$BUGS_CSV_COMMIT_FIXED.",".$BUGS_CSV_ISSUE_ID.",".$BUGS_CSV_ISSUE_URL; -system("echo $active_header > $project_dir/commit-db"); +system("echo $active_header > $project_dir/active-bugs.csv"); # Create deprecated-bugs.csv and print header my $deprecated_header = $active_header.",".$BUGS_CSV_DEPRECATED_WHEN.",".$BUGS_CSV_DEPRECATED_WHY; diff --git a/framework/bug-mining/get-metadata.pl b/framework/bug-mining/get-metadata.pl index 669ee610e..8c033d1c1 100755 --- a/framework/bug-mining/get-metadata.pl +++ b/framework/bug-mining/get-metadata.pl @@ -48,7 +48,7 @@ =head1 OPTIONS =item B<-b C> Only analyze this bug id. The bug_id has to follow the format B<(\d+)(:(\d+))?>. -Per default all bug ids, listed in the commit-db, are considered. +Per default all bug ids, listed in the active-bugs.csv, are considered. =back diff --git a/framework/bug-mining/get-trigger.pl b/framework/bug-mining/get-trigger.pl index d4e8a32cb..d9cf034d2 100755 --- a/framework/bug-mining/get-trigger.pl +++ b/framework/bug-mining/get-trigger.pl @@ -48,7 +48,7 @@ =head1 OPTIONS =item B<-b C> Only analyze this bug id. The bug_id has to follow the format B<(\d+)(:(\d+))?>. -Per default all bug ids, listed in the commit-db, are considered. +Per default all bug ids, listed in the active-bugs.csv, are considered. =head1 DESCRIPTION diff --git a/framework/bug-mining/initialize-project-and-collect-issues.pl b/framework/bug-mining/initialize-project-and-collect-issues.pl index 95d5f5c79..d7af6d2f8 100755 --- a/framework/bug-mining/initialize-project-and-collect-issues.pl +++ b/framework/bug-mining/initialize-project-and-collect-issues.pl @@ -132,7 +132,7 @@ =head1 OPTIONS my $REGEXP = $cmd_opts{e}; my $GIT_LOG_FILE = "$WORK_DIR/gitlog"; my $REPOSITORY_DIR = "$WORK_DIR/project_repos/$NAME.git"; -my $COMMIT_DB_FILE = "$WORK_DIR/framework/projects/$PID/commit-db"; +my $COMMIT_DB_FILE = "$WORK_DIR/framework/projects/$PID/active-bugs.csv"; my $VCS_TYPE = $cmd_opts{v} // "git"; # Configure project for Defects4J @@ -179,7 +179,7 @@ =head1 OPTIONS # have already been mined. if (-e "$CORE_DIR/Project/$PID.pm") { # Remove exiting ids - system("cut -f 2- -d',' $PROJECTS_DIR/$PID/commit-db > $COMMIT_DB_FILE.orig"); + system("tail -n +2 $PROJECTS_DIR/$PID/active-bugs.csv | cut -f 2- -d',' > $COMMIT_DB_FILE.orig"); # Find all versions that have not been mined system("grep -vFf $COMMIT_DB_FILE.orig $COMMIT_DB_FILE > $COMMIT_DB_FILE.filter && mv $COMMIT_DB_FILE.filter $COMMIT_DB_FILE"); # Print header to active-bugs.csv diff --git a/framework/bug-mining/initialize-revisions.pl b/framework/bug-mining/initialize-revisions.pl index 448cb5230..06cbfd92a 100755 --- a/framework/bug-mining/initialize-revisions.pl +++ b/framework/bug-mining/initialize-revisions.pl @@ -52,7 +52,7 @@ =head1 OPTIONS =item B<-b C> Only analyze this bug id. The bug_id has to follow the format B<(\d+)(:(\d+))?>. -Per default all bug ids, listed in the commit-db, are considered. +Per default all bug ids, listed in the active-bugs.csv, are considered. =back diff --git a/framework/bug-mining/promote-to-db.pl b/framework/bug-mining/promote-to-db.pl index 4a77ad163..bf6904765 100755 --- a/framework/bug-mining/promote-to-db.pl +++ b/framework/bug-mining/promote-to-db.pl @@ -40,7 +40,7 @@ =head1 NAME - framework/projects//trigger_tests - framework/projects//build.xml.patch - framework/projects//.build.xml - - framework/projects//commit-db + - framework/projects//active-bugs.csv - framework/projects//deprecated-bugs.csv - framework/projects//dir-layout.csv - project_repos/.git @@ -62,7 +62,7 @@ =head1 OPTIONS =item B<-b C> Only analyze this bug id. The bug_id has to follow the format B<(\d+)(:(\d+))?>. -Per default all bug ids, listed in the commit-db, are considered. +Per default all bug ids, listed in the active-bugs.csv, are considered. =item B<-w C> @@ -141,9 +141,9 @@ =head1 OPTIONS # find number my $max_number = 0; - my $output_commit_db = "$OUTPUT_DIR/$PID/commit-db"; + my $output_commit_db = "$OUTPUT_DIR/$PID/active-bugs.csv"; if (-e $output_commit_db) { - open FH, $output_commit_db or die "could not open output commit-db"; + open FH, $output_commit_db or die "could not open output active-bugs.csv"; my $exists_line = 0; my $header = ; while (my $line = ) { @@ -164,7 +164,7 @@ =head1 OPTIONS ++$max_number; print "\t... adding as new commit-id $max_number\n"; - open FH, ">>$output_commit_db" or die "could not open output commit-db for writing"; + open FH, ">>$output_commit_db" or die "could not open output active-bugs.csv for writing"; # If this is the first bug to be promoted, print the header to the active-bugs.csv file. if ($max_number == 1) { diff --git a/framework/core/Project.pm b/framework/core/Project.pm index bb8abcc2b..47f5cfd24 100644 --- a/framework/core/Project.pm +++ b/framework/core/Project.pm @@ -51,7 +51,7 @@ A specific project instance can be created with C. my $name = "my-project-name"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db"); + "$PROJECTS_DIR/$PID/active-bugs.csv"); return $class->SUPER::new($PID, $name, $vcs); } diff --git a/framework/core/Project/Chart.pm b/framework/core/Project/Chart.pm index cbebfc32d..448b587ae 100644 --- a/framework/core/Project/Chart.pm +++ b/framework/core/Project/Chart.pm @@ -50,7 +50,7 @@ sub new { my $name = "jfreechart"; my $vcs = Vcs::Svn->new($PID, "file://$REPO_DIR/$name/trunk", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Cli.pm b/framework/core/Project/Cli.pm index b316d56b6..71e15dc15 100644 --- a/framework/core/Project/Cli.pm +++ b/framework/core/Project/Cli.pm @@ -51,7 +51,7 @@ sub new { my $name = "commons-cli"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Closure.pm b/framework/core/Project/Closure.pm index fb02abef3..ae48cd750 100644 --- a/framework/core/Project/Closure.pm +++ b/framework/core/Project/Closure.pm @@ -50,7 +50,7 @@ sub new { my $name = "closure-compiler"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Codec.pm b/framework/core/Project/Codec.pm index 06bb74d32..ec09e8e83 100644 --- a/framework/core/Project/Codec.pm +++ b/framework/core/Project/Codec.pm @@ -51,7 +51,7 @@ sub new { my $name = "commons-codec"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Collections.pm b/framework/core/Project/Collections.pm index 70b5a8202..b7d764fb5 100644 --- a/framework/core/Project/Collections.pm +++ b/framework/core/Project/Collections.pm @@ -51,7 +51,7 @@ sub new { my $name = "commons-collections"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Compress.pm b/framework/core/Project/Compress.pm index e72e1db80..01a500694 100644 --- a/framework/core/Project/Compress.pm +++ b/framework/core/Project/Compress.pm @@ -50,7 +50,7 @@ sub new { my $name = "commons-compress"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Csv.pm b/framework/core/Project/Csv.pm index f81ae66ea..ee4f0dfb1 100644 --- a/framework/core/Project/Csv.pm +++ b/framework/core/Project/Csv.pm @@ -51,7 +51,7 @@ sub new { my $name = "commons-csv"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Gson.pm b/framework/core/Project/Gson.pm index 2dc6aa6df..1777596af 100644 --- a/framework/core/Project/Gson.pm +++ b/framework/core/Project/Gson.pm @@ -50,7 +50,7 @@ sub new { my $name = "gson"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/JacksonCore.pm b/framework/core/Project/JacksonCore.pm index 794531e71..e422778e9 100644 --- a/framework/core/Project/JacksonCore.pm +++ b/framework/core/Project/JacksonCore.pm @@ -51,7 +51,7 @@ sub new { my $name = "jackson-core"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/JacksonDatabind.pm b/framework/core/Project/JacksonDatabind.pm index e61ef6130..6d0e868dc 100644 --- a/framework/core/Project/JacksonDatabind.pm +++ b/framework/core/Project/JacksonDatabind.pm @@ -51,7 +51,7 @@ sub new { my $name = "jackson-databind"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/JacksonXml.pm b/framework/core/Project/JacksonXml.pm index 74f3c9c51..5ace8a204 100644 --- a/framework/core/Project/JacksonXml.pm +++ b/framework/core/Project/JacksonXml.pm @@ -51,7 +51,7 @@ sub new { my $name = "jackson-dataformat-xml"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Jsoup.pm b/framework/core/Project/Jsoup.pm index dfa994a3b..65d22e7b8 100644 --- a/framework/core/Project/Jsoup.pm +++ b/framework/core/Project/Jsoup.pm @@ -50,7 +50,7 @@ sub new { my $name = "jsoup"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/JxPath.pm b/framework/core/Project/JxPath.pm index 249a70128..68680d8d9 100644 --- a/framework/core/Project/JxPath.pm +++ b/framework/core/Project/JxPath.pm @@ -51,7 +51,7 @@ sub new { my $name = "commons-jxpath"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Lang.pm b/framework/core/Project/Lang.pm index 1dc552fe3..da1706805 100644 --- a/framework/core/Project/Lang.pm +++ b/framework/core/Project/Lang.pm @@ -50,7 +50,7 @@ sub new { my $name = "commons-lang"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Math.pm b/framework/core/Project/Math.pm index 6310819d2..4fdc80c4d 100644 --- a/framework/core/Project/Math.pm +++ b/framework/core/Project/Math.pm @@ -50,7 +50,7 @@ sub new { my $name = "commons-math"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db"); + "$PROJECTS_DIR/$PID/active-bugs.csv"); return $class->SUPER::new($PID, $name, $vcs); } diff --git a/framework/core/Project/Mockito.pm b/framework/core/Project/Mockito.pm index 9cbdfa466..08d83b68f 100644 --- a/framework/core/Project/Mockito.pm +++ b/framework/core/Project/Mockito.pm @@ -50,7 +50,7 @@ sub new { my $name = "mockito"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Time.pm b/framework/core/Project/Time.pm index 8ff7b6035..02f2b428e 100644 --- a/framework/core/Project/Time.pm +++ b/framework/core/Project/Time.pm @@ -53,7 +53,7 @@ sub new { my $name = "joda-time"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/template b/framework/core/Project/template index 2ec6f7f29..b78f01e3f 100644 --- a/framework/core/Project/template +++ b/framework/core/Project/template @@ -50,7 +50,7 @@ sub new { my $name = ""; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Utils.pm b/framework/core/Utils.pm index 5c17811e8..f59f1bb5b 100644 --- a/framework/core/Utils.pm +++ b/framework/core/Utils.pm @@ -438,7 +438,7 @@ sub bug_report_info { my $bug_report_info = {id=>"NA", url=>"NA"}; - my $commit_db = "$PROJECTS_DIR/$pid/commit-db"; + my $commit_db = "$PROJECTS_DIR/$pid/active-bugs.csv"; open (IN, "<$commit_db") or die "Cannot open $commit_db file: $!"; my $header = ; while () { diff --git a/framework/core/Vcs.pm b/framework/core/Vcs.pm index 2a3836d30..27fef0a08 100644 --- a/framework/core/Vcs.pm +++ b/framework/core/Vcs.pm @@ -123,15 +123,15 @@ A Vcs object has to be instantiated with: =item * Repository url -=item * File name of the commit database (commit-db), see below for details +=item * File name of the commit database (active-bugs.csv), see below for details =item * Reference to post-checkout hook (optional) -- if provided, this method is called after each checkout. =back -=head2 commit-db +=head2 active-bugs.csv -The commit-db (csv) file has the structure: C. +The active-bugs.csv (csv) file has the structure: C. Example for Svn: @@ -165,7 +165,7 @@ sub new { $vcs->lookup(vid) -Queries the commit database (commit-db) and returns the C for +Queries the commit database (active-bugs.csv) and returns the C for the given version id C. Format of C: C<\d+[bf]>. =cut @@ -198,7 +198,7 @@ sub lookup_vid { $vcs->num_revision_pairs() -Returns the number of revision pairs in the C. +Returns the number of revision pairs in the C. =cut sub num_revision_pairs { @@ -210,7 +210,7 @@ sub num_revision_pairs { $project->get_bug_ids() -Returns an array of all bug ids in the C. +Returns an array of all bug ids in the C. =cut sub get_bug_ids { @@ -223,7 +223,7 @@ sub get_bug_ids { $vcs->B C), this subroutine returns true if C exists -in the C and false otherwise. +in the C and false otherwise. Format of C: C<\d+[bf]> This subroutine dies if C is invalid. @@ -239,7 +239,7 @@ sub contains_version_id { $vcs->checkout_vid(vid, work_dir) -Performs a lookup of C in the C followed by a checkout of +Performs a lookup of C in the C followed by a checkout of the corresponding revision with C to F. Format of C: C<\d+[bf]>. @@ -389,17 +389,17 @@ sub rev_date { # Helper subroutines # -# Read commit-db and build cache +# Read active-bugs.csv and build cache # sub _build_db_cache { my $db = shift; - open (IN, "<$db") or die "Cannot open commit-db $db: $!"; + open (IN, "<$db") or die "Cannot open active-bugs.csv $db: $!"; my $cache = {}; my $header = ; while () { chomp; - /(\d+),([^,]+),([^,]+)/ or die "Corrupted commit-db!"; + /(\d+),([^,]+),([^,]+)/ or die "Corrupted active-bugs.csv!"; $cache->{$1} = {b => $2, f => $3, line => $_}; } close IN; diff --git a/framework/projects/Chart/commit-db b/framework/projects/Chart/active-bugs.csv similarity index 100% rename from framework/projects/Chart/commit-db rename to framework/projects/Chart/active-bugs.csv diff --git a/framework/projects/Cli/commit-db b/framework/projects/Cli/active-bugs.csv similarity index 100% rename from framework/projects/Cli/commit-db rename to framework/projects/Cli/active-bugs.csv diff --git a/framework/projects/Closure/commit-db b/framework/projects/Closure/active-bugs.csv similarity index 100% rename from framework/projects/Closure/commit-db rename to framework/projects/Closure/active-bugs.csv diff --git a/framework/projects/Codec/commit-db b/framework/projects/Codec/active-bugs.csv similarity index 100% rename from framework/projects/Codec/commit-db rename to framework/projects/Codec/active-bugs.csv diff --git a/framework/projects/Collections/commit-db b/framework/projects/Collections/active-bugs.csv similarity index 100% rename from framework/projects/Collections/commit-db rename to framework/projects/Collections/active-bugs.csv diff --git a/framework/projects/Compress/commit-db b/framework/projects/Compress/active-bugs.csv similarity index 100% rename from framework/projects/Compress/commit-db rename to framework/projects/Compress/active-bugs.csv diff --git a/framework/projects/Csv/commit-db b/framework/projects/Csv/active-bugs.csv similarity index 100% rename from framework/projects/Csv/commit-db rename to framework/projects/Csv/active-bugs.csv diff --git a/framework/projects/Gson/commit-db b/framework/projects/Gson/active-bugs.csv similarity index 100% rename from framework/projects/Gson/commit-db rename to framework/projects/Gson/active-bugs.csv diff --git a/framework/projects/JacksonCore/commit-db b/framework/projects/JacksonCore/active-bugs.csv similarity index 100% rename from framework/projects/JacksonCore/commit-db rename to framework/projects/JacksonCore/active-bugs.csv diff --git a/framework/projects/JacksonDatabind/commit-db b/framework/projects/JacksonDatabind/active-bugs.csv similarity index 100% rename from framework/projects/JacksonDatabind/commit-db rename to framework/projects/JacksonDatabind/active-bugs.csv diff --git a/framework/projects/JacksonXml/commit-db b/framework/projects/JacksonXml/active-bugs.csv similarity index 100% rename from framework/projects/JacksonXml/commit-db rename to framework/projects/JacksonXml/active-bugs.csv diff --git a/framework/projects/Jsoup/commit-db b/framework/projects/Jsoup/active-bugs.csv similarity index 100% rename from framework/projects/Jsoup/commit-db rename to framework/projects/Jsoup/active-bugs.csv diff --git a/framework/projects/JxPath/commit-db b/framework/projects/JxPath/active-bugs.csv similarity index 100% rename from framework/projects/JxPath/commit-db rename to framework/projects/JxPath/active-bugs.csv diff --git a/framework/projects/Lang/commit-db b/framework/projects/Lang/active-bugs.csv similarity index 100% rename from framework/projects/Lang/commit-db rename to framework/projects/Lang/active-bugs.csv diff --git a/framework/projects/Math/commit-db b/framework/projects/Math/active-bugs.csv similarity index 100% rename from framework/projects/Math/commit-db rename to framework/projects/Math/active-bugs.csv diff --git a/framework/projects/Mockito/commit-db b/framework/projects/Mockito/active-bugs.csv similarity index 100% rename from framework/projects/Mockito/commit-db rename to framework/projects/Mockito/active-bugs.csv diff --git a/framework/projects/Time/commit-db b/framework/projects/Time/active-bugs.csv similarity index 100% rename from framework/projects/Time/commit-db rename to framework/projects/Time/active-bugs.csv diff --git a/framework/test/jobs_gen_tests.pl b/framework/test/jobs_gen_tests.pl index 35e566637..7f6a40d8a 100755 --- a/framework/test/jobs_gen_tests.pl +++ b/framework/test/jobs_gen_tests.pl @@ -34,7 +34,7 @@ =head1 SYNOPSIS =head1 DESCRIPTION -Parses all commit-db files and outputs a list of invocations of the +Parses all active-bugs.csv files and outputs a list of invocations of the test_gen_tests.sh script. Running this list of jobs, e.g., using GNU parallel, runs every supported test generator on every bug. diff --git a/framework/test/jobs_verify_bugs.pl b/framework/test/jobs_verify_bugs.pl index 044d72484..39195370d 100755 --- a/framework/test/jobs_verify_bugs.pl +++ b/framework/test/jobs_verify_bugs.pl @@ -34,7 +34,7 @@ =head1 SYNOPSIS =head1 DESCRIPTION -Parses all commit-db files and outputs a list of invocations of the +Parses all active-bugs.csv files and outputs a list of invocations of the test_verify_bugs.sh script. Running this list of jobs, e.g., using GNU parallel, reproduces every bug with all available tests. diff --git a/framework/test/resources/output/bug-mining/framework/core/Project/TestCodec.pm b/framework/test/resources/output/bug-mining/framework/core/Project/TestCodec.pm index 4df08fa7e..ec806a31c 100644 --- a/framework/test/resources/output/bug-mining/framework/core/Project/TestCodec.pm +++ b/framework/test/resources/output/bug-mining/framework/core/Project/TestCodec.pm @@ -50,7 +50,7 @@ sub new { my $name = "commons-codec"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/commit-db", + "$PROJECTS_DIR/$PID/active-bugs.csv", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/test/test.include b/framework/test/test.include index df8de340e..0cbc0c19f 100755 --- a/framework/test/test.include +++ b/framework/test/test.include @@ -98,10 +98,10 @@ num_lines() { wc -l < $1 } -# Determine and print all bug ids found in the provided commit-db -# get_bugs_ids +# Determine and print all bug ids found in the provided active-bugs.csv +# get_bugs_ids get_bug_ids() { - [ $# -eq 1 ] || die "usage: ${FUNCNAME[0]} " + [ $# -eq 1 ] || die "usage: ${FUNCNAME[0]} " tail -n +2 $1 | cut -f1 -d',' | tr '\n' ' ' } diff --git a/framework/test/test_bug_mining.sh b/framework/test/test_bug_mining.sh index a87d0765c..cce7efb8c 100755 --- a/framework/test/test_bug_mining.sh +++ b/framework/test/test_bug_mining.sh @@ -91,7 +91,7 @@ test_create_project() { [ -s "$work_dir/$project_perl_module" ] || die "Project Perl module does not exist or it is empty" [ -s "$work_dir/$project_build_patch" ] || die "build.xml.patch does not exist or it is empty" [ -s "$work_dir/$project_build_xml" ] || die "Project build file does not exist or it is empty" - [ -f "$work_dir/framework/projects/$project_id/commit-db" ] || die "commit-db does not exist" + [ -f "$work_dir/framework/projects/$project_id/active-bugs.csv" ] || die "active-bugs.csv does not exist" [ -f "$work_dir/framework/projects/$project_id/deprecated-bugs.csv" ] || die "deprecated-bugs.csv does not exist" [ -s "$work_dir/project_repos/README" ] || die "README file in $work_dir/project_repos does not exist or it is empty" @@ -137,7 +137,7 @@ test_crossref_commmit_issue() { local git_log_file="$work_dir/gitlog" local repository_dir="$work_dir/project_repos/$project_name.git" local issues_file="$work_dir/issues.txt" - local commit_db_file="$work_dir/framework/projects/$project_id/commit-db" + local commit_db_file="$work_dir/framework/projects/$project_id/active-bugs.csv" git --git-dir=$repository_dir log --reverse > $git_log_file || die "Git log has failed" @@ -191,7 +191,7 @@ test_initialize_revisions() { _check_output "$work_dir/$analyzer_output_dir/includes" "$RESOURCES_OUTPUT_DIR/$analyzer_output_dir/includes" _check_output "$work_dir/$analyzer_output_dir/info" "$RESOURCES_OUTPUT_DIR/$analyzer_output_dir/info" - local commit_db_file="$work_dir/framework/projects/$project_id/commit-db" + local commit_db_file="$work_dir/framework/projects/$project_id/active-bugs.csv" local rev_v1=$(grep "^$bug_id," "$commit_db_file" | cut -f2 -d',') local rev_v2=$(grep "^$bug_id," "$commit_db_file" | cut -f3 -d',') local rev_v1_build_dir="$work_dir/framework/projects/$project_id/build_files/$rev_v1" @@ -229,7 +229,7 @@ test_analyze_project() { ./analyze-project.pl -p $project_id -w $work_dir -g $issue_tracker_name -t $issue_tracker_project_id -b $bug_id || die "Analyze project script has failed" popd > /dev/null 2>&1 - local commit_db_file="$work_dir/framework/projects/$project_id/commit-db" + local commit_db_file="$work_dir/framework/projects/$project_id/active-bugs.csv" local rev_v2=$(grep "^$bug_id," "$commit_db_file" | cut -f3 -d',') local failing_tests="framework/projects/$project_id/failing_tests/$rev_v2" [ -s "$work_dir/$failing_tests" ] || die "No failing test cases has been reported" @@ -325,7 +325,7 @@ test_promote_to_db() { [ -d "$HERE/../projects/$project_id" ] || die "Project directory does not exist" - local commit_db_file="$work_dir/framework/projects/$project_id/commit-db" + local commit_db_file="$work_dir/framework/projects/$project_id/active-bugs.csv" local rev_v1=$(grep "^$bug_id," "$commit_db_file" | cut -f2 -d',') local rev_v2=$(grep "^$bug_id," "$commit_db_file" | cut -f3 -d',') @@ -359,7 +359,7 @@ test_promote_to_db() { local project_build_xml="projects/$project_id/$project_id.build.xml" _check_output "$HERE/../$project_build_xml" "$work_dir/framework/$project_build_xml" - [ -s "$HERE/../projects/$project_id/commit-db" ] || die "Commit-db does not exist or it is empty" + [ -s "$HERE/../projects/$project_id/active-bugs.csv" ] || die "active-bugs.csv does not exist or it is empty" [ -s "$HERE/../projects/$project_id/deprecated-bugs.csv" ] || die "deprecated-bugs.csv does not exist or it is missing the header" [ -s "$HERE/../projects/$project_id/dir-layout.csv" ] || die "dir-layout.csv does not exist or it is empty" } @@ -396,8 +396,8 @@ test_download_issues "$WORK_DIR" "$ISSUE_TRACKER_NAME" "$ISSUE_TRACKER_PROJECT_I test_crossref_commmit_issue "$PROJECT_ID" "$PROJECT_NAME" "$WORK_DIR" "$BUG_FIX_REGEX" || die "Test 'test_crossref_commmit_issue' has failed!" ISSUE_ID="CODEC-231" -grep -q ",$ISSUE_ID," "$WORK_DIR/framework/projects/$PROJECT_ID/commit-db" || die "$ISSUE_ID has not been mined" -BUG_ID=$(grep ",$ISSUE_ID," "$WORK_DIR/framework/projects/$PROJECT_ID/commit-db" | cut -f1 -d',') +grep -q ",$ISSUE_ID," "$WORK_DIR/framework/projects/$PROJECT_ID/active-bugs.csv" || die "$ISSUE_ID has not been mined" +BUG_ID=$(grep ",$ISSUE_ID," "$WORK_DIR/framework/projects/$PROJECT_ID/active-bugs.csv" | cut -f1 -d',') test_initialize_revisions "$PROJECT_ID" "$WORK_DIR" "$BUG_ID" || die "Test 'test_initialize_revisions' has failed!" test_analyze_project "$PROJECT_ID" "$WORK_DIR" "$ISSUE_TRACKER_NAME" "$ISSUE_TRACKER_PROJECT_ID" "$BUG_ID" || die "Test 'test_analyze_project' has failed!" diff --git a/framework/test/test_export_command.sh b/framework/test/test_export_command.sh index 8d8b0528e..1fc8c4ef7 100755 --- a/framework/test/test_export_command.sh +++ b/framework/test/test_export_command.sh @@ -46,7 +46,7 @@ test_ExportTestClassesDir() { rm -rf "$test_dir"; mkdir -p "$test_dir" # Iterate over all bugs - local bids=$(tail -n +2 "$BASE_DIR/framework/projects/$pid/commit-db" | cut -f1 -d',') + local bids=$(tail -n +2 "$BASE_DIR/framework/projects/$pid/active-bugs.csv" | cut -f1 -d',') for bid in $bids; do local work_dir="$test_dir/$pid/$bid" mkdir -p "$work_dir" diff --git a/framework/test/test_gen_tests.sh b/framework/test/test_gen_tests.sh index fcb048fd9..79f24dc60 100755 --- a/framework/test/test_gen_tests.sh +++ b/framework/test/test_gen_tests.sh @@ -60,7 +60,7 @@ init # Run all bugs, unless otherwise specified if [ "$BUGS" == "" ]; then - num_bugs=$(num_lines $BASE_DIR/framework/projects/$PID/commit-db) + num_bugs=$(num_lines $BASE_DIR/framework/projects/$PID/active-bugs.csv) BUGS="$(seq 1 1 $num_bugs)" fi @@ -83,9 +83,9 @@ mkdir -p $work_dir rm -rf "$work_dir/*" for bid in $(echo $BUGS); do - # Skip all bug ids that do not exist in the commit-db - if ! grep -q "^$bid," "$BASE_DIR/framework/projects/$PID/commit-db"; then - warn "Skipping bug ID that is not listed in commit-db: $PID-$bid" + # Skip all bug ids that do not exist in the active-bugs.csv + if ! grep -q "^$bid," "$BASE_DIR/framework/projects/$PID/active-bugs.csv"; then + warn "Skipping bug ID that is not listed in active-bugs.csv: $PID-$bid" continue fi diff --git a/framework/test/test_verify_bugs.sh b/framework/test/test_verify_bugs.sh index d554536b1..4fbc8f8ad 100755 --- a/framework/test/test_verify_bugs.sh +++ b/framework/test/test_verify_bugs.sh @@ -68,7 +68,7 @@ init # Run all bugs, unless otherwise specified if [ "$BUGS" == "" ]; then - BUGS="$(get_bug_ids $BASE_DIR/framework/projects/$PID/commit-db)" + BUGS="$(get_bug_ids $BASE_DIR/framework/projects/$PID/active-bugs.csv)" fi # Create log file @@ -93,9 +93,9 @@ work_dir="$test_dir/$PID" # Clean working directory rm -rf $work_dir for bid in $(echo $BUGS); do - # Skip all bug ids that do not exist in the commit-db - if ! grep -q "^$bid," "$BASE_DIR/framework/projects/$PID/commit-db"; then - warn "Skipping bug ID that is not listed in commit-db: $PID-$bid" + # Skip all bug ids that do not exist in the active-bugs.csv + if ! grep -q "^$bid," "$BASE_DIR/framework/projects/$PID/active-bugs.csv"; then + warn "Skipping bug ID that is not listed in active-bugs.csv: $PID-$bid" continue fi From c032413d7aa3dbdb4fae06daabffcf0717f7d537 Mon Sep 17 00:00:00 2001 From: rjust Date: Wed, 11 Mar 2020 09:42:11 -0700 Subject: [PATCH 06/35] Fixed a typo and improved README. --- README.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index aeb2da71d..e05dd3e64 100644 --- a/README.md +++ b/README.md @@ -31,10 +31,18 @@ Defects4J contains 835 bugs from the following open-source projects: | Time | joda-time | 26 | 1-20,22-27 | 21 | \* Due to behavioral changes introduced under Java 8, some bugs are no longer -reproducible. These bugs have been removed from `active-bugs.csv`, but their -metadata is retained in the project directory, and they can be accessed -through `deprecated.bugs.csv`. As publications using Defects4J artifacts -refer to bugs by their specific bug id, we do not re-number the active bug ids. +reproducible. Hence, Defects4J distinguishes between active and deprecated bugs: + +- Active bugs can be accessed through `active-bugs.csv`. + +- Deprecated bugs are removed from `active-bugs.csv`, but their metadata is + retained in the project directory. + +- Deprecated bugs can be accessed through `deprecated-bugs.csv`, which also + details when and why a bug was deprecated. + +We do not re-enumerate active bugs because publications using Defects4J artifacts +usually refer to bugs by their specific bug id. The bugs --------------- From fcd9c9964116956a20c328184fe78db25be6cd43 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Thu, 12 Mar 2020 09:44:11 +0100 Subject: [PATCH 07/35] Adding constant for filenames, removing direct file references --- framework/bug-mining/analyze-project.pl | 4 ++-- framework/bug-mining/create-project.pl | 10 ++++----- framework/bug-mining/get-metadata.pl | 2 +- framework/bug-mining/get-trigger.pl | 2 +- .../initialize-project-and-collect-issues.pl | 6 ++--- framework/bug-mining/initialize-revisions.pl | 2 +- framework/bug-mining/promote-to-db.pl | 16 +++++++------- framework/core/Constants.pm | 9 +++++++- framework/core/Project.pm | 2 +- framework/core/Project/Chart.pm | 2 +- framework/core/Project/Cli.pm | 2 +- framework/core/Project/Closure.pm | 2 +- framework/core/Project/Codec.pm | 2 +- framework/core/Project/Collections.pm | 2 +- framework/core/Project/Compress.pm | 2 +- framework/core/Project/Csv.pm | 2 +- framework/core/Project/Gson.pm | 2 +- framework/core/Project/JacksonCore.pm | 2 +- framework/core/Project/JacksonDatabind.pm | 2 +- framework/core/Project/JacksonXml.pm | 2 +- framework/core/Project/Jsoup.pm | 2 +- framework/core/Project/JxPath.pm | 2 +- framework/core/Project/Lang.pm | 2 +- framework/core/Project/Math.pm | 2 +- framework/core/Project/Mockito.pm | 2 +- framework/core/Project/Time.pm | 2 +- framework/core/Project/template | 2 +- framework/core/Utils.pm | 2 +- framework/core/Vcs.pm | 22 +++++++++---------- framework/test/jobs_gen_tests.pl | 2 +- framework/test/jobs_verify_bugs.pl | 2 +- .../framework/core/Project/TestCodec.pm | 2 +- framework/test/test.include | 10 ++++++--- framework/test/test_bug_mining.sh | 20 ++++++++--------- framework/test/test_export_command.sh | 2 +- framework/test/test_gen_tests.sh | 8 +++---- framework/test/test_verify_bugs.sh | 8 +++---- 37 files changed, 89 insertions(+), 78 deletions(-) diff --git a/framework/bug-mining/analyze-project.pl b/framework/bug-mining/analyze-project.pl index 9856c4ff4..51434d462 100755 --- a/framework/bug-mining/analyze-project.pl +++ b/framework/bug-mining/analyze-project.pl @@ -26,7 +26,7 @@ =head1 NAME -analyze-project.pl -- Determine all suitable candidates listed in the active-bugs.csv. +analyze-project.pl -- Determine all suitable candidates listed in the active-bugs csv. =head1 SYNOPSIS @@ -57,7 +57,7 @@ =head1 OPTIONS =item B<-b C> Only analyze this bug id. The bug_id has to follow the format B<(\d+)(:(\d+))?>. -Per default all bug ids, listed in the active-bugs.csv, are considered. +Per default all bug ids, listed in the active-bugs csv, are considered. =back diff --git a/framework/bug-mining/create-project.pl b/framework/bug-mining/create-project.pl index ecfa8915c..4442e90b7 100755 --- a/framework/bug-mining/create-project.pl +++ b/framework/bug-mining/create-project.pl @@ -101,7 +101,7 @@ =head1 DESCRIPTION # Directory to which the remote repository is cloned. my $repo_dir = "$WORK_DIR/project_repos"; -# Initialize working directory and create empty active-bugs.csv +# Initialize working directory and create empty active-bugs csv my $project_dir = "$WORK_DIR/framework/projects/$PID"; my $ISSUES_DIR = "$WORK_DIR/issues"; @@ -119,13 +119,13 @@ =head1 DESCRIPTION system("mkdir -p $project_dir $core_dir $ISSUES_DIR $PATCH_DIR $FAILING_DIR $TRIGGER_DIR $RELEVANT_DIR $MOD_CLASSES $REL_CLASSES"); -# Create active-bugs.csv and print header +# Create active-bugs csv and print header my $active_header = $BUGS_CSV_BUGID.",".$BUGS_CSV_COMMIT_BUGGY.",".$BUGS_CSV_COMMIT_FIXED.",".$BUGS_CSV_ISSUE_ID.",".$BUGS_CSV_ISSUE_URL; -system("echo $active_header > $project_dir/active-bugs.csv"); +system("echo $active_header > $project_dir/$BUGS_CSV_ACTIVE"); -# Create deprecated-bugs.csv and print header +# Create deprecated-bugs csv and print header my $deprecated_header = $active_header.",".$BUGS_CSV_DEPRECATED_WHEN.",".$BUGS_CSV_DEPRECATED_WHY; -system("echo $deprecated_header > $project_dir/deprecated-bugs.csv"); +system("echo $deprecated_header > $project_dir/$BUGS_CSV_DEPRECATED"); # Copy module template and set project id and name open(IN, "<$module_template") or die "Cannot open template file: $!"; diff --git a/framework/bug-mining/get-metadata.pl b/framework/bug-mining/get-metadata.pl index 8c033d1c1..4c25d2356 100755 --- a/framework/bug-mining/get-metadata.pl +++ b/framework/bug-mining/get-metadata.pl @@ -48,7 +48,7 @@ =head1 OPTIONS =item B<-b C> Only analyze this bug id. The bug_id has to follow the format B<(\d+)(:(\d+))?>. -Per default all bug ids, listed in the active-bugs.csv, are considered. +Per default all bug ids, listed in the active-bugs csv, are considered. =back diff --git a/framework/bug-mining/get-trigger.pl b/framework/bug-mining/get-trigger.pl index d9cf034d2..9ae9596dd 100755 --- a/framework/bug-mining/get-trigger.pl +++ b/framework/bug-mining/get-trigger.pl @@ -48,7 +48,7 @@ =head1 OPTIONS =item B<-b C> Only analyze this bug id. The bug_id has to follow the format B<(\d+)(:(\d+))?>. -Per default all bug ids, listed in the active-bugs.csv, are considered. +Per default all bug ids, listed in the active-bugs csv, are considered. =head1 DESCRIPTION diff --git a/framework/bug-mining/initialize-project-and-collect-issues.pl b/framework/bug-mining/initialize-project-and-collect-issues.pl index d7af6d2f8..f3228e3ad 100755 --- a/framework/bug-mining/initialize-project-and-collect-issues.pl +++ b/framework/bug-mining/initialize-project-and-collect-issues.pl @@ -132,7 +132,7 @@ =head1 OPTIONS my $REGEXP = $cmd_opts{e}; my $GIT_LOG_FILE = "$WORK_DIR/gitlog"; my $REPOSITORY_DIR = "$WORK_DIR/project_repos/$NAME.git"; -my $COMMIT_DB_FILE = "$WORK_DIR/framework/projects/$PID/active-bugs.csv"; +my $COMMIT_DB_FILE = "$WORK_DIR/framework/projects/$PID/$BUGS_CSV_ACTIVE"; my $VCS_TYPE = $cmd_opts{v} // "git"; # Configure project for Defects4J @@ -179,10 +179,10 @@ =head1 OPTIONS # have already been mined. if (-e "$CORE_DIR/Project/$PID.pm") { # Remove exiting ids - system("tail -n +2 $PROJECTS_DIR/$PID/active-bugs.csv | cut -f 2- -d',' > $COMMIT_DB_FILE.orig"); + system("tail -n +2 $PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE | cut -f 2- -d',' > $COMMIT_DB_FILE.orig"); # Find all versions that have not been mined system("grep -vFf $COMMIT_DB_FILE.orig $COMMIT_DB_FILE > $COMMIT_DB_FILE.filter && mv $COMMIT_DB_FILE.filter $COMMIT_DB_FILE"); - # Print header to active-bugs.csv + # Print header to the active bugs csv my $active_header = $BUGS_CSV_BUGID.",".$BUGS_CSV_COMMIT_BUGGY.",".$BUGS_CSV_COMMIT_FIXED.",".$BUGS_CSV_ISSUE_ID.",".$BUGS_CSV_ISSUE_URL; system("echo $active_header > $COMMIT_DB_FILE.new && cat $COMMIT_DB_FILE >> $COMMIT_DB_FILE.new && mv $COMMIT_DB_FILE.new $COMMIT_DB_FILE"); } diff --git a/framework/bug-mining/initialize-revisions.pl b/framework/bug-mining/initialize-revisions.pl index 06cbfd92a..405f3d9e0 100755 --- a/framework/bug-mining/initialize-revisions.pl +++ b/framework/bug-mining/initialize-revisions.pl @@ -52,7 +52,7 @@ =head1 OPTIONS =item B<-b C> Only analyze this bug id. The bug_id has to follow the format B<(\d+)(:(\d+))?>. -Per default all bug ids, listed in the active-bugs.csv, are considered. +Per default all bug ids, listed in the active-bugs csv, are considered. =back diff --git a/framework/bug-mining/promote-to-db.pl b/framework/bug-mining/promote-to-db.pl index bf6904765..27739d628 100755 --- a/framework/bug-mining/promote-to-db.pl +++ b/framework/bug-mining/promote-to-db.pl @@ -40,8 +40,8 @@ =head1 NAME - framework/projects//trigger_tests - framework/projects//build.xml.patch - framework/projects//.build.xml - - framework/projects//active-bugs.csv - - framework/projects//deprecated-bugs.csv + - framework/projects//$BUGS_CSV_ACTIVE + - framework/projects//$BUGS_CSV_DEPRECATED - framework/projects//dir-layout.csv - project_repos/.git and updates the project_repos/README file with information of when the project @@ -62,7 +62,7 @@ =head1 OPTIONS =item B<-b C> Only analyze this bug id. The bug_id has to follow the format B<(\d+)(:(\d+))?>. -Per default all bug ids, listed in the active-bugs.csv, are considered. +Per default all bug ids, listed in the $BUGS_CSV_ACTIVE, are considered. =item B<-w C> @@ -126,7 +126,7 @@ =head1 OPTIONS "modified_classes/.src", "modified_classes/.test", "patches/.src.patch", "patches/.test.patch", "trigger_tests/", "relevant_tests/"); -my @generic_files_and_directories_to_replace = ("build.xml.patch", "${PID}.build.xml", "lib", "deprecated-bugs.csv"); +my @generic_files_and_directories_to_replace = ("build.xml.patch", "${PID}.build.xml", "lib", $BUGS_CSV_DEPRECATED); my @generic_files_to_append = ("dependent_tests", "dir-layout.csv"); my @ids = _get_bug_ids($BID); @@ -141,9 +141,9 @@ =head1 OPTIONS # find number my $max_number = 0; - my $output_commit_db = "$OUTPUT_DIR/$PID/active-bugs.csv"; + my $output_commit_db = "$OUTPUT_DIR/$PID/$BUGS_CSV_ACTIVE"; if (-e $output_commit_db) { - open FH, $output_commit_db or die "could not open output active-bugs.csv"; + open FH, $output_commit_db or die "could not open output active-bugs csv"; my $exists_line = 0; my $header = ; while (my $line = ) { @@ -164,9 +164,9 @@ =head1 OPTIONS ++$max_number; print "\t... adding as new commit-id $max_number\n"; - open FH, ">>$output_commit_db" or die "could not open output active-bugs.csv for writing"; + open FH, ">>$output_commit_db" or die "could not open output active-bugs csv for writing"; - # If this is the first bug to be promoted, print the header to the active-bugs.csv file. + # If this is the first bug to be promoted, print the header to the active-bugs csv file. if ($max_number == 1) { print FH $BUGS_CSV_BUGID.",".$BUGS_CSV_COMMIT_BUGGY.",".$BUGS_CSV_COMMIT_FIXED.",".$BUGS_CSV_ISSUE_ID.",".$BUGS_CSV_ISSUE_URL."\n"; } diff --git a/framework/core/Constants.pm b/framework/core/Constants.pm index 8c6978dd0..e215082ee 100644 --- a/framework/core/Constants.pm +++ b/framework/core/Constants.pm @@ -256,7 +256,11 @@ our $TAG_FIXED = "FIXED_VERSION"; our $TAG_BUGGY = "BUGGY_VERSION"; our $TAG_PRE_FIX = "PRE_FIX_REVISION"; -# Columns in active-bugs.csv and deprecated-bugs.csv +# Filenames for bugs csv files +our $BUGS_CSV_ACTIVE = "active-bugs.csv"; +our $BUGS_CSV_DEPRECATED = "deprecated-bugs.csv"; + +# Columns in active-bugs and deprecated-bugs csvs our $BUGS_CSV_BUGID = "BugID"; our $BUGS_CSV_COMMIT_BUGGY = "BuggyCommit"; our $BUGS_CSV_COMMIT_FIXED = "FixedCommit"; @@ -315,6 +319,9 @@ $TAG_FIXED $TAG_BUGGY $TAG_PRE_FIX +$BUGS_CSV_ACTIVE +$BUGS_CSV_DEPRECATED + $BUGS_CSV_BUGID $BUGS_CSV_COMMIT_BUGGY $BUGS_CSV_COMMIT_FIXED diff --git a/framework/core/Project.pm b/framework/core/Project.pm index 47f5cfd24..371baef4b 100644 --- a/framework/core/Project.pm +++ b/framework/core/Project.pm @@ -51,7 +51,7 @@ A specific project instance can be created with C. my $name = "my-project-name"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv"); + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE"); return $class->SUPER::new($PID, $name, $vcs); } diff --git a/framework/core/Project/Chart.pm b/framework/core/Project/Chart.pm index 448b587ae..248048ed1 100644 --- a/framework/core/Project/Chart.pm +++ b/framework/core/Project/Chart.pm @@ -50,7 +50,7 @@ sub new { my $name = "jfreechart"; my $vcs = Vcs::Svn->new($PID, "file://$REPO_DIR/$name/trunk", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Cli.pm b/framework/core/Project/Cli.pm index 71e15dc15..d5ffb86ae 100644 --- a/framework/core/Project/Cli.pm +++ b/framework/core/Project/Cli.pm @@ -51,7 +51,7 @@ sub new { my $name = "commons-cli"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Closure.pm b/framework/core/Project/Closure.pm index ae48cd750..4065552d9 100644 --- a/framework/core/Project/Closure.pm +++ b/framework/core/Project/Closure.pm @@ -50,7 +50,7 @@ sub new { my $name = "closure-compiler"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Codec.pm b/framework/core/Project/Codec.pm index ec09e8e83..b3f325be6 100644 --- a/framework/core/Project/Codec.pm +++ b/framework/core/Project/Codec.pm @@ -51,7 +51,7 @@ sub new { my $name = "commons-codec"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Collections.pm b/framework/core/Project/Collections.pm index b7d764fb5..07747250c 100644 --- a/framework/core/Project/Collections.pm +++ b/framework/core/Project/Collections.pm @@ -51,7 +51,7 @@ sub new { my $name = "commons-collections"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Compress.pm b/framework/core/Project/Compress.pm index 01a500694..aa808a0a0 100644 --- a/framework/core/Project/Compress.pm +++ b/framework/core/Project/Compress.pm @@ -50,7 +50,7 @@ sub new { my $name = "commons-compress"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Csv.pm b/framework/core/Project/Csv.pm index ee4f0dfb1..98e456a3f 100644 --- a/framework/core/Project/Csv.pm +++ b/framework/core/Project/Csv.pm @@ -51,7 +51,7 @@ sub new { my $name = "commons-csv"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Gson.pm b/framework/core/Project/Gson.pm index 1777596af..df324dba5 100644 --- a/framework/core/Project/Gson.pm +++ b/framework/core/Project/Gson.pm @@ -50,7 +50,7 @@ sub new { my $name = "gson"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/JacksonCore.pm b/framework/core/Project/JacksonCore.pm index e422778e9..adae05c0e 100644 --- a/framework/core/Project/JacksonCore.pm +++ b/framework/core/Project/JacksonCore.pm @@ -51,7 +51,7 @@ sub new { my $name = "jackson-core"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/JacksonDatabind.pm b/framework/core/Project/JacksonDatabind.pm index 6d0e868dc..037b1ec2b 100644 --- a/framework/core/Project/JacksonDatabind.pm +++ b/framework/core/Project/JacksonDatabind.pm @@ -51,7 +51,7 @@ sub new { my $name = "jackson-databind"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/JacksonXml.pm b/framework/core/Project/JacksonXml.pm index 5ace8a204..ddc390cb9 100644 --- a/framework/core/Project/JacksonXml.pm +++ b/framework/core/Project/JacksonXml.pm @@ -51,7 +51,7 @@ sub new { my $name = "jackson-dataformat-xml"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Jsoup.pm b/framework/core/Project/Jsoup.pm index 65d22e7b8..4290634c2 100644 --- a/framework/core/Project/Jsoup.pm +++ b/framework/core/Project/Jsoup.pm @@ -50,7 +50,7 @@ sub new { my $name = "jsoup"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/JxPath.pm b/framework/core/Project/JxPath.pm index 68680d8d9..bb63c37c6 100644 --- a/framework/core/Project/JxPath.pm +++ b/framework/core/Project/JxPath.pm @@ -51,7 +51,7 @@ sub new { my $name = "commons-jxpath"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Lang.pm b/framework/core/Project/Lang.pm index da1706805..c22657467 100644 --- a/framework/core/Project/Lang.pm +++ b/framework/core/Project/Lang.pm @@ -50,7 +50,7 @@ sub new { my $name = "commons-lang"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Math.pm b/framework/core/Project/Math.pm index 4fdc80c4d..9991b9660 100644 --- a/framework/core/Project/Math.pm +++ b/framework/core/Project/Math.pm @@ -50,7 +50,7 @@ sub new { my $name = "commons-math"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv"); + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE"); return $class->SUPER::new($PID, $name, $vcs); } diff --git a/framework/core/Project/Mockito.pm b/framework/core/Project/Mockito.pm index 08d83b68f..e556ce10e 100644 --- a/framework/core/Project/Mockito.pm +++ b/framework/core/Project/Mockito.pm @@ -50,7 +50,7 @@ sub new { my $name = "mockito"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/Time.pm b/framework/core/Project/Time.pm index 02f2b428e..a9e552321 100644 --- a/framework/core/Project/Time.pm +++ b/framework/core/Project/Time.pm @@ -53,7 +53,7 @@ sub new { my $name = "joda-time"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Project/template b/framework/core/Project/template index b78f01e3f..a17401d59 100644 --- a/framework/core/Project/template +++ b/framework/core/Project/template @@ -50,7 +50,7 @@ sub new { my $name = ""; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/core/Utils.pm b/framework/core/Utils.pm index f59f1bb5b..fc3ed8c17 100644 --- a/framework/core/Utils.pm +++ b/framework/core/Utils.pm @@ -438,7 +438,7 @@ sub bug_report_info { my $bug_report_info = {id=>"NA", url=>"NA"}; - my $commit_db = "$PROJECTS_DIR/$pid/active-bugs.csv"; + my $commit_db = "$PROJECTS_DIR/$pid/$BUGS_CSV_ACTIVE"; open (IN, "<$commit_db") or die "Cannot open $commit_db file: $!"; my $header = ; while () { diff --git a/framework/core/Vcs.pm b/framework/core/Vcs.pm index 27fef0a08..37ee3f7ec 100644 --- a/framework/core/Vcs.pm +++ b/framework/core/Vcs.pm @@ -123,15 +123,15 @@ A Vcs object has to be instantiated with: =item * Repository url -=item * File name of the commit database (active-bugs.csv), see below for details +=item * File name of the commit database (active-bugs csv), see below for details =item * Reference to post-checkout hook (optional) -- if provided, this method is called after each checkout. =back -=head2 active-bugs.csv +=head2 active-bugs csv -The active-bugs.csv (csv) file has the structure: C. +The active-bugs (csv) file has the structure: C. Example for Svn: @@ -165,7 +165,7 @@ sub new { $vcs->lookup(vid) -Queries the commit database (active-bugs.csv) and returns the C for +Queries the commit database (active-bugs csv) and returns the C for the given version id C. Format of C: C<\d+[bf]>. =cut @@ -198,7 +198,7 @@ sub lookup_vid { $vcs->num_revision_pairs() -Returns the number of revision pairs in the C. +Returns the number of revision pairs in the C. =cut sub num_revision_pairs { @@ -210,7 +210,7 @@ sub num_revision_pairs { $project->get_bug_ids() -Returns an array of all bug ids in the C. +Returns an array of all bug ids in the C. =cut sub get_bug_ids { @@ -223,7 +223,7 @@ sub get_bug_ids { $vcs->B C), this subroutine returns true if C exists -in the C and false otherwise. +in the C and false otherwise. Format of C: C<\d+[bf]> This subroutine dies if C is invalid. @@ -239,7 +239,7 @@ sub contains_version_id { $vcs->checkout_vid(vid, work_dir) -Performs a lookup of C in the C followed by a checkout of +Performs a lookup of C in the C followed by a checkout of the corresponding revision with C to F. Format of C: C<\d+[bf]>. @@ -389,17 +389,17 @@ sub rev_date { # Helper subroutines # -# Read active-bugs.csv and build cache +# Read active-bugs csv and build cache # sub _build_db_cache { my $db = shift; - open (IN, "<$db") or die "Cannot open active-bugs.csv $db: $!"; + open (IN, "<$db") or die "Cannot open active-bugs csv $db: $!"; my $cache = {}; my $header = ; while () { chomp; - /(\d+),([^,]+),([^,]+)/ or die "Corrupted active-bugs.csv!"; + /(\d+),([^,]+),([^,]+)/ or die "Corrupted active-bugs csv!"; $cache->{$1} = {b => $2, f => $3, line => $_}; } close IN; diff --git a/framework/test/jobs_gen_tests.pl b/framework/test/jobs_gen_tests.pl index 7f6a40d8a..d18d7f900 100755 --- a/framework/test/jobs_gen_tests.pl +++ b/framework/test/jobs_gen_tests.pl @@ -34,7 +34,7 @@ =head1 SYNOPSIS =head1 DESCRIPTION -Parses all active-bugs.csv files and outputs a list of invocations of the +Parses all active-bugs csv files and outputs a list of invocations of the test_gen_tests.sh script. Running this list of jobs, e.g., using GNU parallel, runs every supported test generator on every bug. diff --git a/framework/test/jobs_verify_bugs.pl b/framework/test/jobs_verify_bugs.pl index 39195370d..eabd31738 100755 --- a/framework/test/jobs_verify_bugs.pl +++ b/framework/test/jobs_verify_bugs.pl @@ -34,7 +34,7 @@ =head1 SYNOPSIS =head1 DESCRIPTION -Parses all active-bugs.csv files and outputs a list of invocations of the +Parses all active-bugs csv files and outputs a list of invocations of the test_verify_bugs.sh script. Running this list of jobs, e.g., using GNU parallel, reproduces every bug with all available tests. diff --git a/framework/test/resources/output/bug-mining/framework/core/Project/TestCodec.pm b/framework/test/resources/output/bug-mining/framework/core/Project/TestCodec.pm index ec806a31c..d74e3d153 100644 --- a/framework/test/resources/output/bug-mining/framework/core/Project/TestCodec.pm +++ b/framework/test/resources/output/bug-mining/framework/core/Project/TestCodec.pm @@ -50,7 +50,7 @@ sub new { my $name = "commons-codec"; my $vcs = Vcs::Git->new($PID, "$REPO_DIR/$name.git", - "$PROJECTS_DIR/$PID/active-bugs.csv", + "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE", \&_post_checkout); return $class->SUPER::new($PID, $name, $vcs); diff --git a/framework/test/test.include b/framework/test/test.include index 0cbc0c19f..c73d78504 100755 --- a/framework/test/test.include +++ b/framework/test/test.include @@ -20,6 +20,10 @@ LOG=$TEST_DIR/${log_file} # Set default temporary directory TMP_DIR="/tmp/test_d4j_$$_$(date +%s)" +# Set filenames of active and deprecated bugs csvs. +BUGS_CSV_ACTIVE="active-bugs.csv" +BUGS_CSV_DEPRECATED="deprecated-bugs.csv" + # By default exit on first error HALT_ON_ERROR=1 @@ -98,10 +102,10 @@ num_lines() { wc -l < $1 } -# Determine and print all bug ids found in the provided active-bugs.csv -# get_bugs_ids +# Determine and print all bug ids found in the provided active-bugs csv +# get_bugs_ids get_bug_ids() { - [ $# -eq 1 ] || die "usage: ${FUNCNAME[0]} " + [ $# -eq 1 ] || die "usage: ${FUNCNAME[0]} " tail -n +2 $1 | cut -f1 -d',' | tr '\n' ' ' } diff --git a/framework/test/test_bug_mining.sh b/framework/test/test_bug_mining.sh index cce7efb8c..6db46ab91 100755 --- a/framework/test/test_bug_mining.sh +++ b/framework/test/test_bug_mining.sh @@ -91,8 +91,8 @@ test_create_project() { [ -s "$work_dir/$project_perl_module" ] || die "Project Perl module does not exist or it is empty" [ -s "$work_dir/$project_build_patch" ] || die "build.xml.patch does not exist or it is empty" [ -s "$work_dir/$project_build_xml" ] || die "Project build file does not exist or it is empty" - [ -f "$work_dir/framework/projects/$project_id/active-bugs.csv" ] || die "active-bugs.csv does not exist" - [ -f "$work_dir/framework/projects/$project_id/deprecated-bugs.csv" ] || die "deprecated-bugs.csv does not exist" + [ -f "$work_dir/framework/projects/$project_id/$BUGS_CSV_ACTIVE" ] || die "active-bugs csv does not exist" + [ -f "$work_dir/framework/projects/$project_id/$BUGS_CSV_DEPRECATED" ] || die "deprecated-bugs csv does not exist" [ -s "$work_dir/project_repos/README" ] || die "README file in $work_dir/project_repos does not exist or it is empty" # Check whether content of expected files is correct @@ -137,7 +137,7 @@ test_crossref_commmit_issue() { local git_log_file="$work_dir/gitlog" local repository_dir="$work_dir/project_repos/$project_name.git" local issues_file="$work_dir/issues.txt" - local commit_db_file="$work_dir/framework/projects/$project_id/active-bugs.csv" + local commit_db_file="$work_dir/framework/projects/$project_id/$BUGS_CSV_ACTIVE" git --git-dir=$repository_dir log --reverse > $git_log_file || die "Git log has failed" @@ -191,7 +191,7 @@ test_initialize_revisions() { _check_output "$work_dir/$analyzer_output_dir/includes" "$RESOURCES_OUTPUT_DIR/$analyzer_output_dir/includes" _check_output "$work_dir/$analyzer_output_dir/info" "$RESOURCES_OUTPUT_DIR/$analyzer_output_dir/info" - local commit_db_file="$work_dir/framework/projects/$project_id/active-bugs.csv" + local commit_db_file="$work_dir/framework/projects/$project_id/$BUGS_CSV_ACTIVE" local rev_v1=$(grep "^$bug_id," "$commit_db_file" | cut -f2 -d',') local rev_v2=$(grep "^$bug_id," "$commit_db_file" | cut -f3 -d',') local rev_v1_build_dir="$work_dir/framework/projects/$project_id/build_files/$rev_v1" @@ -229,7 +229,7 @@ test_analyze_project() { ./analyze-project.pl -p $project_id -w $work_dir -g $issue_tracker_name -t $issue_tracker_project_id -b $bug_id || die "Analyze project script has failed" popd > /dev/null 2>&1 - local commit_db_file="$work_dir/framework/projects/$project_id/active-bugs.csv" + local commit_db_file="$work_dir/framework/projects/$project_id/$BUGS_CSV_ACTIVE" local rev_v2=$(grep "^$bug_id," "$commit_db_file" | cut -f3 -d',') local failing_tests="framework/projects/$project_id/failing_tests/$rev_v2" [ -s "$work_dir/$failing_tests" ] || die "No failing test cases has been reported" @@ -325,7 +325,7 @@ test_promote_to_db() { [ -d "$HERE/../projects/$project_id" ] || die "Project directory does not exist" - local commit_db_file="$work_dir/framework/projects/$project_id/active-bugs.csv" + local commit_db_file="$work_dir/framework/projects/$project_id/$BUGS_CSV_ACTIVE" local rev_v1=$(grep "^$bug_id," "$commit_db_file" | cut -f2 -d',') local rev_v2=$(grep "^$bug_id," "$commit_db_file" | cut -f3 -d',') @@ -359,8 +359,8 @@ test_promote_to_db() { local project_build_xml="projects/$project_id/$project_id.build.xml" _check_output "$HERE/../$project_build_xml" "$work_dir/framework/$project_build_xml" - [ -s "$HERE/../projects/$project_id/active-bugs.csv" ] || die "active-bugs.csv does not exist or it is empty" - [ -s "$HERE/../projects/$project_id/deprecated-bugs.csv" ] || die "deprecated-bugs.csv does not exist or it is missing the header" + [ -s "$HERE/../projects/$project_id/$BUGS_CSV_ACTIVE" ] || die "active-bugs csv does not exist or it is empty" + [ -s "$HERE/../projects/$project_id/$BUGS_CSV_DEPRECATED" ] || die "deprecated-bugs csv does not exist or it is missing the header" [ -s "$HERE/../projects/$project_id/dir-layout.csv" ] || die "dir-layout.csv does not exist or it is empty" } @@ -396,8 +396,8 @@ test_download_issues "$WORK_DIR" "$ISSUE_TRACKER_NAME" "$ISSUE_TRACKER_PROJECT_I test_crossref_commmit_issue "$PROJECT_ID" "$PROJECT_NAME" "$WORK_DIR" "$BUG_FIX_REGEX" || die "Test 'test_crossref_commmit_issue' has failed!" ISSUE_ID="CODEC-231" -grep -q ",$ISSUE_ID," "$WORK_DIR/framework/projects/$PROJECT_ID/active-bugs.csv" || die "$ISSUE_ID has not been mined" -BUG_ID=$(grep ",$ISSUE_ID," "$WORK_DIR/framework/projects/$PROJECT_ID/active-bugs.csv" | cut -f1 -d',') +grep -q ",$ISSUE_ID," "$WORK_DIR/framework/projects/$PROJECT_ID/$BUGS_CSV_ACTIVE" || die "$ISSUE_ID has not been mined" +BUG_ID=$(grep ",$ISSUE_ID," "$WORK_DIR/framework/projects/$PROJECT_ID/$BUGS_CSV_ACTIVE" | cut -f1 -d',') test_initialize_revisions "$PROJECT_ID" "$WORK_DIR" "$BUG_ID" || die "Test 'test_initialize_revisions' has failed!" test_analyze_project "$PROJECT_ID" "$WORK_DIR" "$ISSUE_TRACKER_NAME" "$ISSUE_TRACKER_PROJECT_ID" "$BUG_ID" || die "Test 'test_analyze_project' has failed!" diff --git a/framework/test/test_export_command.sh b/framework/test/test_export_command.sh index 1fc8c4ef7..f5f3ce4d4 100755 --- a/framework/test/test_export_command.sh +++ b/framework/test/test_export_command.sh @@ -46,7 +46,7 @@ test_ExportTestClassesDir() { rm -rf "$test_dir"; mkdir -p "$test_dir" # Iterate over all bugs - local bids=$(tail -n +2 "$BASE_DIR/framework/projects/$pid/active-bugs.csv" | cut -f1 -d',') + local bids=$(tail -n +2 "$BASE_DIR/framework/projects/$pid/$BUGS_CSV_ACTIVE" | cut -f1 -d',') for bid in $bids; do local work_dir="$test_dir/$pid/$bid" mkdir -p "$work_dir" diff --git a/framework/test/test_gen_tests.sh b/framework/test/test_gen_tests.sh index 79f24dc60..c6fc58ac7 100755 --- a/framework/test/test_gen_tests.sh +++ b/framework/test/test_gen_tests.sh @@ -60,7 +60,7 @@ init # Run all bugs, unless otherwise specified if [ "$BUGS" == "" ]; then - num_bugs=$(num_lines $BASE_DIR/framework/projects/$PID/active-bugs.csv) + num_bugs=$(num_lines $BASE_DIR/framework/projects/$PID/$BUGS_CSV_ACTIVE) BUGS="$(seq 1 1 $num_bugs)" fi @@ -83,9 +83,9 @@ mkdir -p $work_dir rm -rf "$work_dir/*" for bid in $(echo $BUGS); do - # Skip all bug ids that do not exist in the active-bugs.csv - if ! grep -q "^$bid," "$BASE_DIR/framework/projects/$PID/active-bugs.csv"; then - warn "Skipping bug ID that is not listed in active-bugs.csv: $PID-$bid" + # Skip all bug ids that do not exist in the active-bugs csv + if ! grep -q "^$bid," "$BASE_DIR/framework/projects/$PID/$BUGS_CSV_ACTIVE"; then + warn "Skipping bug ID that is not listed in active-bugs csv: $PID-$bid" continue fi diff --git a/framework/test/test_verify_bugs.sh b/framework/test/test_verify_bugs.sh index 4fbc8f8ad..b528ecd15 100755 --- a/framework/test/test_verify_bugs.sh +++ b/framework/test/test_verify_bugs.sh @@ -68,7 +68,7 @@ init # Run all bugs, unless otherwise specified if [ "$BUGS" == "" ]; then - BUGS="$(get_bug_ids $BASE_DIR/framework/projects/$PID/active-bugs.csv)" + BUGS="$(get_bug_ids $BASE_DIR/framework/projects/$PID/$BUGS_CSV_ACTIVE)" fi # Create log file @@ -93,9 +93,9 @@ work_dir="$test_dir/$PID" # Clean working directory rm -rf $work_dir for bid in $(echo $BUGS); do - # Skip all bug ids that do not exist in the active-bugs.csv - if ! grep -q "^$bid," "$BASE_DIR/framework/projects/$PID/active-bugs.csv"; then - warn "Skipping bug ID that is not listed in active-bugs.csv: $PID-$bid" + # Skip all bug ids that do not exist in the active-bugs csv + if ! grep -q "^$bid," "$BASE_DIR/framework/projects/$PID/$BUGS_CSV_ACTIVE"; then + warn "Skipping bug ID that is not listed in active-bugs csv: $PID-$bid" continue fi From 77b201af017e5b099c04d70144f19f340e82ea91 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Thu, 12 Mar 2020 09:59:59 +0100 Subject: [PATCH 08/35] Renaming column names to match stlye and usage in other parts of D4J --- framework/core/Constants.pm | 14 +++++++------- framework/projects/Chart/active-bugs.csv | 2 +- framework/projects/Chart/deprecated-bugs.csv | 2 +- framework/projects/Cli/active-bugs.csv | 2 +- framework/projects/Cli/deprecated-bugs.csv | 2 +- framework/projects/Closure/active-bugs.csv | 2 +- framework/projects/Closure/deprecated-bugs.csv | 2 +- framework/projects/Codec/active-bugs.csv | 2 +- framework/projects/Codec/deprecated-bugs.csv | 2 +- framework/projects/Collections/active-bugs.csv | 2 +- framework/projects/Collections/deprecated-bugs.csv | 2 +- framework/projects/Compress/active-bugs.csv | 2 +- framework/projects/Compress/deprecated-bugs.csv | 2 +- framework/projects/Csv/active-bugs.csv | 2 +- framework/projects/Csv/deprecated-bugs.csv | 2 +- framework/projects/Gson/active-bugs.csv | 2 +- framework/projects/Gson/deprecated-bugs.csv | 2 +- framework/projects/JacksonCore/active-bugs.csv | 2 +- framework/projects/JacksonCore/deprecated-bugs.csv | 2 +- framework/projects/JacksonDatabind/active-bugs.csv | 2 +- .../projects/JacksonDatabind/deprecated-bugs.csv | 2 +- framework/projects/JacksonXml/active-bugs.csv | 2 +- framework/projects/JacksonXml/deprecated-bugs.csv | 2 +- framework/projects/Jsoup/active-bugs.csv | 2 +- framework/projects/Jsoup/deprecated-bugs.csv | 2 +- framework/projects/JxPath/active-bugs.csv | 2 +- framework/projects/JxPath/deprecated-bugs.csv | 2 +- framework/projects/Lang/active-bugs.csv | 2 +- framework/projects/Lang/deprecated-bugs.csv | 2 +- framework/projects/Math/active-bugs.csv | 2 +- framework/projects/Math/deprecated-bugs.csv | 2 +- framework/projects/Mockito/active-bugs.csv | 2 +- framework/projects/Mockito/deprecated-bugs.csv | 2 +- framework/projects/Time/active-bugs.csv | 2 +- framework/projects/Time/deprecated-bugs.csv | 2 +- 35 files changed, 41 insertions(+), 41 deletions(-) diff --git a/framework/core/Constants.pm b/framework/core/Constants.pm index e215082ee..ee3341eba 100644 --- a/framework/core/Constants.pm +++ b/framework/core/Constants.pm @@ -261,13 +261,13 @@ our $BUGS_CSV_ACTIVE = "active-bugs.csv"; our $BUGS_CSV_DEPRECATED = "deprecated-bugs.csv"; # Columns in active-bugs and deprecated-bugs csvs -our $BUGS_CSV_BUGID = "BugID"; -our $BUGS_CSV_COMMIT_BUGGY = "BuggyCommit"; -our $BUGS_CSV_COMMIT_FIXED = "FixedCommit"; -our $BUGS_CSV_ISSUE_ID = "IssueID"; -our $BUGS_CSV_ISSUE_URL = "IssueURL"; -our $BUGS_CSV_DEPRECATED_WHEN = "D4JVersionDeprecated"; -our $BUGS_CSV_DEPRECATED_WHY = "ReasonDeprecated"; +our $BUGS_CSV_BUGID = "bug_id"; +our $BUGS_CSV_COMMIT_BUGGY = "revision_id_buggy"; +our $BUGS_CSV_COMMIT_FIXED = "revision_id_fixed"; +our $BUGS_CSV_ISSUE_ID = "bug_report_id"; +our $BUGS_CSV_ISSUE_URL = "bug_report_url"; +our $BUGS_CSV_DEPRECATED_WHEN = "deprecated_version"; +our $BUGS_CSV_DEPRECATED_WHY = "deprecated_reason"; # Reasons for deprecation our $DEPRECATED_JVM8 = "JVM8-NonReproducable"; diff --git a/framework/projects/Chart/active-bugs.csv b/framework/projects/Chart/active-bugs.csv index 5be407f21..0f65f1a17 100644 --- a/framework/projects/Chart/active-bugs.csv +++ b/framework/projects/Chart/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,2264,2266,983,https://sourceforge.net/p/jfreechart/bugs/983 2,2240,2242,959,https://sourceforge.net/p/jfreechart/bugs/959 3,2225,2227,, diff --git a/framework/projects/Chart/deprecated-bugs.csv b/framework/projects/Chart/deprecated-bugs.csv index f67687ba2..90f7ed326 100644 --- a/framework/projects/Chart/deprecated-bugs.csv +++ b/framework/projects/Chart/deprecated-bugs.csv @@ -1 +1 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason diff --git a/framework/projects/Cli/active-bugs.csv b/framework/projects/Cli/active-bugs.csv index ffbe36446..64bfd7355 100644 --- a/framework/projects/Cli/active-bugs.csv +++ b/framework/projects/Cli/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,8f46f467a33ace44ccd9f394910940b6c48a3827,b0e1b80b6d4a10a9c9f46539bc4c7a3cce55886e,CLI-13,https://issues.apache.org/jira/browse/CLI-13 2,b0e1b80b6d4a10a9c9f46539bc4c7a3cce55886e,2ff9573ffb08dd52ec3a55a49f2d77a1e94efbdf,CLI-51,https://issues.apache.org/jira/browse/CLI-51 3,85248e8ae52232ed75c2b4c52d4071bdf192db37,d35f2fa7a06457469a617677eeb4c1dc21484006,cli-1,https://issues.apache.org/jira/browse/CLI-1 diff --git a/framework/projects/Cli/deprecated-bugs.csv b/framework/projects/Cli/deprecated-bugs.csv index 9b7fff8e5..bfa8ed873 100644 --- a/framework/projects/Cli/deprecated-bugs.csv +++ b/framework/projects/Cli/deprecated-bugs.csv @@ -1,2 +1,2 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason 6,3880640ee6268a2ecb2912e1ae896153dc2229e5,6f972cf56d7a3054bac902fecb6d3dd5ee310dea,cli-1,https://issues.apache.org/jira/browse/CLI-1,2.0.0,JVM8-NonReproducable diff --git a/framework/projects/Closure/active-bugs.csv b/framework/projects/Closure/active-bugs.csv index 223dad9df..41f2b13b5 100644 --- a/framework/projects/Closure/active-bugs.csv +++ b/framework/projects/Closure/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,2353d807058bc2a20af279a480d6652cdf892f4d,1dfad5043a207e032a78ef50c3cba50488bcd300,253,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-253.json 2,61095090415cff7cae4f3645fa76ee7cdd3ee23d,d1cfe67977d8f3aaa85ec20c262171da394d5977,884,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-884.json 3,3cc85c3c37aa8bc834a4a86f91ddeb399d854024,d80fcc04239ab8c4cf781273c4f9bc54cf06f479,864,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-864.json diff --git a/framework/projects/Closure/deprecated-bugs.csv b/framework/projects/Closure/deprecated-bugs.csv index 52281a751..4e9acc8cd 100644 --- a/framework/projects/Closure/deprecated-bugs.csv +++ b/framework/projects/Closure/deprecated-bugs.csv @@ -1,3 +1,3 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason 63,7deaed51a2313dd3d5814cf3ed93d7140cf3b1b5,37b0e1b0b5860e6cd4f48519c1105623778dc44f,487,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-487.json,2.0.0,JVM8-NonReproducable 93,386ab6da410291c7b9b4880354dae764275a9518,9d1e18e87a41f2a610ed70f3a1d57abbce7a1cd7,261,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-261.json,2.0.0,JVM8-NonReproducable diff --git a/framework/projects/Codec/active-bugs.csv b/framework/projects/Codec/active-bugs.csv index df19a67f9..0af377c58 100644 --- a/framework/projects/Codec/active-bugs.csv +++ b/framework/projects/Codec/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,9c0cabead7cf075308b11362172ae1a48d41321c,52d82d1dfff8c2b2ded9d843e0b03017af6d747c,CODEC-65,https://issues.apache.org/jira/browse/CODEC-65 2,2f7454a01e4c2992bffc3d86137e632e80c5027f,b8c2d9d9dc9aab45f83cf49ac93cfa8546e4c08e,CODEC-77,https://issues.apache.org/jira/browse/CODEC-77 3,d7b01850ef418b1d261cdb2029f8f85ab4031553,a5dfe5cbc95d7f3ce0b4829756690c2cb8439f4c,CODEC-84,https://issues.apache.org/jira/browse/CODEC-84 diff --git a/framework/projects/Codec/deprecated-bugs.csv b/framework/projects/Codec/deprecated-bugs.csv index f67687ba2..90f7ed326 100644 --- a/framework/projects/Codec/deprecated-bugs.csv +++ b/framework/projects/Codec/deprecated-bugs.csv @@ -1 +1 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason diff --git a/framework/projects/Collections/active-bugs.csv b/framework/projects/Collections/active-bugs.csv index 68bb88152..a6cb18c3c 100644 --- a/framework/projects/Collections/active-bugs.csv +++ b/framework/projects/Collections/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 25,7c99c6234c7b403449420b2688fff3d516662591,73d69dfe8677210e44049bc1a2a7d1ff85bc1ca7,COLLECTIONS-566,https://issues.apache.org/jira/browse/COLLECTIONS-566 26,3a9c4718ee0fd2eeef8b3ce151ee829fadbef5ae,f8bd75d37ca12c5d49c1b628c33c0b45e2d082eb,COLLECTIONS-576,https://issues.apache.org/jira/browse/COLLECTIONS-576 27,7a72b1983c03f7b33e397cdfc5e8f0636bcd924e,3eee44cf63b1ebb0da6925e98b3dcc6ef1e4d610,COLLECTIONS-580,https://issues.apache.org/jira/browse/COLLECTIONS-580 diff --git a/framework/projects/Collections/deprecated-bugs.csv b/framework/projects/Collections/deprecated-bugs.csv index 6e29fec43..9bb3d74ae 100644 --- a/framework/projects/Collections/deprecated-bugs.csv +++ b/framework/projects/Collections/deprecated-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason 1,b1cd358495cae3df8e0e32147ef433cce83390c8,f8aa3e033c1fde4a434864f666315b433498d32c,COLLECTIONS-217,https://issues.apache.org/jira/browse/COLLECTIONS-217,2.0.0,JVM8-NonReproducable 2,f8aa3e033c1fde4a434864f666315b433498d32c,3f09772b742d7886c5a18427c9838fb267cc335b,COLLECTIONS-214,https://issues.apache.org/jira/browse/COLLECTIONS-214,2.0.0,JVM8-NonReproducable 3,3f09772b742d7886c5a18427c9838fb267cc335b,66c4b99ddc7daea806c1318a40736d0f5c8fa7bd,COLLECTIONS-219,https://issues.apache.org/jira/browse/COLLECTIONS-219,2.0.0,JVM8-NonReproducable diff --git a/framework/projects/Compress/active-bugs.csv b/framework/projects/Compress/active-bugs.csv index cc3181080..c5855415b 100644 --- a/framework/projects/Compress/active-bugs.csv +++ b/framework/projects/Compress/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,728b4e814ec88cab556533fa114be0efdde963be,004124ac5dbf5edbf925078652526267468821e7,COMPRESS-28,https://issues.apache.org/jira/browse/COMPRESS-28 2,1cde8827c953a56b2fcabad676f8cf2ddd6ec182,d09177b98f4e956c1d366110f73c3341ea110bee,COMPRESS-11,https://issues.apache.org/jira/browse/COMPRESS-11 3,ddbd61f0e75b7d98873b9a9bf6398218edcfd17b,d170f34fa65e19b604f5a9e04e6ed5f81d35658c,COMPRESS-64,https://issues.apache.org/jira/browse/COMPRESS-64 diff --git a/framework/projects/Compress/deprecated-bugs.csv b/framework/projects/Compress/deprecated-bugs.csv index f67687ba2..90f7ed326 100644 --- a/framework/projects/Compress/deprecated-bugs.csv +++ b/framework/projects/Compress/deprecated-bugs.csv @@ -1 +1 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason diff --git a/framework/projects/Csv/active-bugs.csv b/framework/projects/Csv/active-bugs.csv index 68b5394c9..8e14350ac 100644 --- a/framework/projects/Csv/active-bugs.csv +++ b/framework/projects/Csv/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,0833f45bffd40f44ba6f294d84e9bac8a9ba0a37,de1838ea067f3fbc4c7c21b9eeae077c739ecb73,CSV-75,https://issues.apache.org/jira/browse/CSV-75 2,5744ee8a1698687fe4acc0c269cbbbb1e234b06d,a0d975933d6fe9eb5f359088de43508c1d3109bf,CSV-96,https://issues.apache.org/jira/browse/CSV-96 3,e31980892ce9873047db98ab8ef1b3259607b988,2c6120826245f89fedf2f936ab4a0c3edd8717f3,CSV-58,https://issues.apache.org/jira/browse/CSV-58 diff --git a/framework/projects/Csv/deprecated-bugs.csv b/framework/projects/Csv/deprecated-bugs.csv index f67687ba2..90f7ed326 100644 --- a/framework/projects/Csv/deprecated-bugs.csv +++ b/framework/projects/Csv/deprecated-bugs.csv @@ -1 +1 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason diff --git a/framework/projects/Gson/active-bugs.csv b/framework/projects/Gson/active-bugs.csv index 774cc3e73..df449d81d 100644 --- a/framework/projects/Gson/active-bugs.csv +++ b/framework/projects/Gson/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,4413c299ea09c57b94af8647eec901554c2f5c50,c6a4f55d1a9b191dbbd958c366091e567191ccab,40,https://github.com/google/gson/issues/40 2,10714ef0427536b679e9677f8417807e4cce017d,fe101c10bc3597d8e715a31d94d2cc0cc54b660f,719,https://github.com/google/gson/pull/719 3,9e5f86d10b3b3ff4ba0dfe7ba0722c9e640fcc20,64107353a37e623ed1f8fecb4422c24212cf6fe1,624,https://github.com/google/gson/issues/624 diff --git a/framework/projects/Gson/deprecated-bugs.csv b/framework/projects/Gson/deprecated-bugs.csv index f67687ba2..90f7ed326 100644 --- a/framework/projects/Gson/deprecated-bugs.csv +++ b/framework/projects/Gson/deprecated-bugs.csv @@ -1 +1 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason diff --git a/framework/projects/JacksonCore/active-bugs.csv b/framework/projects/JacksonCore/active-bugs.csv index 8507bc481..3dd093eb5 100644 --- a/framework/projects/JacksonCore/active-bugs.csv +++ b/framework/projects/JacksonCore/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,a9e5c9f99bcc16d734251f682758004a3ecc3a1b,b40ac81d4a81736e2b7536b14db4ad070b598d2e,98,https://github.com/FasterXML/jackson-core/issues/98 2,098ece8564ed5d37f483c3bfb45be897ed8974cd,38d6e35d1f1a9b48193804925517500de8efee1f,105,https://github.com/FasterXML/jackson-core/issues/105 3,7ee38785ecdd2f5a56a41302d4482675ce0d7e68,911cca0254267decd90a4b6a9c0610549309a451,111,https://github.com/FasterXML/jackson-core/issues/111 diff --git a/framework/projects/JacksonCore/deprecated-bugs.csv b/framework/projects/JacksonCore/deprecated-bugs.csv index f67687ba2..90f7ed326 100644 --- a/framework/projects/JacksonCore/deprecated-bugs.csv +++ b/framework/projects/JacksonCore/deprecated-bugs.csv @@ -1 +1 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason diff --git a/framework/projects/JacksonDatabind/active-bugs.csv b/framework/projects/JacksonDatabind/active-bugs.csv index 23d6dcf1c..d6585944a 100644 --- a/framework/projects/JacksonDatabind/active-bugs.csv +++ b/framework/projects/JacksonDatabind/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,a1bb6f2dcb82eb9f880f87c480d6086a8e0bee34,88f44d87d4c2251d7cf55d9aa9c3452a397ae19b,223,https://github.com/FasterXML/jackson-databind/issues/223 2,01797b0794ac384f5f5ef49cc0cfab8347ae7930,9c5fec2302237ede0e797c13c0663a6bb52c798c,467,https://github.com/FasterXML/jackson-databind/issues/467 3,fd9b65dc45657bb7cd236df5396b901f36469c76,fa1d99255915f21c868f28307fd6e3adb2029ea0,479,https://github.com/FasterXML/jackson-databind/issues/479 diff --git a/framework/projects/JacksonDatabind/deprecated-bugs.csv b/framework/projects/JacksonDatabind/deprecated-bugs.csv index f67687ba2..90f7ed326 100644 --- a/framework/projects/JacksonDatabind/deprecated-bugs.csv +++ b/framework/projects/JacksonDatabind/deprecated-bugs.csv @@ -1 +1 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason diff --git a/framework/projects/JacksonXml/active-bugs.csv b/framework/projects/JacksonXml/active-bugs.csv index aecedaac6..94b113c19 100644 --- a/framework/projects/JacksonXml/active-bugs.csv +++ b/framework/projects/JacksonXml/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,81f38e1985bdfafdbe02e32dfb5ccb200fc64eae,2d7683ed820116b77cba9b4b290cd7ce7dfa5cf4,180,https://github.com/FasterXML/jackson-dataformat-xml/issues/180 2,a96d27d4c74707965b257b6ecced4d337357545e,37eb331acce08142ad027f127c355f9b462fe9e0,196,https://github.com/FasterXML/jackson-dataformat-xml/issues/196 3,23ab583c46a6a20b0c1232ebb91b16d4058c7502,79a4b57f2bbe08ce46e6dabb0a8b76f4a787141c,204,https://github.com/FasterXML/jackson-dataformat-xml/issues/204 diff --git a/framework/projects/JacksonXml/deprecated-bugs.csv b/framework/projects/JacksonXml/deprecated-bugs.csv index f67687ba2..90f7ed326 100644 --- a/framework/projects/JacksonXml/deprecated-bugs.csv +++ b/framework/projects/JacksonXml/deprecated-bugs.csv @@ -1 +1 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason diff --git a/framework/projects/Jsoup/active-bugs.csv b/framework/projects/Jsoup/active-bugs.csv index 4fc4c32ca..ead8d6b7a 100644 --- a/framework/projects/Jsoup/active-bugs.csv +++ b/framework/projects/Jsoup/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,77add7946ea5bca622b1f4f654f97e62f6db1e95,27a52f90a25699bebe23ff1ff94d6db361fdb11d,23,https://github.com/jhy/jsoup/issues/23 2,27a52f90a25699bebe23ff1ff94d6db361fdb11d,bb4ead7c350695c1ed3c52d028090da4d4cecd1e,22,https://github.com/jhy/jsoup/issues/22 3,5599adfa2bd30d9784c1eed07b24a31f458f0a58,0081d162cca8ad23b500b53799195fec644f261b,21,https://github.com/jhy/jsoup/issues/21 diff --git a/framework/projects/Jsoup/deprecated-bugs.csv b/framework/projects/Jsoup/deprecated-bugs.csv index f67687ba2..90f7ed326 100644 --- a/framework/projects/Jsoup/deprecated-bugs.csv +++ b/framework/projects/Jsoup/deprecated-bugs.csv @@ -1 +1 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason diff --git a/framework/projects/JxPath/active-bugs.csv b/framework/projects/JxPath/active-bugs.csv index 17b4139a8..7e14302fd 100644 --- a/framework/projects/JxPath/active-bugs.csv +++ b/framework/projects/JxPath/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,932131e698e669cd7e0743a6999eab455f9de6b0,fab38abb27f2f92b9340cfc232eb5517434bf138,JXPATH-12,https://issues.apache.org/jira/browse/JXPATH-12 2,5eb29ba7901ab88e8388095a8696c4ae13a2c163,716c03b3b12ec106974898451b149f6eb79c65da,JXPATH-50,https://issues.apache.org/jira/browse/JXPATH-50 3,34e73b6483b08da2d793eb613520e23c3d6afeb1,984778f3c264df5d608eb9697df2a268122ac66f,JXPATH-68,https://issues.apache.org/jira/browse/JXPATH-68 diff --git a/framework/projects/JxPath/deprecated-bugs.csv b/framework/projects/JxPath/deprecated-bugs.csv index f67687ba2..90f7ed326 100644 --- a/framework/projects/JxPath/deprecated-bugs.csv +++ b/framework/projects/JxPath/deprecated-bugs.csv @@ -1 +1 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason diff --git a/framework/projects/Lang/active-bugs.csv b/framework/projects/Lang/active-bugs.csv index 33bc2855d..dad34fb70 100644 --- a/framework/projects/Lang/active-bugs.csv +++ b/framework/projects/Lang/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,2c454a4ce3fe771098746879b166ede2284b94f4,687b2e62b7c6e81cd9d5c872b7fa9cc8fd3f1509,LANG-747,https://issues.apache.org/jira/browse/LANG-747 3,1f001d06a2bde5ee4e3204ab38c4b1db8e95db0b,2c9c8753165dc7ce5dd1d5a6d741b445b33302c2,LANG-693,https://issues.apache.org/jira/browse/LANG-693 4,4ddbd99c5805781bd3c2287ab7920fecc23dab53,fb47b96ab635d7cc6e9edefdddc46f1baf63b117,LANG-882,https://issues.apache.org/jira/browse/LANG-882 diff --git a/framework/projects/Lang/deprecated-bugs.csv b/framework/projects/Lang/deprecated-bugs.csv index c9c0c1ea7..96afd1673 100644 --- a/framework/projects/Lang/deprecated-bugs.csv +++ b/framework/projects/Lang/deprecated-bugs.csv @@ -1,2 +1,2 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason 2,aefc12c38171e1a84a90dc26e51b2c7aa111fdee,09d39029b16dee61022dc8afde4d84f523f37813,LANG-879,https://issues.apache.org/jira/browse/LANG-879,2.0.0,JVM8-NonReproducable diff --git a/framework/projects/Math/active-bugs.csv b/framework/projects/Math/active-bugs.csv index 7f0806e07..4ee131ab6 100644 --- a/framework/projects/Math/active-bugs.csv +++ b/framework/projects/Math/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,1780da711d88f669e29e0517f83d692fb80099db,0da657a65c92b086a301a6ffe9e34ec272f8889c,MATH-996,https://issues.apache.org/jira/browse/MATH-996 2,ad5c90bbabdbce834068bc79d3eb00c823e97008,c0b655ace5665c0cd32e3f5e5b46edad4d223125,MATH-1021,https://issues.apache.org/jira/browse/MATH-1021 3,de4209544270def43e39db0d214d1564939f8e40,92c4697300e8ddf06152bc0838c738d50673c1d2,MATH-1005,https://issues.apache.org/jira/browse/MATH-1005 diff --git a/framework/projects/Math/deprecated-bugs.csv b/framework/projects/Math/deprecated-bugs.csv index f67687ba2..90f7ed326 100644 --- a/framework/projects/Math/deprecated-bugs.csv +++ b/framework/projects/Math/deprecated-bugs.csv @@ -1 +1 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason diff --git a/framework/projects/Mockito/active-bugs.csv b/framework/projects/Mockito/active-bugs.csv index f54e3f55d..eab6a1285 100644 --- a/framework/projects/Mockito/active-bugs.csv +++ b/framework/projects/Mockito/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,837fd054a0da2c8706732dcd4bc880a64b957c78,4e9d7607825c3c668fd43f19507bfead566c528c,188,https://github.com/mockito/mockito/issues/188 2,d30450fa1172d79cc051b2fe8064744c2ac7a003,80452c7a42777513c35fd30c4e12bcd7ee438fb9,197,https://github.com/mockito/mockito/issues/197 3,4e9d7607825c3c668fd43f19507bfead566c528c,3eec7451d6c83c280743c39b39c77a179abb30f9,188,https://github.com/mockito/mockito/issues/188 diff --git a/framework/projects/Mockito/deprecated-bugs.csv b/framework/projects/Mockito/deprecated-bugs.csv index f67687ba2..90f7ed326 100644 --- a/framework/projects/Mockito/deprecated-bugs.csv +++ b/framework/projects/Mockito/deprecated-bugs.csv @@ -1 +1 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason diff --git a/framework/projects/Time/active-bugs.csv b/framework/projects/Time/active-bugs.csv index 82f46d5b2..3845c4096 100644 --- a/framework/projects/Time/active-bugs.csv +++ b/framework/projects/Time/active-bugs.csv @@ -1,4 +1,4 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,8612f9e5b88c1bea933ef9ab1e431f5db3006b48,9a62b06be5d0df8e833ff8583398cca386608cac,93,https://github.com/JodaOrg/joda-time/issues/93 2,8d109fe1a999a11b4557536dd96f9210460a5936,8612f9e5b88c1bea933ef9ab1e431f5db3006b48,93,https://github.com/JodaOrg/joda-time/issues/93 3,3ba9ba799b3261b7332a467a88be142c83b298fd,8d109fe1a999a11b4557536dd96f9210460a5936,77,https://github.com/JodaOrg/joda-time/issues/77 diff --git a/framework/projects/Time/deprecated-bugs.csv b/framework/projects/Time/deprecated-bugs.csv index fac6192a1..e0ed8fd91 100644 --- a/framework/projects/Time/deprecated-bugs.csv +++ b/framework/projects/Time/deprecated-bugs.csv @@ -1,2 +1,2 @@ -BugID,BuggyCommit,FixedCommit,IssueID,IssueURL,D4JVersionDeprecated,ReasonDeprecated +bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason 21,c5a5190e19c062405ae4825c36e2172ae64202fb,0973b46039c4db0be3a969d36c220dee1e1fb4da,122,https://sourceforge.net/p/joda-time/bugs/122,2.0.0,JVM8-NonReproducable From 2b501c3bf486bcdf831eeede79b9fd2a7de51c91 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Thu, 12 Mar 2020 10:52:22 +0100 Subject: [PATCH 09/35] Refactoring test_export_command to use the get_bug_ids method --- framework/test/test_export_command.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/test/test_export_command.sh b/framework/test/test_export_command.sh index f5f3ce4d4..d60ba7658 100755 --- a/framework/test/test_export_command.sh +++ b/framework/test/test_export_command.sh @@ -46,7 +46,7 @@ test_ExportTestClassesDir() { rm -rf "$test_dir"; mkdir -p "$test_dir" # Iterate over all bugs - local bids=$(tail -n +2 "$BASE_DIR/framework/projects/$pid/$BUGS_CSV_ACTIVE" | cut -f1 -d',') + local bids="$(get_bug_ids $BASE_DIR/framework/projects/$PID/$BUGS_CSV_ACTIVE)" for bid in $bids; do local work_dir="$test_dir/$pid/$bid" mkdir -p "$work_dir" From 806f152dccc9773c7b24f1b1baa2a737ed7d4be6 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Fri, 13 Mar 2020 13:05:21 +0100 Subject: [PATCH 10/35] Minor tweaks and restoring commit-db files --- framework/core/Constants.pm | 8 +- framework/core/Vcs.pm | 4 +- framework/projects/Chart/commit-db | 26 +++ framework/projects/Cli/commit-db | 39 ++++ framework/projects/Cli/deprecated-bugs.csv | 2 +- framework/projects/Closure/commit-db | 174 ++++++++++++++++++ .../projects/Closure/deprecated-bugs.csv | 4 +- framework/projects/Codec/commit-db | 18 ++ framework/projects/Collections/commit-db | 4 + .../projects/Collections/deprecated-bugs.csv | 48 ++--- framework/projects/Compress/commit-db | 47 +++++ framework/projects/Csv/commit-db | 16 ++ framework/projects/Gson/commit-db | 18 ++ framework/projects/JacksonCore/commit-db | 26 +++ framework/projects/JacksonDatabind/commit-db | 112 +++++++++++ framework/projects/JacksonXml/commit-db | 6 + framework/projects/Jsoup/commit-db | 93 ++++++++++ framework/projects/JxPath/commit-db | 22 +++ framework/projects/Lang/commit-db | 64 +++++++ framework/projects/Lang/deprecated-bugs.csv | 2 +- framework/projects/Math/commit-db | 106 +++++++++++ framework/projects/Mockito/commit-db | 38 ++++ framework/projects/Time/commit-db | 26 +++ framework/projects/Time/deprecated-bugs.csv | 2 +- framework/projects/lib/commit-db | 0 framework/test/test_gen_tests.sh | 3 +- 26 files changed, 873 insertions(+), 35 deletions(-) create mode 100644 framework/projects/Chart/commit-db create mode 100644 framework/projects/Cli/commit-db create mode 100644 framework/projects/Closure/commit-db create mode 100644 framework/projects/Codec/commit-db create mode 100644 framework/projects/Collections/commit-db create mode 100644 framework/projects/Compress/commit-db create mode 100644 framework/projects/Csv/commit-db create mode 100644 framework/projects/Gson/commit-db create mode 100644 framework/projects/JacksonCore/commit-db create mode 100644 framework/projects/JacksonDatabind/commit-db create mode 100644 framework/projects/JacksonXml/commit-db create mode 100644 framework/projects/Jsoup/commit-db create mode 100644 framework/projects/JxPath/commit-db create mode 100644 framework/projects/Lang/commit-db create mode 100644 framework/projects/Math/commit-db create mode 100644 framework/projects/Mockito/commit-db create mode 100644 framework/projects/Time/commit-db create mode 100644 framework/projects/lib/commit-db diff --git a/framework/core/Constants.pm b/framework/core/Constants.pm index ee3341eba..28938daa1 100644 --- a/framework/core/Constants.pm +++ b/framework/core/Constants.pm @@ -270,7 +270,9 @@ our $BUGS_CSV_DEPRECATED_WHEN = "deprecated_version"; our $BUGS_CSV_DEPRECATED_WHY = "deprecated_reason"; # Reasons for deprecation -our $DEPRECATED_JVM8 = "JVM8-NonReproducable"; +our $DEPRECATED_DUPLICATE = "Duplicate"; +our $DEPRECATED_JVM8_REPRO = "JVM8_Not_Reproducible"; +our $DEPRECATED_JVM8_COMPILE = "JVM8_Does_Not_Compile"; # Filenames for test results our $FILE_ALL_TESTS = "all_tests"; @@ -330,7 +332,9 @@ $BUGS_CSV_ISSUE_URL $BUGS_CSV_DEPRECATED_WHEN $BUGS_CSV_DEPRECATED_WHY -$DEPRECATED_JVM8 +$DEPRECATED_DUPLICATE +$DEPRECATED_JVM8_REPRO +$DEPRECATED_JVM8_COMPILE $FILE_ALL_TESTS $FILE_FAILING_TESTS diff --git a/framework/core/Vcs.pm b/framework/core/Vcs.pm index b3e5c51d2..3adc63667 100644 --- a/framework/core/Vcs.pm +++ b/framework/core/Vcs.pm @@ -123,7 +123,7 @@ A Vcs object has to be instantiated with: =head2 active-bugs csv -The active-bugs (csv) file has the structure: C. +The active-bugs (csv) file has the structure: C. Example for Svn: @@ -419,7 +419,7 @@ sub _build_db_cache { my $header = ; while () { chomp; - /(\d+),([^,]+),([^,]+)/ or die "Corrupted active-bugs csv!"; + /(\d+),([^,]+),([^,]+),([^,]+),([^,]+)/ or die "Corrupted active-bugs csv!"; $cache->{$1} = {b => $2, f => $3, line => $_}; } close IN; diff --git a/framework/projects/Chart/commit-db b/framework/projects/Chart/commit-db new file mode 100644 index 000000000..6cf11b7c1 --- /dev/null +++ b/framework/projects/Chart/commit-db @@ -0,0 +1,26 @@ +1,2264,2266,983,https://sourceforge.net/p/jfreechart/bugs/983 +2,2240,2242,959,https://sourceforge.net/p/jfreechart/bugs/959 +3,2225,2227,, +4,2182,2183,, +5,1695,1696,862,https://sourceforge.net/p/jfreechart/bugs/862 +6,1164,1166,, +7,1086,1087,, +8,1084,1085,, +9,1082,1083,818,https://sourceforge.net/p/jfreechart/bugs/818 +10,1064,1065,, +11,1024,1025,868,https://sourceforge.net/p/jfreechart/bugs/868 +12,846,852,213,https://sourceforge.net/p/jfreechart/patches/213 +13,817,822,, +14,809,811,, +15,747,749,, +16,741,743,834,https://sourceforge.net/p/jfreechart/bugs/834 +17,621,622,803,https://sourceforge.net/p/jfreechart/bugs/803 +18,620,621,, +19,430,434,, +20,281,283,, +21,227,231,, +22,225,227,, +23,209,210,, +24,188,190,, +25,162,164,, +26,102,103,, diff --git a/framework/projects/Cli/commit-db b/framework/projects/Cli/commit-db new file mode 100644 index 000000000..729a25e30 --- /dev/null +++ b/framework/projects/Cli/commit-db @@ -0,0 +1,39 @@ +1,8f46f467a33ace44ccd9f394910940b6c48a3827,b0e1b80b6d4a10a9c9f46539bc4c7a3cce55886e,CLI-13,https://issues.apache.org/jira/browse/CLI-13 +2,b0e1b80b6d4a10a9c9f46539bc4c7a3cce55886e,2ff9573ffb08dd52ec3a55a49f2d77a1e94efbdf,CLI-51,https://issues.apache.org/jira/browse/CLI-51 +3,85248e8ae52232ed75c2b4c52d4071bdf192db37,d35f2fa7a06457469a617677eeb4c1dc21484006,cli-1,https://issues.apache.org/jira/browse/CLI-1 +4,8ca630b76ebcfe24915a9edb3a6de756cab761c9,f78959477b207bf710049aa35730ef7659f0a1b9,cli-1,https://issues.apache.org/jira/browse/CLI-1 +5,2b0a94aee899d9e7d855c402ad40eb4e318f46e7,3880640ee6268a2ecb2912e1ae896153dc2229e5,CLI-133,https://issues.apache.org/jira/browse/CLI-133 +7,73276486b1f39510bf27cb6c0684da805b121f5d,4ee0d6c4f1b553858aeabf3ee6fb37d764f263e2,CLI-121,https://issues.apache.org/jira/browse/CLI-121 +8,6a6bb48840aa0043200a5d9f6fffea47aea1a8db,4f407378c93b9e2a8e24c855e8bed5eb12bf7a06,CLI-151,https://issues.apache.org/jira/browse/CLI-151 +9,298804b71d4e5f8b621f48a300f421229a3f5c86,fea35870b69c0d37ab36ab6783edbc7aacc0842c,CLI-149,https://issues.apache.org/jira/browse/CLI-149 +10,d0f6128191443bbf49e1c9fde616f87c16486db4,d72a578a8949e4b1c437ec55997d8786836f139c,CLI-156,https://issues.apache.org/jira/browse/CLI-156 +11,33abc034037e3ef5d85d1b03010122617c386827,d36adebd3547279b709960c902c3fb7b89a9a4ef,cli-1,https://issues.apache.org/jira/browse/CLI-1 +12,b8f825936796e2f5b6663de021aefa53fa728f67,aa050a69b2395f496f953f4f9c4f63a475dcf430,cli-1,https://issues.apache.org/jira/browse/CLI-1 +13,e2ba946ea0e01c36c84f97f483e1d22cfd64b917,538fb6889f0387a40b821cfb315685e929110736,CLI-61,https://issues.apache.org/jira/browse/CLI-61 +14,b7b2069f9d846c6aea5fee98508ec1491fdf1123,c338c8aca40d43efda580057f6d41ba228e26ec1,CLI-144,https://issues.apache.org/jira/browse/CLI-144 +15,c338c8aca40d43efda580057f6d41ba228e26ec1,a93139165b160af1c908c85a06b0af6b3dda3387,CLI-158,https://issues.apache.org/jira/browse/CLI-158 +16,eed25612b11caf1f4e6e572e58db4306f31803c9,f104dd060c6c88450ac9ee9eb818b26374512440,CLI-123,https://issues.apache.org/jira/browse/CLI-123 +17,cfbb46adb163d9b8af00e9a29e6b42d597f8804f,9c5ce3501938cff01d78b7a1fff10a60abe9e0cf,CLI-163,https://issues.apache.org/jira/browse/CLI-163 +18,9c5ce3501938cff01d78b7a1fff10a60abe9e0cf,c8606251c904dfaf5303f71b788e12f7fff15fab,CLI-164,https://issues.apache.org/jira/browse/CLI-164 +19,c8606251c904dfaf5303f71b788e12f7fff15fab,b1331806960001da95424315b6103d755107b519,CLI-164,https://issues.apache.org/jira/browse/CLI-164 +20,b1331806960001da95424315b6103d755107b519,99aa05af2bfef3980ad8f94230cd077e8d30c5ea,CLI-165,https://issues.apache.org/jira/browse/CLI-165 +21,028893dad71e4823f67a427903699999d6eedd4b,9cd78b4c83df53ba302baadac4c976ca84f428f9,CLI-150,https://issues.apache.org/jira/browse/CLI-150 +22,ae2ff1d12efd8f0f55bfa1febd8c77af4bb433c7,db4a638cf642fd7d031fcaebffa306b0a16ba771,cli-1,https://issues.apache.org/jira/browse/CLI-1 +23,88cf9e4ab6e1b127de46fb2540f4d1fffac56442,2ddaae14dd23643a4b5f71f8274534b0b34556a4,CLI-162,https://issues.apache.org/jira/browse/CLI-162 +24,ac6e754ecfc86822aa1ab74d657b0b3f0222b2e6,02dd7c20646bf67dcfb6f7da6beeb7cdffc6ac22,CLI-162,https://issues.apache.org/jira/browse/CLI-162 +25,02dd7c20646bf67dcfb6f7da6beeb7cdffc6ac22,6a585453d385449dc23d90479488f92f02cd6b83,CLI-162,https://issues.apache.org/jira/browse/CLI-162 +26,879c762baac4a9d7aade43d302e730e239a54c21,aa2434d301c49d100f50af544333886a6767ce9d,CLI-177,https://issues.apache.org/jira/browse/CLI-177 +27,6a999186695d404ccb6c1528df68fe2eb42863c2,4c971f08861e8cefb8ca9ac20799bfdad4e973a4,CLI-182,https://issues.apache.org/jira/browse/CLI-182 +28,10b14afb9ff42a3f216296f526f65d001b545e3f,3433f467554985a6bd9bf530a4810376be6fe250,CLI-201,https://issues.apache.org/jira/browse/CLI-201 +29,a2cf820dd69e55050a8db004c305a6133c3feb2e,20002f7f4e971349a1c95dd3b05846c5b824b65c,CLI-185,https://issues.apache.org/jira/browse/CLI-185 +30,5560a086886c4d6dba2c30eb75e57e3167765c6e,324b7f901b91614927926a5bab1d9e0e2325f018,CLI-203,https://issues.apache.org/jira/browse/CLI-203 +31,4381ba54c845402f18760fb04ff1f6db1922f6b2,4d2c8a22d1e1831858029b8ef225a07f4445a221,CLI-205,https://issues.apache.org/jira/browse/CLI-205 +32,23df383408513eddaf3e6dc4244c89fd48427695,777cb81088d47472df21a452edd5ba568d4b3fdf,CLI-193,https://issues.apache.org/jira/browse/CLI-193 +33,99222749ca9b0d9338ed5df796db9c32b82424b8,483f811dfefdc6bee162481425f261d983f15e4a,CLI-207,https://issues.apache.org/jira/browse/CLI-207 +34,40c4892e932afba6ac2ace430ee59a465565bd50,62a3b36efc78e53c233c2fb49cc8199c5eabec1d,CLI-215,https://issues.apache.org/jira/browse/CLI-215 +35,a154084dbf5af77f6f3a64a7561fd77aadb78429,085a1538fa20d8e48faad49eaffd697f024bf1af,CLI-252,https://issues.apache.org/jira/browse/CLI-252 +36,f6af62367494ff8d0d7844f7f435e5ee36c81dcf,afc13c445a4c80432e52d735685b272fadfeeddf,CLI-266,https://issues.apache.org/jira/browse/CLI-266 +37,9e51962309fac2806f5fe0e4e3df94e0e187607a,1bf9e6c551b6a2e7d37291673a1ff77c338ce131,CLI-265,https://issues.apache.org/jira/browse/CLI-265 +38,5764b6270287a74d31cb83f70ab38bdd916e619e,ac2a1c85616f0140418de9190389fe7b80296c39,CLI-265,https://issues.apache.org/jira/browse/CLI-265 +39,70a392756c713f404fed0e3ddd48aa18ce20485f,0b453953fa5f55cf2e8fd034d4d55972deb7647a,CLI-274,https://issues.apache.org/jira/browse/CLI-274 +40,e400f9256a2af526e9a06b9d5d2965965109a8db,b0024d482050a08efc36c3cabee37c0af0e57a10,CLI-282,https://issues.apache.org/jira/browse/CLI-282 diff --git a/framework/projects/Cli/deprecated-bugs.csv b/framework/projects/Cli/deprecated-bugs.csv index bfa8ed873..c826f601d 100644 --- a/framework/projects/Cli/deprecated-bugs.csv +++ b/framework/projects/Cli/deprecated-bugs.csv @@ -1,2 +1,2 @@ bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason -6,3880640ee6268a2ecb2912e1ae896153dc2229e5,6f972cf56d7a3054bac902fecb6d3dd5ee310dea,cli-1,https://issues.apache.org/jira/browse/CLI-1,2.0.0,JVM8-NonReproducable +6,3880640ee6268a2ecb2912e1ae896153dc2229e5,6f972cf56d7a3054bac902fecb6d3dd5ee310dea,cli-1,https://issues.apache.org/jira/browse/CLI-1,2.0.0,JVM8_Not_Reproducible diff --git a/framework/projects/Closure/commit-db b/framework/projects/Closure/commit-db new file mode 100644 index 000000000..8d3ec0dca --- /dev/null +++ b/framework/projects/Closure/commit-db @@ -0,0 +1,174 @@ +1,2353d807058bc2a20af279a480d6652cdf892f4d,1dfad5043a207e032a78ef50c3cba50488bcd300,253,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-253.json +2,61095090415cff7cae4f3645fa76ee7cdd3ee23d,d1cfe67977d8f3aaa85ec20c262171da394d5977,884,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-884.json +3,3cc85c3c37aa8bc834a4a86f91ddeb399d854024,d80fcc04239ab8c4cf781273c4f9bc54cf06f479,864,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-864.json +4,1c95684b4a6add525b3070cbd27c234981520676,efefb736fccc2039b5fb079710b3f2ac82b8c6e4,873,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-873.json +5,722d1192e7ed174a12911dce09594228e31240e9,59eec92e364b2ec2cec9dd63449f5c0134983f18,851,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-851.json +6,929b1c8fb38d8a7145f6e6f96255a764d92f5b3c,9f7a353385bf0b93cdaeaa56cc5b1450db790127,635,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-635.json +7,d93f2d5aaf346749eaa6ae1641a171aeb177de5d,e736b1c92981fafdc87f3f41f66918305f173734,841,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-841.json +8,e237d2643b102fbea616717806391f48e2ce506a,6300a43566d4adcf8828128267808a8740edc835,820,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-820.json +9,19233b94d925c331933feff6268dc2941fa988b1,e9c15465c000c19ef4e0b8f68a680589ae4111d7,824,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-824.json +10,f681fd8045bfa4a41f3a66c942b97fb04335b7cc,0884a4cbef1c82153ef306477a12af0480385a35,821,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-821.json +11,bbf1b138e20a36ca79b2a012ae145c943929a6dd,482b767639e6eec7c30d8898851560c41b66d885,810,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-810.json +12,919fda930ca242e2d1490e6413b601c8bad701b4,d06ac163013a3779fcec7c2f544ba99d08f69f58,794,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-794.json +13,8b8c01a39b94069a9dac08b92c27dc9b9532ff7f,d6d733f461ee5ba26e9326c1c7609f1f00d6d2db,787,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-787.json +14,b7c2861bf45b358b26ebc5ee1be9b6ce96bec78a,4b15b25f400335b6e2820cb690430324748372f9,779,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-779.json +15,f9fbad23b8fb59464e395c164197750abb5db296,968b3f467f51c6bfec18af1fbcf980a0f19a1fb3,773,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-773.json +16,33ab4df84afbdb36216b8a1ea3a526c438615e26,3b97e5e4212c769daa22a96094ed19b4658c8760,772,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-772.json +17,e5e1253ac6d43e26271cc658a42fdb1477454faf,33ab4df84afbdb36216b8a1ea3a526c438615e26,688,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-688.json +18,686146c4de7d2bd985156ae15175365633dd0f94,ea119a2d06328852763f9ee447c3bf74fa1f83dc,768,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-768.json +19,8d91f37d29abd8682e298a23f63b96f2f2def659,686146c4de7d2bd985156ae15175365633dd0f94,769,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-769.json +20,7e98b9c9511d197ed572b73214814ccb546a4b78,ebf229b05f4ee71bc05d70830f5dd5683271d661,759,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-759.json +21,a9250a5aac439a72f71c248de07f042674fb2076,1787d7b2cff83a0f177dd958033c53e4502406d2,753,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-753.json +22,c8e5f7acc524fe629f73876acfb463619a02f34b,43a55234ef122a1ed98681ce0350506207b878d5,753,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-753.json +23,30a88df811879f5d389f56257c93ab5f740a0518,b59cdd9e2dc64d2db86b90982c200a78f2f85e50,747,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-747.json +24,59aac0b247db74ec7047132f368953935edd81b8,70ca6014779735bdc52ca0e80e528257829a15e7,737,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-737.json +25,372eb11e44b8559004bfe78a5b4003caf0072135,2e904fcdc3bc09e3bff557fcfca383ba7e450095,729,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-729.json +26,d36428ed0ba16afb7fa603154be162514303fbcf,372eb11e44b8559004bfe78a5b4003caf0072135,732,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-732.json +27,1d9ecb5328bbde5ee84dbfe2d74bbd318b89b6d7,7a8983042131c5a9c2b5421ae42075cbb8ef1aeb,727,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-727.json +28,5c46a579786510ff342dcf622148e2bb3da0874e,59dbb7a28680caad08ddb1658123fe0cbb1ae689,728,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-728.json +29,3587cc3bb550dadee3c9aeac44041aa29087e74e,6924915efab89f921fd0779fe200fecc1bf80847,724,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-724.json +30,6da361c5865ecac18ee147014c9e84244d19c2a9,38e2b8f247423734adec3dbd76fa22da1a3561a8,698,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-698.json +31,82dd7814fd865ac31435cd239cb61c531900bd03,0a670cb51fd56c12c19f98884c9513792ebc3f76,703,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-703.json +32,116e0d5aea0f0f968a6d2ea4e085930331919752,66c8c695fd8130e3ede6f77c6e5cc1ec96a0e9b3,701,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-701.json +33,24c113d396a1c3e175bf70fe572b496ff7a68144,382422adae8e9f07fc23c94089c0ebe08a2174bc,700,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-700.json +34,bc018d6c44e70b5c02016431a2f3604b3e6fc45c,87b154f89cba3c67045cd7a783b79231d0630a4c,691,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-691.json +35,7e3e1a667c866458cca12b7ade9965b4e6ddf3c0,22784dc96c391b01692ce686eb93b9aa0ef74ede,669,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-669.json +36,c5ec81dc0b6aaaefcdfd84ee10e43f3312350d23,be397ee0d0be2aad8f71d12f097b17563866445a,668,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-668.json +37,375879beef8fcffaae51749a7ac537d2eb140802,7e93d521cb67ce33018315234fafe8a5aa30ee1e,663,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-663.json +38,f067d0e1d84d631ec0c1e8e8cd812bbda1497958,8cf08115c6b252f8c6b54348a4089dccc45a01fb,657,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-657.json +39,9a40e654ee3aa65d01671e4da63f292d2e4e03c0,d577973fb378dfe0d05991ec0dfa6c1f40e574ee,643,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-643.json +40,a90f4b4fba37c52376d5f074729233d59ce08408,6ebc0c3d7d4da7d2cf95f53d4ea790e89d3abc7a,284,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-284.json +41,974027e9f66882bc75840bb15cfbaa206e02dd0e,00b1517c53912ac6843c257c0a6ead1176e8c5ee,368,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-368.json +42,f74939a64a205d89721383c24874fe4e41439cfd,fb01427a445ebfeb3af5e220a98ccaced339b73e,644,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-644.json +43,29f4990e25842d232922171594d835888627ace0,f636f23bdef4b27752ca249a28463ec1b6af1f0b,314,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-314.json +44,3e66c9c827308d2f549a16440e3f0ef7fd844e04,64bb2291f9a9bbab67d865dffe603f8a0df8ef30,620,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-620.json +45,a55420ec8457fb0c7be663b2afbdbc0a60064901,6aa71f116df0102a98c463f471ad8ddd4dba01f8,618,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-618.json +46,edb6e4c48c19be681f38e9ee27e67b66a1944640,4a1a31c6a50a0fbe25fa33277909bd51f1deb8e9,603,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-603.json +47,c5d7b308ecf260bf6ccf4b20ac256074fc42768f,aedce35970673f20696d5721acba13e986cc764c,575,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-575.json +48,5524adbda991632656059566b69cc2771ba42b7d,46da17d59abb4f9c48b6ffd31601c212490b970b,586,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-586.json +49,62581c697a626f2cd848b98648aa42329d482859,1a7ba5cb0111dd3ed9afd9691cab39b3c341e408,539,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-539.json +50,9d3ed3fb128d2378e76f65e15bc45783eaf4cd57,c3b630fc9c2a1c4eb7cb718f8d324bfb306cb9df,558,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-558.json +51,44c2d71195e5c4a3ded0ef2b2e593cabdeeec08b,a02241e5df48e44e23dc0e66dbef3fdc3c91eb3e,582,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-582.json +52,d79072969c2f31860ea1f55e392a146c49bc2d0f,5909c3db59b16886917456ab950ef9661a7fe6b1,569,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-569.json +53,4adf024b5eb87f6b760b40e9923ed1391bca4152,9959716b01fc5231ae68bc7a24454ce45d341606,545,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-545.json +54,fc307189f141773d0a66c235f8f37f05c8252d8d,7e9b8336568ea7f05c33e1b58eb67fa6d4eee756,537,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-537.json +55,1d13eac7441b980804c7ddfbe48a10a2ec3431d0,f2c0cb1f67ecb3315c0cb11326c9cb04db07ee8a,538,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-538.json +56,f791e3a7a172728b54a337c94bff4bc27c7adc43,9e921fa973c603473f745fff76c44620fd7719e3,511,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-511.json +57,2d3b9a6c591ef14e8c9208a3f049a1630c993d84,f759f431d5a7a2261b44440bca9cfab93ae25302,530,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-530.json +58,7876ab2f80475ead7eb239dda7f65348c5cb7bdb,f640b5dec722422c93a9a624cd21d30b5e321858,528,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-528.json +59,5331b915cf55e8d5f030b6cc62487757cfe50cd6,49b4ef31c850611a5c85d95140b4cedda7f4c59a,521,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-521.json +60,042b972a5853424d39be1cb76f2710d4bc3380e0,fbaadc736f0031dd84bebea33abae497b47158cb,504,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-504.json +61,bac71221414f7f42d31d3634c935c2ae1a940376,34e4616a924bf272c076039e143e20f1d792731e,501,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-501.json +62,1e07047234938543ea364f68ec0f29686dbc12f1,b12d1d6489329c989b15635f6f7f06681b3f6582,487,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-487.json +64,620fc21fa289cf0fda52c3d310a41d9fc2103be9,de726510af4329fb8eeb8a54b2d93d8d37c87545,489,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-489.json +65,9465f9139201814dc532adc33fe44a169a101937,48aea0ff7d027507362007415963a4b662fb10a7,486,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-486.json +66,984bce0d9f36b0a21a0f9b51dc68fca0175aa1c8,59a30b48325cccadabae8687fdf603d72e26c157,482,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-482.json +67,8777edb959dfea307495e667c2c01834adabb906,aa89d05b48332d68b8e6ebcee427b2ac3b4e3184,459,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-459.json +68,f392c8416faeb6dc41e663912ad7f4421d893a90,9d5a6e3082dd99f6c44df1b3526b9e83b79aa7da,477,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-477.json +69,036f2173d91679c7c914da196761c0f7d05e5389,63df133d0850805818d1e280ba47dcefc9763c89,440,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-440.json +70,7433d30ac4cb2334d22e66299846118686efe939,ec4a34c2bd87ba54fa8770affdeeea4f3c42089b,433,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-433.json +71,c498ecb791f2dd8a1b37e74f94c1c119549607bc,db1fdf97454a6e4ff2d29cab5f1ef2273b54c0b4,254,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-254.json +72,3f8896c5f08cd04efabfc1bd9915ebfd93fb832a,e323b879de2e53e5eedf6e7afb0d582382c6248d,435,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-435.json +73,760bded3242093d86611a82e81fdca302a1487f1,ee8344091722c28c9351e78dcb4155fbfddfd1af,416,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-416.json +74,d5bf6b425c5d52b28136afc9770876139b34acd7,03fee32a06ccf8257b2da67b9034270be38805ae,413,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-413.json +75,31baadd1293c5ae7af05b3a06a1ba3a06403e4ed,c6cc58a9bc617483366141386e047b085b4e83ff,395,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-395.json +76,a6ca7c196cb8f9bcddefd038d80217c3de486e4e,78b01c3a435cd175ce3ee70f97b2f8faac342cdc,384,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-384.json +77,25827942ba9d45825dfd92faa37a78dbc9034ad0,b88400ce0e9c1a0dadfd3417c256b02a82f38fe1,383,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-383.json +78,b40c6c7e0e323f1b69fe7f9686ed8f763b01faf8,25829b0395164533782d608399096803321225a7,381,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-381.json +79,f3c23f757da302483c86414ec8b9c502f10fce00,5d397618f3c86d9c444a4c4c6441267b8a89a21d,367,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-367.json +80,a2153e7405e09c8fa413a01874c949b8b2bcd32b,58786c3f717fa506280127265cd68fedf17de0a9,364,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-364.json +81,a65a72e9dd320790710beed1593dd6358c4bf029,084b868bc2fbf9d6d0319e5a362ade1d7f43f899,251,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-251.json +82,1a7fbd18b47c102152869c3b046b65ff0f12fc43,a857aec27d79fc234fddd4a72c1215af0251b2d8,301,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-301.json +83,840ddca5b28cea7563a5be20d2624478af67bc02,43c245f0ff8d409e81e25687e69d34666b7cf26a,319,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-319.json +84,9f8345afa4e5eaa24e3ff6a84d16691764698799,4839e1ea57f9a1a26debd2cc8f22beef7282b490,215,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-215.json +85,2410995673fcaaaec5d4d48eae9139127c64acac,21a2103d7fa5664ea324ef9ee25b4a8922e50955,311,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-311.json +86,5cd9c1efe90dc7c1be33cd7f8c1dcbaa9225909e,0907b6618a60b2de23c8f7ec2217a37dc5e9a091,303,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-303.json +87,e9f7e6114414f68deb90f4116861d7a054365404,f64a3f51bd346547ce6e1edb30601df73dff27d9,291,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-291.json +88,d68322323aa52d943b9dc5618ef8ea81d43d7b4f,6a17da87f9e132bdc147b33223826da040c77a6b,297,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-297.json +89,e7ad2425c384dcb18a34bec8e147a91c658d5118,4b065734d8afb5ab0d241ee5da22af0fa9d75ec3,289,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-289.json +90,97485ec652a6d3471c539d5b0ead4f05707db139,c5e143f7df0c3d73f6634488cac8ad8e7054fe05,274,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-274.json +91,8eee751ff9f460c4a769d598c65b1cd643dabc7b,7eb2d84de101a125d41d3a1157f4eed789ca4a0d,248,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-248.json +92,39dde4ca5df6263d7058029e081a710d7fa13de9,8980b60033b1c6853cbca593ec89d3d332adf7dc,261,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-261.json +94,9d72612f028076aa43a9b259c29b2a940398465f,7cc748592670105f9d783b1b85f0f27e938db4ff,255,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-255.json +95,f93cdf97ea803c4702023daf1326dc45172de611,f6607996d6d3bd6820ce3848d147991b27600a12,66,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-66.json +96,b9bc1534921f1e98da5a373e39ea2d71a4a39175,807aaf2569e9eb09761068c5aeb95654daea30d9,229,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-229.json +97,4cf197f69d8733ac68b02672b2e23d7939e5eb76,ee749e286b477f8d6f53ff5960a38453baf50f31,200,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-200.json +98,d768bbc4212ee0d95d20d52426fbad47f0f9c56e,d1df970451b5a18956448097b3afb43f3a82263d,174,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-174.json +99,ccbbcbf71b1cb8771c9cdad1d28b367ce6ea0da2,8aa879a4eeb18cfc8d13e6c843a32b7f41ccd516,125,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-125.json +100,71a6f6049d9359ea047adafc2a77e4dfb1398f41,6d00ac1a68612aade8a19d7ecc9b180f00ae5234,144,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-144.json +101,2d892b164f41c053de4d56e424f0815576c6dc54,369282db85567f1bf2c9635d0c0043d47f114814,130,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-130.json +102,9a1ddf5f982e54ecbc3e028dfa84ef9bd07a8044,d48c365ba8251057a71a2e2b7aabff640209e31b,115,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-115.json +103,67289ae4cbaba3ae70cd2e8fb92f3f2898039dfb,2f5cb1622371de540fe20dcbe0411651ec89f952,113,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-113.json +104,1be1c2636ef14071afa7da5cb8988972bd90149f,67289ae4cbaba3ae70cd2e8fb92f3f2898039dfb,114,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-114.json +105,8e121a1fe0cea18df772320da1b663a6d663a0e8,113a08f59e8116fb11a7d4ceb11d5bb09b74ac3c,106,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-106.json +106,6a36f04485599820ff86441accee002b4deec2eb,e609670bb56e0c7216c9476a5f6a5594e7f1acdb,19,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-19.json +107,aae547f4d911dfbf42ca5a31aeb401ac83725a14,49e9565febba904484396e2aef7dbe86f55e9cc5,1135,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1135.json +108,acd31d1221421da27c4fd1a55ec751488ad85744,aae547f4d911dfbf42ca5a31aeb401ac83725a14,1144,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1144.json +109,bb893266036cbc7f0b434794d4fd9306513357be,7d26b7bcae8311f3c032bae3f1df27b590a4c174,1105,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1105.json +110,5917817198c13401d7eb4e15f3e462fa7f46f1fe,13fb7fcbcad87f8df63535491627bf7b01471064,1111,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1111.json +111,450f0f6ef5d9b1bea2bc556e6029fa4f2f8554a2,6f981f77e5bd9e2eecbd851a2a02933cdb9af0d8,1114,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1114.json +112,fb0f2fd881cd00766b90d78072ea9ab30e5d7da7,b168c8822b2d3d12515ec6477812674c8805bcf3,1058,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1058.json +113,fa1e469dde0bdfd6978a3266db7803b8d39d1d69,0fb76a81bbdd8ab84a00b8be2099abfb83c88668,1079,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1079.json +114,a44af4540d0f2bf5fc5ecd0a34c9fea656ee574c,5f03c6817341d39d8dead76c7511fd6bb0b9009f,1085,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1085.json +115,2d6e1c78f41248fbbb1eec43b23e7430e2bc7885,4597738e8898f738c1f969fe90479728be81cc80,1101,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1101.json +116,b9262dcd42d1b8f53c2a974c182feba2899dc74c,b80dfd3b0e5e4b490b7afb469320d18bac4520b4,1101,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1101.json +117,6c43134465d961e19098964c6be69bf48fe8e860,871bca1f36c5c06aa880ce21429da63a76f8f6e9,1047,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1047.json +118,046e0b226e963bc584c2a6cd3c2b471777c5cc53,f17961ae4d3d7cf5ea291d82804239982d009ef7,1024,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1024.json +119,3e0d176234636b3dfba0a3060b18488c6752ae8c,046e0b226e963bc584c2a6cd3c2b471777c5cc53,1070,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1070.json +120,9f890320310e8ecb8dd2b6dc043eb24d8b0a25c6,0123fd5303c85d0d26add64aa2e19fee33f73aaa,1053,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1053.json +121,1af41ab430be090a9a6177648b18c1ff9fb88c3f,2aee36e667526ff8b0b5e6dad66506acee920ea6,1053,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1053.json +122,f22a0e8b289e8ed26f04ea0d3af3612b6e15414a,a8a456b183c9600658bcb0c72091bae1a30a4fda,1037,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1037.json +123,60dac870c77b5de63d981f4be40106fe1c87b7d1,8d11b8cc7a6183222b61c9bd398fed5448c59109,1033,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1033.json +124,95ff0484a76d60d30145f4e3da4bf9b517029361,e7f4269d0289f4d47217207ec456219db8efe47c,1017,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1017.json +125,ddc1299802e88b9814250c369e3fe6f7ee07d4e5,8cef00180a5cf67d047919c89668a6405030dbab,1002,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1002.json +126,211dc0161ae737f59cac22f30b048d56a059d14b,bd2803b6d9ab600906b262ae51cb3591160b5f3c,936,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-936.json +127,437a9e47d1a371f9e6724210b16d11d75366c3a0,211dc0161ae737f59cac22f30b048d56a059d14b,936,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-936.json +128,79a8906570f44e5f519282bd32595985ed089aed,d82fb38b0121bf690cea58df293185c7e91ded9c,942,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-942.json +129,4ff5d0b989360d785c63978faf8eed6284e030e1,79a8906570f44e5f519282bd32595985ed089aed,937,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-937.json +130,8a37f1089f62deaebc29fe5c8a22f48d04a6c8b1,9fac3ccd2fa9e6137584f079db1a6f5962a65cf4,931,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-931.json +131,602dc3845e92d39a0701396666635ccc4a321599,7f6700e2b54af3af409f3e8851a0d98a72beef4b,921,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-921.json +132,f5a77bb416ab2223fda83de118da1007e5962498,5b9485903b5e7d926f49dc91b915a256df92591c,925,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-925.json +133,c5e6df9c0f84de1eee287d530ef8721c05e9cf14,4fbbc47cb18f241b23dd2d4bf9c15d45b2473523,919,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-919.json +134,86860111110ec7a96d92fbefb6c3ae15e3575405,6d374c3ee4c9c2651ffb44048924e127fd2bf37c,86,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-86.json +135,37bc6d41f17d17a822bbcd9aed9f17649a3384fd,d1f25380b5d74c5303533491e36ae4b33a50e2da,59,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-59.json +136,2131059de15ba858adf7646bfba5cbd04b661336,938f48a60c544f6b7bdb5d49006f654a51ca9a22,103,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-103.json +137,e185090c145950cc1eaba599e9f64bc305dec4c7,da30f170f29e983f014fb029fe5779bfd5d3b04f,124,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-124.json +138,da30f170f29e983f014fb029fe5779bfd5d3b04f,1f5edbcd2b5b09ec59151137e643d9ce75ef1055,124,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-124.json +139,6f2539acd3c37bd7f0d031b43364f75a5cd6d5f7,b347ce3a71e23a4ab92dc0a6c07d43e2f497c953,33,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-33.json +140,b347ce3a71e23a4ab92dc0a6c07d43e2f497c953,a70a7c599e53a7752cf4b9e6e82b4408c3c4c04b,126,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-126.json +141,8ff053c723ec20f5b8e1e9e87164bbd657f7d2ca,3ce4716848eb71b6e78a4545a2cc0c27e74a29b3,116,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-116.json +142,222eafd303155b3eac5cd244584b2cb3c4c11975,c25df7eca2462861bf42ad8b74215099c3f81ae6,58,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-58.json +143,45fd54a488cfbf27978fc4811a722f1fedb8ddaa,7eaa0d8eca2549742649af34671eaf3da83b5c08,139,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-139.json +144,c9e89727dc8063d087d28e42629606f4fd74a6e5,465282f1ca28a208b06c47b55fd292d4631c55da,143,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-143.json +145,b1ffe42efdaaf0266b4ba10e05de124a885cf979,dff6e0114f19c20aeb63393d67aa0880ff5745b5,190,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-190.json +146,8d53308bb1d34c16af002ce5fe46cf0ae6c38128,35d56dd1fadec0ed50797d222de4e05f78bbf1c9,172,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-172.json +147,91d0d35fba40aac9316db9e2f8aa94cd3a3b6c2e,82a9956c6337d2f5d4a94ebe624d64faa54d9182,182,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-182.json +148,4d09ce45270187fa65a891e56081960a0ae449e5,f86b8929454da31fbc59cbf95293c7138e0b8200,196,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-196.json +149,52547e61d187e102f21e5545c24e8d232fefe92f,053636cbd1a8fb97e55b4f82bc4b5bee8beaf47e,205,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-205.json +150,07dd3707c1a61ff21de3f7a7f15585bbb5f70573,bf8fc4533884f914182f861576808e71c18410cc,61,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-61.json +151,d00fc0c64dba6762b649f9690cd52c68b849e118,fe58a5d1750bab2c5d1d0ef16102c1000e761bd8,74,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-74.json +152,08fc2551ca3c811a02407d593b6ae39d2439a88c,de491e70b971caca03f07531c2caf97b878cd1ff,268,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-268.json +153,ff1a3d71ca63efdfc79112b6212fd10bd9aecce8,86caf52b53f53d8b83e9c1092f4b15ddeb6ca5bb,290,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-290.json +154,d8624db8004fc8ef596d4ccedff7f307f444ad30,09ed556367fbe81b3003881dfacad643939664c0,204,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-204.json +155,86a7d25f3cc1177f35dc6480260fb807912c03fa,ba0119710233a1be87c10c5e71424dc5922cc627,378,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-378.json +156,bae144ca994994d3ada90c9311286e9277f86288,f39bbdd39c9ec2136f0a58a677bd2fdae77075a2,389,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-389.json +157,9f19220fbd022e8fbcee16d117564d5412e4ffa7,41acde3e8e5e8d37ade765b41d9fd29861f03e5e,347,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-347.json +158,87ff82f73e843495a887ef08bc92a98b4c7c105c,fcccf543e85a214f0948d1ac5cab3fa05363e845,407,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-407.json +159,303a90a0e1fea556eec005e8b0934e87045810a3,a4f32ed8acef2880288fe9559f8c60fba444bbe3,423,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-423.json +160,d5dad765e6cbdf512f80a1331e08d3e54baea3fa,29312d9f6d01e6c1fce4da0a644881c83864549f,467,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-467.json +161,dffa868e080b54544e05b96c81dceef522439180,89441fcc27e2d7f36d7b2f3990bbc894235bb5b4,522,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-522.json +162,6b825fb7dbe65d4523f2af9c850ed7e7f43862c2,3395eb68a19a8492196df62fb9e38c814de80f08,548,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-548.json +163,acc3c458096b1eb7bfc5d7371eafb30af5f7b66c,f5bcee992bf149fa39f9eafc870ea2046d5809b4,600,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-600.json +164,32f4884ca5aa648d48d988d8d7dada88212d6dbe,e414f154d5c4dae483f251ebeb2d9ef598aaa0f6,634,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-634.json +165,2e904fcdc3bc09e3bff557fcfca383ba7e450095,61336bdc14f94b57ba58042f958c2a3227a55a3f,725,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-725.json +166,4f663a93dcdc8130cf92c3ad31ce8a8ac1fd0804,8d58355140bfdfbfc85c4629b90ed1d78225b520,785,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-785.json +167,d9b11f3334dcb04cd35abe5f7a5fbfb000fa0986,d58006a939b740ea78dc61128065a6fdb8f303ca,783,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-783.json +168,d06ac163013a3779fcec7c2f544ba99d08f69f58,b675d1da9d5f8b36849db4943f580969105901a4,726,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-726.json +169,b4c6a605c0aee776bf195c8d71fe2aeebb47665a,ac239c7c53aa4d6c3105f600dec8af69da530883,791,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-791.json +170,d5b7f2d9a109eefee69a6554eb4a899e60139101,49f54b28376a4ed5f72ec52d314020bd1f6cf3c6,965,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-965.json +171,d38ce5675419b30040bc44413e77e7317ed0c7f2,6d38965a1e0a3a61435b9bebc91ff1ba0a64013a,1023,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1023.json +172,a8a456b183c9600658bcb0c72091bae1a30a4fda,ce86cc8e460060e1280f365f22ccd5c375e2f5ed,1042,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1042.json +173,ecd0a7791a772cfa27a6f7dc071b2bd711517b80,e96ce395944edfe9ba8e9de6b475cb64a7f8d626,1062,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1062.json +174,095dd84b712332cd74dff3d1d2fc236aa93e7b78,d2b3ca66b6088c1c08437c120ae215d91d313b7c,1103,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1103.json +175,94623ace4074dea70ffdde117a2d5e11c76de5fa,038da2119223818ee1c56eaf600a583f755f9b30,1101,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1101.json +176,d6eebf3357f6f06b44cefbe55aabeab5bf25216e,aeed47f424d93d9ff82e0782fca53259829362b1,1056,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-1056.json diff --git a/framework/projects/Closure/deprecated-bugs.csv b/framework/projects/Closure/deprecated-bugs.csv index 4e9acc8cd..1355e8483 100644 --- a/framework/projects/Closure/deprecated-bugs.csv +++ b/framework/projects/Closure/deprecated-bugs.csv @@ -1,3 +1,3 @@ bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason -63,7deaed51a2313dd3d5814cf3ed93d7140cf3b1b5,37b0e1b0b5860e6cd4f48519c1105623778dc44f,487,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-487.json,2.0.0,JVM8-NonReproducable -93,386ab6da410291c7b9b4880354dae764275a9518,9d1e18e87a41f2a610ed70f3a1d57abbce7a1cd7,261,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-261.json,2.0.0,JVM8-NonReproducable +63,7deaed51a2313dd3d5814cf3ed93d7140cf3b1b5,37b0e1b0b5860e6cd4f48519c1105623778dc44f,487,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-487.json,2.0.0,Duplicate +93,386ab6da410291c7b9b4880354dae764275a9518,9d1e18e87a41f2a610ed70f3a1d57abbce7a1cd7,261,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-261.json,2.0.0,Duplicate diff --git a/framework/projects/Codec/commit-db b/framework/projects/Codec/commit-db new file mode 100644 index 000000000..016b27558 --- /dev/null +++ b/framework/projects/Codec/commit-db @@ -0,0 +1,18 @@ +1,9c0cabead7cf075308b11362172ae1a48d41321c,52d82d1dfff8c2b2ded9d843e0b03017af6d747c,CODEC-65,https://issues.apache.org/jira/browse/CODEC-65 +2,2f7454a01e4c2992bffc3d86137e632e80c5027f,b8c2d9d9dc9aab45f83cf49ac93cfa8546e4c08e,CODEC-77,https://issues.apache.org/jira/browse/CODEC-77 +3,d7b01850ef418b1d261cdb2029f8f85ab4031553,a5dfe5cbc95d7f3ce0b4829756690c2cb8439f4c,CODEC-84,https://issues.apache.org/jira/browse/CODEC-84 +4,38ba13232cb37374e3c333e2121ebad8a793935c,bcfef8906931a7929a6db14b9d82d387fd3f17f6,CODEC-89,https://issues.apache.org/jira/browse/CODEC-89 +5,4c6eea410d34d7ff4aa5c30fb7a2fa7c349dae18,800f0531068ebaf2f2d257bb1bd805781ddd4760,CODEC-98,https://issues.apache.org/jira/browse/CODEC-98 +6,5a0d6b1d2b38a8026b1e160b0de9d9d56b07665c,d74fc31604c805a47c44d7853f63a3b06ad6c016,CODEC-101,https://issues.apache.org/jira/browse/CODEC-101 +7,f7966c1b374ebdd3fccb28370d9cb80a2115d807,954d995c5603b616c3c4a9ffb1823f36dd7ebcb0,CODEC-99,https://issues.apache.org/jira/browse/CODEC-99 +8,931e25921dc0ec705a0055655aa2b2237a0888d7,2c13032a16e37b7bc9e0272d25fc185b5c82b42e,CODEC-105,https://issues.apache.org/jira/browse/CODEC-105 +9,b396c535ff143cf94ea0d11f50739da1709ec290,c5291ab1ca4d4d7a041874a66b1c05b7d5c02ccb,CODEC-112,https://issues.apache.org/jira/browse/CODEC-112 +10,2a8fd84f1f380fc472ecf415b771cb5fd789719b,41c68e9ef470696009d72133c7f05a20e2728e34,CODEC-117,https://issues.apache.org/jira/browse/CODEC-117 +11,9999937922dc0ebe50f913fbbfb147a19eb8c0f3,7e8c20bd1b0593c3496a168be573aed40609a433,CODEC-121,https://issues.apache.org/jira/browse/CODEC-121 +12,caa142d0399f10ce3ec6fb843e679e2d8c07c43f,1fc451c79779bdbf788e8bfbec6dc031a47495d8,CODEC-130,https://issues.apache.org/jira/browse/CODEC-130 +13,8c145775da55fb33104751199a28809acb657c1f,37ba197e62d6b60037d18afc33801e6221f1b8c6,CODEC-184,https://issues.apache.org/jira/browse/CODEC-184 +14,50a1d17b5402accbdd59e62e68fa96172c9e3764,39d5df29fb768fd257f9d328b99f00bc69ec864a,CODEC-187,https://issues.apache.org/jira/browse/CODEC-187 +15,8fc193527df27beeeb638e6e812e8c4df6c72f46,28b7b958d39730fc278fd1919bf335c52133a1a2,CODEC-199,https://issues.apache.org/jira/browse/CODEC-199 +16,38357dffa2dd39c91c4523beade08c12e8009acb,c82fe35c48bd0082c16644d16d82d1be79d6b9d1,CODEC-200,https://issues.apache.org/jira/browse/CODEC-200 +17,1a4d9cc2572d220664f1b7c377cd318cd253052e,d2f27093d7d95a07da901902f894d88b4ecc3e95,CODEC-229,https://issues.apache.org/jira/browse/CODEC-229 +18,ca30fae3acb59a5caef3c3c21eecae7c928827e0,5ef5bd199a4e3df74479b4b363fa29b0b3092547,CODEC-231,https://issues.apache.org/jira/browse/CODEC-231 diff --git a/framework/projects/Collections/commit-db b/framework/projects/Collections/commit-db new file mode 100644 index 000000000..54d527872 --- /dev/null +++ b/framework/projects/Collections/commit-db @@ -0,0 +1,4 @@ +25,7c99c6234c7b403449420b2688fff3d516662591,73d69dfe8677210e44049bc1a2a7d1ff85bc1ca7,COLLECTIONS-566,https://issues.apache.org/jira/browse/COLLECTIONS-566 +26,3a9c4718ee0fd2eeef8b3ce151ee829fadbef5ae,f8bd75d37ca12c5d49c1b628c33c0b45e2d082eb,COLLECTIONS-576,https://issues.apache.org/jira/browse/COLLECTIONS-576 +27,7a72b1983c03f7b33e397cdfc5e8f0636bcd924e,3eee44cf63b1ebb0da6925e98b3dcc6ef1e4d610,COLLECTIONS-580,https://issues.apache.org/jira/browse/COLLECTIONS-580 +28,796114ea4a9cc57ab17170536e1caa5933520c47,a270ff62852e62b5ac0f943a7e57292a72b77271,COLLECTIONS-586,https://issues.apache.org/jira/browse/COLLECTIONS-586 diff --git a/framework/projects/Collections/deprecated-bugs.csv b/framework/projects/Collections/deprecated-bugs.csv index 9bb3d74ae..b23fd73a5 100644 --- a/framework/projects/Collections/deprecated-bugs.csv +++ b/framework/projects/Collections/deprecated-bugs.csv @@ -1,25 +1,25 @@ bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason -1,b1cd358495cae3df8e0e32147ef433cce83390c8,f8aa3e033c1fde4a434864f666315b433498d32c,COLLECTIONS-217,https://issues.apache.org/jira/browse/COLLECTIONS-217,2.0.0,JVM8-NonReproducable -2,f8aa3e033c1fde4a434864f666315b433498d32c,3f09772b742d7886c5a18427c9838fb267cc335b,COLLECTIONS-214,https://issues.apache.org/jira/browse/COLLECTIONS-214,2.0.0,JVM8-NonReproducable -3,3f09772b742d7886c5a18427c9838fb267cc335b,66c4b99ddc7daea806c1318a40736d0f5c8fa7bd,COLLECTIONS-219,https://issues.apache.org/jira/browse/COLLECTIONS-219,2.0.0,JVM8-NonReproducable -4,139636b502dd144b7f6070a8f30b46913ef6965a,5e313d14b2a10ce0aea529ac4db50e183f0b1e49,COLLECTIONS-228,https://issues.apache.org/jira/browse/COLLECTIONS-228,2.0.0,JVM8-NonReproducable -5,d0128142ff08d9a9dc5c1ca483594abb21f90353,f43e0a53c1f4d3335e720131973dfc8e1103f5f9,COLLECTIONS-249,https://issues.apache.org/jira/browse/COLLECTIONS-249,2.0.0,JVM8-NonReproducable -6,95a3fecee0f7a87624e490f0026b391188f9aceb,1d5610521f5846c1d6f7d0a65f93c384dbf33e8d,COLLECTIONS-261,https://issues.apache.org/jira/browse/COLLECTIONS-261,2.0.0,JVM8-NonReproducable -7,142a6dd5eedf83e9bd5f077d64977969cc4be40c,01086ef5b312d7aa5ad231277950618cb93664ee,COLLECTIONS-278,https://issues.apache.org/jira/browse/COLLECTIONS-278,2.0.0,JVM8-NonReproducable -8,b147d16e647c9fa54b4ad14a76fd532906cec558,7cf943172b154019d7c6a66f4290272b2144e29a,COLLECTIONS-220,https://issues.apache.org/jira/browse/COLLECTIONS-220,2.0.0,JVM8-NonReproducable -9,7cf943172b154019d7c6a66f4290272b2144e29a,8a5d3acab88bb2ef7416f3141d63f10b79d318cf,COLLECTIONS-271,https://issues.apache.org/jira/browse/COLLECTIONS-271,2.0.0,JVM8-NonReproducable -10,c1351569a7184caee4ed7eacdf948f6a79db160f,e6d4f465446e5645f1a68f3d90964a6ade82f59e,COLLECTIONS-240,https://issues.apache.org/jira/browse/COLLECTIONS-240,2.0.0,JVM8-NonReproducable -11,7873bd62ee22efd0c32cddd94e388a80faab81b2,d887c5913fddcecad8483ec9a0cbf407ed08c157,COLLECTIONS-266,https://issues.apache.org/jira/browse/COLLECTIONS-266,2.0.0,JVM8-NonReproducable -12,441ed780ad999caf09ef5522983764977c8be45d,79ff10494b90ba99c339aadb87f6281c97aea966,COLLECTIONS-271,https://issues.apache.org/jira/browse/COLLECTIONS-271,2.0.0,JVM8-NonReproducable -13,79ff10494b90ba99c339aadb87f6281c97aea966,f3eaf2ceae5d49c329ce8675d06b3003eb1ba389,COLLECTIONS-299,https://issues.apache.org/jira/browse/COLLECTIONS-299,2.0.0,JVM8-NonReproducable -14,f3eaf2ceae5d49c329ce8675d06b3003eb1ba389,0725e476d4cc66e6331bdceb4e29a54a9ce7f462,COLLECTIONS-294,https://issues.apache.org/jira/browse/COLLECTIONS-294,2.0.0,JVM8-NonReproducable -15,0725e476d4cc66e6331bdceb4e29a54a9ce7f462,0122245f02ba7b22dd40f38c98aa2f08984707bd,COLLECTIONS-304,https://issues.apache.org/jira/browse/COLLECTIONS-304,2.0.0,JVM8-NonReproducable -16,0122245f02ba7b22dd40f38c98aa2f08984707bd,3290bbc85420176f53bad1968611bf53798b2770,COLLECTIONS-307,https://issues.apache.org/jira/browse/COLLECTIONS-307,2.0.0,JVM8-NonReproducable -17,bb72bc51ce46c102124d09ac862860f44d169cb4,459f14b33c02509a4b9cc5360f3ff2f4edba9284,COLLECTIONS-239,https://issues.apache.org/jira/browse/COLLECTIONS-239,2.0.0,JVM8-NonReproducable -18,38bb9b4ac534abc95a83c75faf5e87cfe25319d4,b10fa43d3e29af6c6e79577c305fad99df01dff0,COLLECTIONS-426,https://issues.apache.org/jira/browse/COLLECTIONS-426,2.0.0,JVM8-NonReproducable -19,89d8791f05f0d28199820e87c683696f96d42f40,bb9952dbedc77f25fffda32d96e6494e2246bab3,COLLECTIONS-444,https://issues.apache.org/jira/browse/COLLECTIONS-444,2.0.0,JVM8-NonReproducable -20,89ebfe8f921be807d40b3cecc504b05d56c0d898,b88692f83a938e31fd5f703c99db2a5720cd9f3e,COLLECTIONS-447,https://issues.apache.org/jira/browse/COLLECTIONS-447,2.0.0,JVM8-NonReproducable -21,4b9c68b55a6f82942d32c5149fa0363b8b6b39fc,803a9c6c17efbc98bc9513e6bf7e6900d4dbae2c,COLLECTIONS-310,https://issues.apache.org/jira/browse/COLLECTIONS-310,2.0.0,JVM8-NonReproducable -22,62e69cf4f2fcb3ad8bdc44f75f8a9e3e20ca7337,7df57879c92a467cd71860e6cfe14a04a49fd031,COLLECTIONS-474,https://issues.apache.org/jira/browse/COLLECTIONS-474,2.0.0,JVM8-NonReproducable -23,15ee56bd0f91ef807a3e729ab3410a834ef3fcef,72784c46f6a7d7644398db5c7ac8bd3822c523d4,COLLECTIONS-495,https://issues.apache.org/jira/browse/COLLECTIONS-495,2.0.0,JVM8-NonReproducable -24,72784c46f6a7d7644398db5c7ac8bd3822c523d4,539be680cd2b1a8f6833b28ee0cca22a88161466,COLLECTIONS-496,https://issues.apache.org/jira/browse/COLLECTIONS-496,2.0.0,JVM8-NonReproducable +1,b1cd358495cae3df8e0e32147ef433cce83390c8,f8aa3e033c1fde4a434864f666315b433498d32c,COLLECTIONS-217,https://issues.apache.org/jira/browse/COLLECTIONS-217,2.0.0,JVM8_Does_Not_Compile +2,f8aa3e033c1fde4a434864f666315b433498d32c,3f09772b742d7886c5a18427c9838fb267cc335b,COLLECTIONS-214,https://issues.apache.org/jira/browse/COLLECTIONS-214,2.0.0,JVM8_Does_Not_Compile +3,3f09772b742d7886c5a18427c9838fb267cc335b,66c4b99ddc7daea806c1318a40736d0f5c8fa7bd,COLLECTIONS-219,https://issues.apache.org/jira/browse/COLLECTIONS-219,2.0.0,JVM8_Does_Not_Compile +4,139636b502dd144b7f6070a8f30b46913ef6965a,5e313d14b2a10ce0aea529ac4db50e183f0b1e49,COLLECTIONS-228,https://issues.apache.org/jira/browse/COLLECTIONS-228,2.0.0,JVM8_Does_Not_Compile +5,d0128142ff08d9a9dc5c1ca483594abb21f90353,f43e0a53c1f4d3335e720131973dfc8e1103f5f9,COLLECTIONS-249,https://issues.apache.org/jira/browse/COLLECTIONS-249,2.0.0,JVM8_Does_Not_Compile +6,95a3fecee0f7a87624e490f0026b391188f9aceb,1d5610521f5846c1d6f7d0a65f93c384dbf33e8d,COLLECTIONS-261,https://issues.apache.org/jira/browse/COLLECTIONS-261,2.0.0,JVM8_Does_Not_Compile +7,142a6dd5eedf83e9bd5f077d64977969cc4be40c,01086ef5b312d7aa5ad231277950618cb93664ee,COLLECTIONS-278,https://issues.apache.org/jira/browse/COLLECTIONS-278,2.0.0,JVM8_Does_Not_Compile +8,b147d16e647c9fa54b4ad14a76fd532906cec558,7cf943172b154019d7c6a66f4290272b2144e29a,COLLECTIONS-220,https://issues.apache.org/jira/browse/COLLECTIONS-220,2.0.0,JVM8_Does_Not_Compile +9,7cf943172b154019d7c6a66f4290272b2144e29a,8a5d3acab88bb2ef7416f3141d63f10b79d318cf,COLLECTIONS-271,https://issues.apache.org/jira/browse/COLLECTIONS-271,2.0.0,JVM8_Does_Not_Compile +10,c1351569a7184caee4ed7eacdf948f6a79db160f,e6d4f465446e5645f1a68f3d90964a6ade82f59e,COLLECTIONS-240,https://issues.apache.org/jira/browse/COLLECTIONS-240,2.0.0,JVM8_Does_Not_Compile +11,7873bd62ee22efd0c32cddd94e388a80faab81b2,d887c5913fddcecad8483ec9a0cbf407ed08c157,COLLECTIONS-266,https://issues.apache.org/jira/browse/COLLECTIONS-266,2.0.0,JVM8_Does_Not_Compile +12,441ed780ad999caf09ef5522983764977c8be45d,79ff10494b90ba99c339aadb87f6281c97aea966,COLLECTIONS-271,https://issues.apache.org/jira/browse/COLLECTIONS-271,2.0.0,JVM8_Does_Not_Compile +13,79ff10494b90ba99c339aadb87f6281c97aea966,f3eaf2ceae5d49c329ce8675d06b3003eb1ba389,COLLECTIONS-299,https://issues.apache.org/jira/browse/COLLECTIONS-299,2.0.0,JVM8_Does_Not_Compile +14,f3eaf2ceae5d49c329ce8675d06b3003eb1ba389,0725e476d4cc66e6331bdceb4e29a54a9ce7f462,COLLECTIONS-294,https://issues.apache.org/jira/browse/COLLECTIONS-294,2.0.0,JVM8_Does_Not_Compile +15,0725e476d4cc66e6331bdceb4e29a54a9ce7f462,0122245f02ba7b22dd40f38c98aa2f08984707bd,COLLECTIONS-304,https://issues.apache.org/jira/browse/COLLECTIONS-304,2.0.0,JVM8_Does_Not_Compile +16,0122245f02ba7b22dd40f38c98aa2f08984707bd,3290bbc85420176f53bad1968611bf53798b2770,COLLECTIONS-307,https://issues.apache.org/jira/browse/COLLECTIONS-307,2.0.0,JVM8_Does_Not_Compile +17,bb72bc51ce46c102124d09ac862860f44d169cb4,459f14b33c02509a4b9cc5360f3ff2f4edba9284,COLLECTIONS-239,https://issues.apache.org/jira/browse/COLLECTIONS-239,2.0.0,JVM8_Does_Not_Compile +18,38bb9b4ac534abc95a83c75faf5e87cfe25319d4,b10fa43d3e29af6c6e79577c305fad99df01dff0,COLLECTIONS-426,https://issues.apache.org/jira/browse/COLLECTIONS-426,2.0.0,JVM8_Does_Not_Compile +19,89d8791f05f0d28199820e87c683696f96d42f40,bb9952dbedc77f25fffda32d96e6494e2246bab3,COLLECTIONS-444,https://issues.apache.org/jira/browse/COLLECTIONS-444,2.0.0,JVM8_Does_Not_Compile +20,89ebfe8f921be807d40b3cecc504b05d56c0d898,b88692f83a938e31fd5f703c99db2a5720cd9f3e,COLLECTIONS-447,https://issues.apache.org/jira/browse/COLLECTIONS-447,2.0.0,JVM8_Does_Not_Compile +21,4b9c68b55a6f82942d32c5149fa0363b8b6b39fc,803a9c6c17efbc98bc9513e6bf7e6900d4dbae2c,COLLECTIONS-310,https://issues.apache.org/jira/browse/COLLECTIONS-310,2.0.0,JVM8_Does_Not_Compile +22,62e69cf4f2fcb3ad8bdc44f75f8a9e3e20ca7337,7df57879c92a467cd71860e6cfe14a04a49fd031,COLLECTIONS-474,https://issues.apache.org/jira/browse/COLLECTIONS-474,2.0.0,JVM8_Does_Not_Compile +23,15ee56bd0f91ef807a3e729ab3410a834ef3fcef,72784c46f6a7d7644398db5c7ac8bd3822c523d4,COLLECTIONS-495,https://issues.apache.org/jira/browse/COLLECTIONS-495,2.0.0,JVM8_Does_Not_Compile +24,72784c46f6a7d7644398db5c7ac8bd3822c523d4,539be680cd2b1a8f6833b28ee0cca22a88161466,COLLECTIONS-496,https://issues.apache.org/jira/browse/COLLECTIONS-496,2.0.0,JVM8_Does_Not_Compile diff --git a/framework/projects/Compress/commit-db b/framework/projects/Compress/commit-db new file mode 100644 index 000000000..13f3e82c9 --- /dev/null +++ b/framework/projects/Compress/commit-db @@ -0,0 +1,47 @@ +1,728b4e814ec88cab556533fa114be0efdde963be,004124ac5dbf5edbf925078652526267468821e7,COMPRESS-28,https://issues.apache.org/jira/browse/COMPRESS-28 +2,1cde8827c953a56b2fcabad676f8cf2ddd6ec182,d09177b98f4e956c1d366110f73c3341ea110bee,COMPRESS-11,https://issues.apache.org/jira/browse/COMPRESS-11 +3,ddbd61f0e75b7d98873b9a9bf6398218edcfd17b,d170f34fa65e19b604f5a9e04e6ed5f81d35658c,COMPRESS-64,https://issues.apache.org/jira/browse/COMPRESS-64 +4,d170f34fa65e19b604f5a9e04e6ed5f81d35658c,6273f3a6b804aa845747c8859d659373b14199e1,COMPRESS-64,https://issues.apache.org/jira/browse/COMPRESS-64 +5,c520d00b707fe6ecf4f3d7d062af09ffea6812e8,dc3fc4703211876fb38cccf55adc92ee5cbc28d0,COMPRESS-87,https://issues.apache.org/jira/browse/COMPRESS-87 +6,41aa509d836dcdd316a40e68680cc54e0f6c1e04,5066e9aeb98f386b29a31cd4acb97aa43844cd30,COMPRESS-94,https://issues.apache.org/jira/browse/COMPRESS-94 +7,2419bb55d2683142443626482c85d6086ae3bf72,2d858d5c7cc30313c9c3c8ef4a5e8d34d67a395e,COMPRESS-114,https://issues.apache.org/jira/browse/COMPRESS-114 +8,d7398f46ccd552eb315d94bf652cc264ea21799a,35e4e4fb6848ddfa3878270523f3f9336ae7f9b8,COMPRESS-113,https://issues.apache.org/jira/browse/COMPRESS-113 +9,ec0db741b7e53d6fbe3887f8720f76a625d2277f,fdac1475918e93444b08a024d096b4ec39d6733d,COMPRESS-160,https://issues.apache.org/jira/browse/COMPRESS-160 +10,8cece7223349341d5ab44234d1f62897cb849511,347660646cfad588481c13058842d49fa3779f84,COMPRESS-164,https://issues.apache.org/jira/browse/COMPRESS-164 +11,00cc49e76b4cb5837f91bdcae2b3dff6a2809f2a,a933173f486614073b68b6c0a6ef09a9c72c94fc,COMPRESS-171,https://issues.apache.org/jira/browse/COMPRESS-171 +12,b23b5c8533846374a22b417f7d66c7cb8ceb8962,bc84d2083e4b1da77547bb4e810a06553e8f0bed,COMPRESS-178,https://issues.apache.org/jira/browse/COMPRESS-178 +13,576bd034787ca2f7367127432e4b53737d6e690f,c75c10faae27781aeb51713f42153cad1fd242a4,COMPRESS-176,https://issues.apache.org/jira/browse/COMPRESS-176 +14,d39ba76c50f65698213787901ec8dffbda77e43a,40f2e6380094ebfdc73e4adaf4059b80e1327aad,COMPRESS-181,https://issues.apache.org/jira/browse/COMPRESS-181 +15,306b3d6b551b2fc6a3c9729117d47f7d7dea9e89,4becc32881aa983d69359b475892a4f2bc6e5b89,COMPRESS-187,https://issues.apache.org/jira/browse/COMPRESS-187 +16,811fb4e1f7cb0b87d9af62cc892ac06a413eb560,9bdacbfb9631d3a3710a64f35482c643b78a2e79,COMPRESS-191,https://issues.apache.org/jira/browse/COMPRESS-191 +17,db6dda34281d95d495ff4c935b65cf84310bf6be,ab456436d20f386641e605c17de24cc8cd3c1770,COMPRESS-197,https://issues.apache.org/jira/browse/COMPRESS-197 +18,716666a267169689e3b4559458c1f0d53a96ae0a,09b8f6d78e18b927491fc299973146fa74fd977f,COMPRESS-203,https://issues.apache.org/jira/browse/COMPRESS-203 +19,ed534048b12afcffd45a53f7b0945f49d929a29a,e860d2f3eb16d84e146a8a700d9dbd3af01df4ba,COMPRESS-228,https://issues.apache.org/jira/browse/COMPRESS-228 +20,a671a703fe86b69adb8c61495a915065c186362d,040e42d0f0bebc15ca80cb80fb6db53804b2e082,COMPRESS-236,https://issues.apache.org/jira/browse/COMPRESS-236 +21,afce414fb9351fba7e68dc5e77e2e144c3c59722,5c2d32b322fa797cf428b35c4c5998173d6403d5,COMPRESS-252,https://issues.apache.org/jira/browse/COMPRESS-252 +22,ad634c0c24e883ec4ba509122df4679c2245e37b,71e4eeadcfc5eb390eca1142fc1f6ee5b1b4d5c1,COMPRESS-253,https://issues.apache.org/jira/browse/COMPRESS-253 +23,71e4eeadcfc5eb390eca1142fc1f6ee5b1b4d5c1,cbb5a1ad9b0b80f717ee71dc0fc765afdc1601c0,COMPRESS-256,https://issues.apache.org/jira/browse/COMPRESS-256 +24,c2376685ed5cb56833327cb5f54e5f803a8e8fa9,8da377299d085b4ce1f15dbc0732232ea32e601d,COMPRESS-262,https://issues.apache.org/jira/browse/COMPRESS-262 +25,bc741b19e88749d66b03bf8dc292f3ae0fc74156,aed56110ff582b96aecf7675a9cfe5247ffa3e7d,COMPRESS-264,https://issues.apache.org/jira/browse/COMPRESS-264 +26,8af0b6c133fe7d147833b70e731c99d179dc8db9,557800a53cedad99afc951032a11931f3e39bf13,COMPRESS-277,https://issues.apache.org/jira/browse/COMPRESS-277 +27,383d90399e3e2284bca4836197eb92b126095479,1ea7e01eb6776071eddf60f7783d650ec7d60e74,COMPRESS-278,https://issues.apache.org/jira/browse/COMPRESS-278 +28,1ea7e01eb6776071eddf60f7783d650ec7d60e74,ddb5fd6d8e4d5fa9f7fa659c93fb6eb04f238689,COMPRESS-279,https://issues.apache.org/jira/browse/COMPRESS-279 +29,66338dd9c4bf1e76be830749d9bc93c7be35cb2a,d50feb67569fb5881b8a2ff5996f656c5f207c2e,COMPRESS-306,https://issues.apache.org/jira/browse/COMPRESS-306 +30,0bbe5b59af443da2c3101cb9259e7ad68152dd13,5cf68bdc46c7bcc0fc5eb3cacd1c84514ef552cf,COMPRESS-309,https://issues.apache.org/jira/browse/COMPRESS-309 +31,4355c0d224342b5c94881b7aabb441f765867dfe,f8bf45444c49053a92f6f560c5008d5ac43aa27f,COMPRESS-301,https://issues.apache.org/jira/browse/COMPRESS-301 +32,24a3100e9897837b513a0d9f2ae26fd02ec91246,3c4a09bf28e7cd600b919b8c799fbbfd19a94c0b,COMPRESS-314,https://issues.apache.org/jira/browse/COMPRESS-314 +33,9b3e389fc692513cc701b886a9dcdab6ebf32453,b72b5c716ac18150396d05988d9eab745bea02b9,COMPRESS-316,https://issues.apache.org/jira/browse/COMPRESS-316 +34,1dcab3f854e6fffa16c842b8a10a6fa2163795ea,e6e24766377e705e89358fb9cf6253e2e9e645db,COMPRESS-321,https://issues.apache.org/jira/browse/COMPRESS-321 +35,9431b16c58a3fbb320cf13af80cb36430f2aea79,7250daa429020181bb5a4c40d1aaa169631b8496,COMPRESS-335,https://issues.apache.org/jira/browse/COMPRESS-335 +36,ff5158b1662ad5a67ae6041afc89c5fbfd5ddb1a,d0501577d37b594c3ff59a39ac211f7a1b170fa7,COMPRESS-348,https://issues.apache.org/jira/browse/COMPRESS-348 +37,14b3d1ad8c5efc1f21c94e6d0f72635c374b2bb6,19a620c904587dc0397b43bfe9071ff60033c097,COMPRESS-355,https://issues.apache.org/jira/browse/COMPRESS-355 +38,19a620c904587dc0397b43bfe9071ff60033c097,823cdee9b18508e9e51913d110a20a406f55582b,COMPRESS-356,https://issues.apache.org/jira/browse/COMPRESS-356 +39,593339ab62ce5db71fd42501a9ddea9fe698b9ca,11840dfde044fec90b0cb4a715ce9d213acea3ca,COMPRESS-351,https://issues.apache.org/jira/browse/COMPRESS-351 +40,32c30f6f072ccfea6ead90f8eef0c205d88d00d3,52dd5908e374973d69c51856b74d4d93d591c90a,COMPRESS-363,https://issues.apache.org/jira/browse/COMPRESS-363 +41,e0c83d24ed5a59911b0ee59a72104410b91a7c0d,f015344879f1bc3505bc616fc7ae517cf9f60838,COMPRESS-367,https://issues.apache.org/jira/browse/COMPRESS-367 +42,75ba40cd9236761b4b3e49013eb38f754b4e539b,c59fc43c527610ae18d7596eb191817ce674cb29,COMPRESS-379,https://issues.apache.org/jira/browse/COMPRESS-379 +43,12edac73ec454bfbdd634af474e140cca7522774,d75b89856ef29bbec6784cd6aa714eafe0eeb312,COMPRESS-394,https://issues.apache.org/jira/browse/COMPRESS-394 +44,b53ead4b43c6c248b1a39f4a1cce7a0c4062285d,6f379134ae1807cd404ed6c9579707e5dc6a6df0,COMPRESS-412,https://issues.apache.org/jira/browse/COMPRESS-412 +45,137aa57f9291b5f390de740266042587cfede7ce,02735ad7e6313515a846bc15bcc89cf254f8161f,COMPRESS-411,https://issues.apache.org/jira/browse/COMPRESS-411 +46,d0595b7121f57f1f49fe7fdc384479dd73ad64f5,cd1d329dba95dae161317c123269c24282001a66,COMPRESS-416,https://issues.apache.org/jira/browse/COMPRESS-416 +47,a12adc3627ae39baecd132906c05484fee40efe8,c66db899cb061c79934986f0efa19a50ca33703f,COMPRESS-436,https://issues.apache.org/jira/browse/COMPRESS-436 diff --git a/framework/projects/Csv/commit-db b/framework/projects/Csv/commit-db new file mode 100644 index 000000000..e90b2417e --- /dev/null +++ b/framework/projects/Csv/commit-db @@ -0,0 +1,16 @@ +1,0833f45bffd40f44ba6f294d84e9bac8a9ba0a37,de1838ea067f3fbc4c7c21b9eeae077c739ecb73,CSV-75,https://issues.apache.org/jira/browse/CSV-75 +2,5744ee8a1698687fe4acc0c269cbbbb1e234b06d,a0d975933d6fe9eb5f359088de43508c1d3109bf,CSV-96,https://issues.apache.org/jira/browse/CSV-96 +3,e31980892ce9873047db98ab8ef1b3259607b988,2c6120826245f89fedf2f936ab4a0c3edd8717f3,CSV-58,https://issues.apache.org/jira/browse/CSV-58 +4,2b5f84ede12cfadd7946ffb07a56709b8322a02f,22601f647f2ce9a05fa4ce20ea356492c670940c,CSV-100,https://issues.apache.org/jira/browse/CSV-100 +5,bf8f23c3104a137cb42e13bd69b10321cdf92135,73cc5246cf789db8f459e2f539831b6e91bedd26,CSV-106,https://issues.apache.org/jira/browse/CSV-106 +6,a84668e0eafc96b88fe133cf4225a586986a5255,9f03b06a1ec8cb2cb64aec6068d2a6c1f663fbc9,CSV-111,https://issues.apache.org/jira/browse/CSV-111 +7,c84328e64a226304d277be6164b85351502edd94,ce4e72701b1ad4caabc3bd668bd058fff082f2b6,CSV-112,https://issues.apache.org/jira/browse/CSV-112 +8,692a1e362dfab949006d3419d1addbfe12552c73,35d101c2adecd51730f88e43941d85d16034886f,CSV-114,https://issues.apache.org/jira/browse/CSV-114 +9,0331565fbaf33fab24bfd588948e653475e795d9,2480dffa6d8343b189c6fb57b88b325c45f0b83f,CSV-118,https://issues.apache.org/jira/browse/CSV-118 +10,65f110ec14b9e7f202bb1a696c4c58560cfca48c,1282503fb97d621b4225bd031757adbfada66181,CSV-120,https://issues.apache.org/jira/browse/CSV-120 +11,d3afa156e4ddf8ec76847504988e7979146d9fd6,b67524da7fd146634c7112b23e95d1d45c398b82,CSV-122,https://issues.apache.org/jira/browse/CSV-122 +12,bc504117fceb2c254eea5158a62de54c80a5d81d,c81ad0328eefb438cc875b9c9f081be93f9fdcc2,CSV-128,https://issues.apache.org/jira/browse/CSV-128 +13,913e4a8b97fc4ef6a860cd94a996442ec86cc3a9,f8b80e83417c3c7eeed1282118f64fa0e85c4787,CSV-168,https://issues.apache.org/jira/browse/CSV-168 +14,1023690dc284afaf380b0cf3eb74c411e0663465,190390bf5dd83d6137ca3045902fcecbeafa3227,CSV-171,https://issues.apache.org/jira/browse/CSV-171 +15,e76c4d809cf2b39a9d7fe831b63e60891fe47f55,8b3de71fd99d0fa07cb6a3a35b583bbb170aab66,CSV-219,https://issues.apache.org/jira/browse/CSV-219 +16,33f662b219b439af5134de4553a1bb9485136999,f368f64fa7f9acdcc01084f676e8b9c2b86f946e,CSV-224,https://issues.apache.org/jira/browse/CSV-224 diff --git a/framework/projects/Gson/commit-db b/framework/projects/Gson/commit-db new file mode 100644 index 000000000..94f2d130c --- /dev/null +++ b/framework/projects/Gson/commit-db @@ -0,0 +1,18 @@ +1,4413c299ea09c57b94af8647eec901554c2f5c50,c6a4f55d1a9b191dbbd958c366091e567191ccab,40,https://github.com/google/gson/issues/40 +2,10714ef0427536b679e9677f8417807e4cce017d,fe101c10bc3597d8e715a31d94d2cc0cc54b660f,719,https://github.com/google/gson/pull/719 +3,9e5f86d10b3b3ff4ba0dfe7ba0722c9e640fcc20,64107353a37e623ed1f8fecb4422c24212cf6fe1,624,https://github.com/google/gson/issues/624 +4,2ab776b5f5075bd98e7eb730cb03772f2b734b45,af68d70cd55826fa7149effd7397d64667ca264c,773,https://github.com/google/gson/pull/773 +5,af68d70cd55826fa7149effd7397d64667ca264c,8383f5c7fa34ae68323fe2816ef8c1307b5d0f84,768,https://github.com/google/gson/issues/768 +6,67bd3a2cf6f9c9c6e7f615969b1918f68e03932d,dea305503ad8827121e8212248c271f1f2f90048,800,https://github.com/google/gson/pull/800 +7,a02f575797d9295bff8fb92d266b0f9724e42098,2b08c88c09d14e0b1a68a982bab0bb18206df76b,604,https://github.com/google/gson/issues/604 +8,6f6af8050799bec5321d2c06cd3230daadbb6535,0f66f4fac441f7d7d7bc4afc907454f3fe4c0faa,817,https://github.com/google/gson/issues/817 +9,0f66f4fac441f7d7d7bc4afc907454f3fe4c0faa,874e74a3072f7ff0d2533296698ad126321516d1,836,https://github.com/google/gson/pull/836 +10,ecda3582a6527d5be2c200fe72b04fe2ae30624f,bb451eac43313ae08b30ac0916718ca00c39656d,831,https://github.com/google/gson/issues/831 +11,791236ac79e535146b07a7dd5c85ab168554f5ff,44cad04a639b3a53f4205f93acda37b3f7d10871,964,https://github.com/google/gson/pull/964 +12,7719e73a108c450666613c279bedaed724cd9cc9,9e6f2bab20257b6823a5b753739f047d79e9dcbd,1013,https://github.com/google/gson/issues/1013 +13,41e48f7aa3a686778e95328693b830856538e9e3,9a2421997e83ec803c88ea370a2d102052699d3b,1053,https://github.com/google/gson/issues/1053 +14,5848096f3e1f36c038f522a3d7d6b9e3b553cf8e,a300148003e3a067875b1444e8268b6e0f0e0e02,1074,https://github.com/google/gson/issues/1074 +15,0aaef0fd1bb1b9729543dc40168adfb829eb75a4,ada597e69a78b8b99f79f79493cbf51e16045202,1090,https://github.com/google/gson/issues/1090 +16,ee691fba43663d1715752a7642f4b4ece1738567,03a72e752ef68269990f984c9fd613cfd59224bc,1128,https://github.com/google/gson/pull/1128 +17,f0aa1118e9ef66ed324f9a63cdfb551cb4e9eca5,7a9fd5962dce7f277efa15fcc996606be0733bac,1100,https://github.com/google/gson/pull/1100 +18,08bbb226f11a1f7f76835f953e700d905e1fab4d,b1fb9ca9a1bea5440bc6a5b506ccf67236b08243,1107,https://github.com/google/gson/issues/1107 diff --git a/framework/projects/JacksonCore/commit-db b/framework/projects/JacksonCore/commit-db new file mode 100644 index 000000000..c6054e8fb --- /dev/null +++ b/framework/projects/JacksonCore/commit-db @@ -0,0 +1,26 @@ +1,a9e5c9f99bcc16d734251f682758004a3ecc3a1b,b40ac81d4a81736e2b7536b14db4ad070b598d2e,98,https://github.com/FasterXML/jackson-core/issues/98 +2,098ece8564ed5d37f483c3bfb45be897ed8974cd,38d6e35d1f1a9b48193804925517500de8efee1f,105,https://github.com/FasterXML/jackson-core/issues/105 +3,7ee38785ecdd2f5a56a41302d4482675ce0d7e68,911cca0254267decd90a4b6a9c0610549309a451,111,https://github.com/FasterXML/jackson-core/issues/111 +4,7317dc95b0c9d09b94f37c8ae3a48de8b37729cc,3baa7d6742f7460bfb0af8edf48bf1575658109a,152,https://github.com/FasterXML/jackson-core/issues/152 +5,bfdc2852923f671452c66ddf261c87e7e2e5b497,0d9cd9fa434c0070638332b7f2243af0277461eb,173,https://github.com/FasterXML/jackson-core/issues/173 +6,0d9cd9fa434c0070638332b7f2243af0277461eb,d99951470163764b3e01a119dab2822e5fd98204,176,https://github.com/FasterXML/jackson-core/issues/176 +7,b0ceb4eeb69f20f0e4242736ae3e19ed2b9c5da3,5cddffa133e7de41fa9efb5962cf3d0cff9b3e89,177,https://github.com/FasterXML/jackson-core/issues/177 +8,ac6d8e22847c19b2695cbd7d1f418e07a9a3dbb2,11f0b4090937b2aa998734aa2bf032ee8c428e84,182,https://github.com/FasterXML/jackson-core/issues/182 +9,4b041e97686325afb2341ea009eb005e0b42d112,698f3a73d4e20594357e10fc7bb5db57bb8f7780,188,https://github.com/FasterXML/jackson-core/issues/188 +10,a71a00e595f87a8eb4a58778e21cf8dab788eb04,c2823b4de28120d86aeba9215f0231d990a8eb47,207,https://github.com/FasterXML/jackson-core/issues/207 +11,7ca3d1cb6f1317863b5b04a1b0a7bac2aee5eefd,be4386724ff18232aff492cb9145288df86ea61c,216,https://github.com/FasterXML/jackson-core/issues/216 +12,8d200d4ac45a37d4fba68064961b0c68d0f076b2,fede6c9df74d370f2e728b5c46e14bd570abb83c,37,https://github.com/FasterXML/jackson-core/issues/37 +13,350bb8f1d2727defbf75d5de38df694857505688,d58d420f116e854bfd7b155cc1aed4e32939e1da,246,https://github.com/FasterXML/jackson-core/pull/246 +14,383f63242c59628d7bcef15a73eb1c9d44d7fb56,3c2c9610b6c76e2b348eb057d0a8268681d573a6,255,https://github.com/FasterXML/jackson-core/issues/255 +15,df96e221d14616b532e45657d584d2fc4b42df03,ecf088c391de0deb5a4297e51e9ce960b3924e09,209,https://github.com/FasterXML/jackson-core/issues/209 +16,4601785ebbfe44dfdd40f55405cfdab544e58586,e052c319eccd6086c28fa5371807d887ebe302cf,296,https://github.com/FasterXML/jackson-core/issues/296 +17,d32c85f8081f96d0cccbc9193407601fec95d406,554f8db0f940b2a53f974852a2af194739d65200,307,https://github.com/FasterXML/jackson-core/issues/307 +18,956e0ce3e982947385a71f3e64748a2a6404cb4f,96642978dcf1b69cba68ec72cb2f652d59a8b5be,315,https://github.com/FasterXML/jackson-core/issues/315 +19,930edea65e6382c0158876ad773ab1d87f67e5dd,345cad5b2f4c06a1bcc6794311a31226e9f2bce7,317,https://github.com/FasterXML/jackson-core/issues/317 +20,1a5c3655e2b1646c2b68bb40c99f7a7e62fa958a,fa64390b1bd5f1435daa9d2b17a58594cfb22817,318,https://github.com/FasterXML/jackson-core/issues/318 +21,8296172c76c43edfb9831eac7fc012e4a32806ad,96faf2ecd985dfc838e2bf6f6ae4d9d4b310861b,330,https://github.com/FasterXML/jackson-core/issues/330 +22,74564bfb7ca768067b5554dc7c4373f43b8be94b,6feec20c842586056aa5b19c402b26be08c88ca3,208,https://github.com/FasterXML/jackson-core/issues/208 +23,dc5c82e4af87577ac1b540b3f7e9279159185278,157f2c490003c7494af8ecb7d57880cda1fde736,502,https://github.com/FasterXML/jackson-core/issues/502 +24,35f3ab4d0512edc2d1ce13a7f43cd75b3c63c797,c4dd84e4d505baa90d8d1675c1f60f8d6ce90db8,508,https://github.com/FasterXML/jackson-core/issues/508 +25,3d3dedc656e331ab1a9e28efcde96bf71c347daa,ad47c206f4fbf22f439f3d66871757891f549f6a,510,https://github.com/FasterXML/jackson-core/pull/510 +26,eb477b85f74a2a1250ba6294cf4086d496830e27,d83ce8aec99f4e99afdf8fd172d77ce771f8ea35,531,https://github.com/FasterXML/jackson-core/issues/531 diff --git a/framework/projects/JacksonDatabind/commit-db b/framework/projects/JacksonDatabind/commit-db new file mode 100644 index 000000000..5f19dabaf --- /dev/null +++ b/framework/projects/JacksonDatabind/commit-db @@ -0,0 +1,112 @@ +1,a1bb6f2dcb82eb9f880f87c480d6086a8e0bee34,88f44d87d4c2251d7cf55d9aa9c3452a397ae19b,223,https://github.com/FasterXML/jackson-databind/issues/223 +2,01797b0794ac384f5f5ef49cc0cfab8347ae7930,9c5fec2302237ede0e797c13c0663a6bb52c798c,467,https://github.com/FasterXML/jackson-databind/issues/467 +3,fd9b65dc45657bb7cd236df5396b901f36469c76,fa1d99255915f21c868f28307fd6e3adb2029ea0,479,https://github.com/FasterXML/jackson-databind/issues/479 +4,4d532801d3d552c7522888efb61e42f0fa167715,9e080e298d8c0cfd7d77a56eb93d85a5da322555,506,https://github.com/FasterXML/jackson-databind/issues/506 +5,64a27bc8e5fd38a48c0c70eddf864542f7198acb,fd0f1fefdc19593a040b3dce857715d613cb6458,515,https://github.com/FasterXML/jackson-databind/issues/515 +6,a4849c115f097ad8304b385a279871a4d44a9f16,5e799a2e2265cbb6a056b37b50f82cc1eebf1d45,570,https://github.com/FasterXML/jackson-databind/issues/570 +7,7471116f2457073ccb895a0eb452591b71c043e4,bcccd3e82241db25a2f34ed655dab88395089f39,592,https://github.com/FasterXML/jackson-databind/issues/592 +8,a399c540e540ac616fd3c19a8e46ce065ef71f8c,3b041e3bad5968ade7f7519daeef6695a8f6b7f9,667,https://github.com/FasterXML/jackson-databind/issues/667 +9,ae101c63bc8c74466fc137b766faa8793c1e1f10,00bb11edc3581f42e1f3c78a047538c8ea9eb0d9,682,https://github.com/FasterXML/jackson-databind/issues/682 +10,6262dd76625e16d10ee45bc90ae76b02101cd65a,466f706901d39ae95393c6c7b1d0b544247922f1,705,https://github.com/FasterXML/jackson-databind/issues/705 +11,66e8ac6372bc670d98e9dc74f06ef6faef97032c,66bfe6658e6c25e03d1bcd5d4d858e1aaf738a01,609,https://github.com/FasterXML/jackson-databind/issues/609 +12,36d9b59eb1b74442abeea856dca61ebe8bc7b3a5,1d57c20dfd79c64837cf1ec357ab402f2158227e,735,https://github.com/FasterXML/jackson-databind/issues/735 +13,50ea0838d9251240e8dd814c682059ef85b4d0cc,59af571c64a169eccd670337f097ff4be44a2262,742,https://github.com/FasterXML/jackson-databind/issues/742 +14,0ec81c07bc4be13e1382f7191981ed3f0bf9ef39,817a45a07040297a5db45dd04e79b010146b7e0d,744,https://github.com/FasterXML/jackson-databind/issues/744 +15,fa1c2ff7eefd68061ae0cc3f630e87d16d1b2bb5,119ddc9701c94ac184362166742ceaa7437eec8f,731,https://github.com/FasterXML/jackson-databind/issues/731 +16,6dcb13f70fb1c68b0c055bfb1dae2b296ae67b03,db612bb3839581d0a88297667880cad548c018b1,771,https://github.com/FasterXML/jackson-databind/issues/771 +17,7db1f44069bbcac9d884d829f8052a89b5ec271b,a143c05db7a911f98f8bf59beb13cfcb7689395d,793,https://github.com/FasterXML/jackson-databind/issues/793 +18,de1376e85e247f7e4b185183b6433721dec172bc,2abf5a321405a82ed4e0d3a7c876c82bb05188f9,734,https://github.com/FasterXML/jackson-databind/issues/734 +19,1a24cc1755d787a576c32157a38e441cfe839964,354e1390bc397ef048ffd5d905b0709a3a2585ef,810,https://github.com/FasterXML/jackson-databind/issues/810 +20,ea2c9a46bf2a98eb2f1af04fad65016f4648a8de,6456a9ac0bee09e2ae45ae56739102a8071f217a,815,https://github.com/FasterXML/jackson-databind/issues/815 +21,44dea1f292933192ea5287d9b3e14a7daaef3c0f,707db7a972e2d088647450f9a890c438fb735933,677,https://github.com/FasterXML/jackson-databind/issues/677 +22,80c1bbb7f93b6ec3c79c4ae3f72dbeec5dff62fc,a92e2be0ccbe6732e1fef39bf48b0f9dcc559fd6,848,https://github.com/FasterXML/jackson-databind/issues/848 +23,19b897cc8ed0c48995f1aff18ceb32fa8af81c6f,6172d7561007a941b01f960dd44d94a92f3ad763,849,https://github.com/FasterXML/jackson-databind/issues/849 +24,6c617384110d2ea10b1bc5543f747c177df6dc8f,b4ef0a65150a7311ebb9119b1ac6898e33dc0baf,889,https://github.com/FasterXML/jackson-databind/issues/889 +25,b4ef0a65150a7311ebb9119b1ac6898e33dc0baf,9917c94d94a285ece80e6c9f3d2b9fba06d98fd7,890,https://github.com/FasterXML/jackson-databind/issues/890 +26,eda66cc8173c8e359d68a07bbc8adbbef5f8e7f6,2ea6e402d4cf86c3f7e9a16e667a40bab61cf11c,899,https://github.com/FasterXML/jackson-databind/issues/899 +27,d485ea7da49ed949c81f23513d01d67e170d2a1b,f2f611e701c63c8e98e59f315641bd2bf2921aea,928,https://github.com/FasterXML/jackson-databind/issues/928 +28,e258ee60edc692c80907fd6e4bb16e641692b721,b049739cc66a0f79c19dd1cea47e922d95645023,941,https://github.com/FasterXML/jackson-databind/issues/941 +29,04cb084c913e82414a7e92803cd037f0169450d6,30b5469753686548ca7a590dd1bc5114181e68a9,942,https://github.com/FasterXML/jackson-databind/pull/942 +30,16aa30572b41b7e643e9ee08def2169681f8e2c5,ca6c3fc55eb74e21fe90e18da33723fb99b22f21,965,https://github.com/FasterXML/jackson-databind/issues/965 +31,3bd5de685c1f1116b71e6c51d713528834773fdf,fe25f7e14d92f5d4746549e7df22e9af35fdf54b,984,https://github.com/FasterXML/jackson-databind/issues/984 +32,fe25f7e14d92f5d4746549e7df22e9af35fdf54b,d5a25f4300a93f4c411a7b8364d34122bc0a1b62,989,https://github.com/FasterXML/jackson-databind/issues/989 +33,1ed7f3834dc77cf76d7477e8165dedb8ae2d61c2,660ec8f8c081646413d14adf41d55bbd4362a5a8,1013,https://github.com/FasterXML/jackson-databind/issues/1013 +34,5e924b21f6f55a918aed08927f8088ddd35ccfa5,6b471c37efce0a3205dff387efd3473980be648f,1045,https://github.com/FasterXML/jackson-databind/issues/1045 +35,121fc1d3432c7bb69d1030d840fc979f1f16c926,cecd409aa97693beb87c4e9ca34ea7f734676216,1051,https://github.com/FasterXML/jackson-databind/issues/1051 +36,9d0fae41bdc7fae448acf0b84ba18e24e80ad0b7,c48e992652125eb74aea8ead8cbda5fd0b44976a,803,https://github.com/FasterXML/jackson-databind/issues/803 +37,d5e12f74d2224574ef1e220decc514073303ac5c,dbf0c6f4c93d922a2ebb4d744661e7090fef2aac,1083,https://github.com/FasterXML/jackson-databind/issues/1083 +38,ae85620b0834bd978f8ab080b07150ee8034f8ad,21a2e4b7d680bf796f07d5d3b6119a3cd3fc356c,1102,https://github.com/FasterXML/jackson-databind/issues/1102 +39,e741034db7191de9985a9b3dcd667bbdf262ce3a,308ed4ed89b32d119b5994e457597275c6a0af7d,1108,https://github.com/FasterXML/jackson-databind/issues/1108 +40,44f35a9becd891b9401a5879cc7934ec7130846d,21ca92134c900809278c987cd02d0b2335f4fb1f,1095,https://github.com/FasterXML/jackson-databind/issues/1095 +41,97bbfa7827044224b86b6767e720dbd52f9d81e7,729c0fecc5ba6ac7749c7ea84d4a33dcb5cfa4e4,1115,https://github.com/FasterXML/jackson-databind/issues/1115 +42,89559a204e5aed69a58d45837d65bbe7f6dab95a,2d90441ef0440f3a2f910b210234cb8b709ca727,1123,https://github.com/FasterXML/jackson-databind/issues/1123 +43,ad53425b8173476fa7f6d87ef640e8138241cdbf,a290f09c4ba55b7724375099f5cf0cd0a9b48011,1150,https://github.com/FasterXML/jackson-databind/pull/1150 +44,a290f09c4ba55b7724375099f5cf0cd0a9b48011,700617aa96fdfb3259a1e8001c1bee24deaec34a,1125,https://github.com/FasterXML/jackson-databind/issues/1125 +45,700617aa96fdfb3259a1e8001c1bee24deaec34a,bacb37f41b4b8db75d6f1731e8c9afd56c6247dd,1155,https://github.com/FasterXML/jackson-databind/pull/1155 +46,d32563c559da846e386b86bbf664b82eadab7c82,cb6717764c0460f560e1b09478faa4dac692e8f3,1194,https://github.com/FasterXML/jackson-databind/issues/1194 +47,9d3de8cfcf9b50b92db20240d42abafc2bad98e1,ebadfd25ed1244b170f7af2414c35673eb055a29,1231,https://github.com/FasterXML/jackson-databind/issues/1231 +48,1e5d34926af2160fc8d19cfc435b608ee60d5c3e,fe32b967f6b029a10ec1d40f7e12c8b37ba32ee8,1223,https://github.com/FasterXML/jackson-databind/issues/1223 +49,d15b19f2b47fab18d369defdd2851e70284dbbf0,644487bf9b525b26734bfda1780b272b52631c5e,1255,https://github.com/FasterXML/jackson-databind/issues/1255 +50,522d8f6ca9aed1d6bfd5b3757dd46835f1ca9527,567d6c09a868175626a0b404dc1a8f128f7746f2,1261,https://github.com/FasterXML/jackson-databind/issues/1261 +51,37eacd8b90b7f7e2393f305db9b154312b693afb,36631a98a1199be01b9fbbcc66ac2afa4ad82dfc,1270,https://github.com/FasterXML/jackson-databind/issues/1270 +52,2202ca51cf3e61765c9ac96326633deb2ff37318,ab8a20f6447da482bd0430498b482d06867c9c50,999,https://github.com/FasterXML/jackson-databind/issues/999 +53,4929735be6bdae0d1853d7d269234a30be18408f,75a0953bcf6275a486243a67e91774c8d5ffb6ca,1215,https://github.com/FasterXML/jackson-databind/issues/1215 +54,9c2e89b49aa363292096addfa3f66179f498930d,f7e476edb42236ad06ab7084ecd5e6c5405bf99a,1256,https://github.com/FasterXML/jackson-databind/issues/1256 +55,958c824560807ca145ea581d26e501ed0cf669fc,2936ba525b22c3aabbb2fc914d1a191938b2375b,1322,https://github.com/FasterXML/jackson-databind/issues/1322 +56,e979bc530a86a32d63389acbedd3323185ad4ef6,07b6d6636670b2a9f14ac265186790db11cfd52d,1344,https://github.com/FasterXML/jackson-databind/issues/1344 +57,1d930db6a1407a873af65deecf4290e4c4238e94,bbd8190030022df404a8f7c47c1bc32e990cb0d2,1362,https://github.com/FasterXML/jackson-databind/issues/1362 +58,d71de544624bec27e6f4e76548527ae727eb193d,b2ccdee0fdc52cd46577a90cb50dc011d6d681bf,877,https://github.com/FasterXML/jackson-databind/issues/877 +59,b3c65e40abc63a4dde7f63eacf8ee96ccd4341c2,e59194aaff0a6e520184138924c69045160ee9d9,1384,https://github.com/FasterXML/jackson-databind/issues/1384 +60,9f01551c3f875ec7b19ad260683b794e6594a55a,be114a9a286c4d194cd268ac8153173c52619a8d,1385,https://github.com/FasterXML/jackson-databind/issues/1385 +61,be114a9a286c4d194cd268ac8153173c52619a8d,82c346ae999e1e250fb52732419aff9a86b1f455,1395,https://github.com/FasterXML/jackson-databind/issues/1395 +62,987a463a185d25086c29ee2efa0c0e24ecf77cb2,4e94c0ed9eca0caccb57feb0ceb252fc91198032,1392,https://github.com/FasterXML/jackson-databind/issues/1392 +63,df6ea43bdada52d5265d52c7d6c75e25a14da8ce,ab4f17f355402fdfa43994e8b1809f14ccce030e,1403,https://github.com/FasterXML/jackson-databind/issues/1403 +64,8ce13b9da419f61a409f7d57d6a15dcbaea9a71b,ea30c7b4d7c4621f777aed4cb4552a2c1e2270a4,1417,https://github.com/FasterXML/jackson-databind/issues/1417 +65,9257bd6b6a0227c400e1d008d5ad03d2244a6155,9a666887d85349b35e0d80885a7c7cb38029467d,1429,https://github.com/FasterXML/jackson-databind/issues/1429 +66,31ceee75592e1767bd1072eb670b43dcced5de26,cd5430a91723ff8cd61928524ec21ab4e14b20f6,1441,https://github.com/FasterXML/jackson-databind/issues/1441 +67,cd5430a91723ff8cd61928524ec21ab4e14b20f6,d906a34178f27803a08e824e3c2474fc0863edc4,1445,https://github.com/FasterXML/jackson-databind/issues/1445 +68,1aeb52554a104f0a2433788be406d53b39654952,d0cfb645350fab16bf61fac140b69ef55f8cba2e,1421,https://github.com/FasterXML/jackson-databind/issues/1421 +69,002a9a3e9b98ebebf53e43aed0536d3c50851c84,d44600d3750e5dba9fac68aee7248ed2a80a2225,1476,https://github.com/FasterXML/jackson-databind/issues/1476 +70,7fe2d4f1aaab61e41f31f792f8a988157a34b34c,d7155de6c37db3301b92b755bd0a02388f7dd07f,1493,https://github.com/FasterXML/jackson-databind/issues/1493 +71,d44600d3750e5dba9fac68aee7248ed2a80a2225,23a733207bc88a06ee486a5896b7b0c4ebbbfef4,1506,https://github.com/FasterXML/jackson-databind/issues/1506 +72,d3874ebf3c0585270f1fe33eb7030667bacb63b7,63afa5297a0b8bcbf31b9c91e5d15537e0fdbdd5,1501,https://github.com/FasterXML/jackson-databind/issues/1501 +73,2bb770bcd4cbc0c0c3ede86cedd4a602e328e2f6,4d34006e4d8a566c6c64a3a0e04c17e50d63bb82,935,https://github.com/FasterXML/jackson-databind/issues/935 +74,ce37efcefbfab0fa91562a492f0f80af018a5313,10d5ab37f06f7925bf959312bfb6211f5bc4a1cb,1533,https://github.com/FasterXML/jackson-databind/issues/1533 +75,ef17f26b4ad3a28979cd06b1ddaeda99080135b3,ce114737139538f72d2a7a994db41befc32362fe,1543,https://github.com/FasterXML/jackson-databind/issues/1543 +76,934f485d4c62854dd2ef48ed7ebb238f3abec0b7,e08dafef4faa7d71330160dafcbe77536d90e809,1573,https://github.com/FasterXML/jackson-databind/issues/1573 +77,28ec8a47d381311818f805ae76bf84da30f516f9,6ce32ffd18facac6abdbbf559c817b47fcb622c1,1599,https://github.com/FasterXML/jackson-databind/issues/1599 +78,b64c7736015d28c20857cdb91584308c78edd8e8,60d459cedcf079c6106ae7da2ac562bc32dcabe1,1599,https://github.com/FasterXML/jackson-databind/issues/1599 +79,8e98ed66bc262681a38052682ec5b6a42120f7f7,ec859af181fa5b2da62077d00154e3c13c9d8f28,1607,https://github.com/FasterXML/jackson-databind/issues/1607 +80,8c20a7670f71958c9af6c8daffab227d2d7ba87a,974ccddfd718a06f889da2dcd58ebb6bc22c8dca,1616,https://github.com/FasterXML/jackson-databind/issues/1616 +81,974ccddfd718a06f889da2dcd58ebb6bc22c8dca,029413a6e381bb04b7b0a420730d3119e9cc0961,1592,https://github.com/FasterXML/jackson-databind/issues/1592 +82,dec4a483d9d70a8e7d14e28474058ef50df1204d,4a2b1ae08ded66b77e05bf8fa0ac8a2e8c60709d,1595,https://github.com/FasterXML/jackson-databind/issues/1595 +83,edaa4ad8204dfda985d3c74ffe542c9eb67a201d,9a083ad56b20711eab368a7818fb079a870feb93,1629,https://github.com/FasterXML/jackson-databind/issues/1629 +84,9b9e47b889751ed72154bbff11e8181089e88e78,1a0326fbc31d3d9f1e5145dc71b937820142d111,1647,https://github.com/FasterXML/jackson-databind/issues/1647 +85,4b00ccc8ae9763c76e363621dc9ee4b8692d30dc,93f7e14d096181a251aae3355464d24bcd7677a5,1648,https://github.com/FasterXML/jackson-databind/issues/1648 +86,93f7e14d096181a251aae3355464d24bcd7677a5,3d743477e1531cd3c4c041941f047eee5b040924,1647,https://github.com/FasterXML/jackson-databind/issues/1647 +87,fe80e86551be38fccb1a983854925a78db6e845f,5a0ce57b5d3a6d30420267b56b3d2282c76df581,1657,https://github.com/FasterXML/jackson-databind/issues/1657 +88,ce7d1c9abc7a8eb3bd882e700691ccb80491febc,f2c445d6d2de988531dcda25da81fda129bc53f2,1735,https://github.com/FasterXML/jackson-databind/issues/1735 +89,6cd5be98485a5fe8920846bb0b47a0fec87113be,ddfddfba6414adbecaff99684ef66eebd3a92e92,1737,https://github.com/FasterXML/jackson-databind/issues/1737 +90,467589680add00ab49108bbbe7db375d81a75837,a1404d5684783ccf28dc1b0a2791ce7c0c311907,1804,https://github.com/FasterXML/jackson-databind/issues/1804 +91,a1404d5684783ccf28dc1b0a2791ce7c0c311907,dfaca81ae7a82b7c3018f265815e98a5138118f7,1809,https://github.com/FasterXML/jackson-databind/issues/1809 +92,e8f043d1aac9b82eee907e0f0c3abbdea723a935,e865a7a4464da63ded9f4b1a2328ad85c9ded78b,1737,https://github.com/FasterXML/jackson-databind/issues/1737 +93,d9bbae43dd474f51b01899bbd83116ab4e2b33ed,755e3bc0cbea30de0102f6a88519a0c34d571bbd,1872,https://github.com/FasterXML/jackson-databind/issues/1872 +94,939e332d951822f451d307ac4fc394af659aa0c6,6799f8f10cc78e9af6d443ed6982d00a13f2e7d2,1931,https://github.com/FasterXML/jackson-databind/issues/1931 +95,c5bfb9a191240fac1744d6569d48a52ebd53c3cf,18dc249e793b15e40e67753ea5e988bd428b1a92,1941,https://github.com/FasterXML/jackson-databind/issues/1941 +96,31153568b58a29979dd0c416d14833886f9216a9,dd57a2dd576a77423553c197df109a5b60c1c669,2051,https://github.com/FasterXML/jackson-databind/issues/2051 +97,dd57a2dd576a77423553c197df109a5b60c1c669,0e06d15b5ce1d5f16d8bcd69e2418c18009bc1c8,1991,https://github.com/FasterXML/jackson-databind/issues/1991 +98,bf261d404c2f79fd3406237710d40ebb03c99d84,12f82c60782f05015336bb6305fd72c133a410b5,1328,https://github.com/FasterXML/jackson-databind/issues/1328 +99,bc5e138dfaf572ea519cbfefe36a9bec8b017365,bc91126c55dc513735a2a95ace4c00a6021c76f4,2109,https://github.com/FasterXML/jackson-databind/issues/2109 +100,fd522c58b94fa5646f56dabd6ef4e219e939100c,d98ae778876cddd5ed3eacab9e5daf55186ff483,2096,https://github.com/FasterXML/jackson-databind/issues/2096 +101,63d48ff05508a5f52ff10035602f079d2f3390fb,644831ce403590db4dbeb8ee47adb3c393438fb2,2088,https://github.com/FasterXML/jackson-databind/issues/2088 +102,940ebf42f2dd7aa0376c385fc5dcf0643e758f2e,323cd0b309697021f1883de1e53038d2d09fc160,2064,https://github.com/FasterXML/jackson-databind/issues/2064 +103,323cd0b309697021f1883de1e53038d2d09fc160,f6cf1817509dc5ed61b9730c17abe492cc62b074,2128,https://github.com/FasterXML/jackson-databind/issues/2128 +104,54c744c2c2007eb93dd756cc8581573c9bec97ac,83c7c4347055c3a70a3115fa106aa69c9cb56456,2167,https://github.com/FasterXML/jackson-databind/issues/2167 +105,dccb9bcb3d175a1997921f75fd3ef8fce8989014,69903aeb290415809bfaf6a2e18ec6cb2141fc5a,2197,https://github.com/FasterXML/jackson-databind/issues/2197 +106,1f437f242f6fba6dbd32a1fa78383c55fcc8bdf3,6ef86656aa504309ea3d89cf98ce45d11d6ea9c6,2189,https://github.com/FasterXML/jackson-databind/issues/2189 +107,96ec23b2bb19b4d4b4530fee6ff08cd248d32a33,f3a1798076d9dc71883d317c8e97c4e033fcee98,2221,https://github.com/FasterXML/jackson-databind/issues/2221 +108,6532c755438df3d8c9a17cc06148f1ab70dc38d8,e797b2271ab9a00b99694a963728f3835f31d1cf,2211,https://github.com/FasterXML/jackson-databind/issues/2211 +109,a475c0d526ba9b8343e28ad9543a46005b0842b3,e287a62cd32832d5a9611d5b8f3bc06ec1310dc0,2230,https://github.com/FasterXML/jackson-databind/issues/2230 +110,3e6524801d689c6875b861897f31411a7c04c6ab,83264a7e377bd3399f0b550460077959aaece16d,2265,https://github.com/FasterXML/jackson-databind/issues/2265 +111,4b630c6e741782efdf560a0bd3b6b1d0de9da8c3,f36222e5c0b318e2b739e2b77b93c5d2c919413f,2303,https://github.com/FasterXML/jackson-databind/issues/2303 +112,f36222e5c0b318e2b739e2b77b93c5d2c919413f,8bb7c9abca9a2e298a2436cb995ba1721e49de5c,2324,https://github.com/FasterXML/jackson-databind/issues/2324 diff --git a/framework/projects/JacksonXml/commit-db b/framework/projects/JacksonXml/commit-db new file mode 100644 index 000000000..4f9a1ae84 --- /dev/null +++ b/framework/projects/JacksonXml/commit-db @@ -0,0 +1,6 @@ +1,81f38e1985bdfafdbe02e32dfb5ccb200fc64eae,2d7683ed820116b77cba9b4b290cd7ce7dfa5cf4,180,https://github.com/FasterXML/jackson-dataformat-xml/issues/180 +2,a96d27d4c74707965b257b6ecced4d337357545e,37eb331acce08142ad027f127c355f9b462fe9e0,196,https://github.com/FasterXML/jackson-dataformat-xml/issues/196 +3,23ab583c46a6a20b0c1232ebb91b16d4058c7502,79a4b57f2bbe08ce46e6dabb0a8b76f4a787141c,204,https://github.com/FasterXML/jackson-dataformat-xml/issues/204 +4,4c6a8b996ac608251fa63286d6c322251910ca63,2c5f6f4e0f7bbcfa566fbc91ee57baf8dd7a371a,213,https://github.com/FasterXML/jackson-dataformat-xml/issues/213 +5,ce61138456e10580c6bf78bc4009de926105c4d6,8aa276ba6b2092a562195f9a94eb562686a3352c,282,https://github.com/FasterXML/jackson-dataformat-xml/issues/282 +6,17f39695b24bbf0e8fa1fb86cbb5347d7ddadefc,8fd9463dad8d2232c1e947403ead465d6a3e5f73,270,https://github.com/FasterXML/jackson-dataformat-xml/issues/270 diff --git a/framework/projects/Jsoup/commit-db b/framework/projects/Jsoup/commit-db new file mode 100644 index 000000000..5993bd95c --- /dev/null +++ b/framework/projects/Jsoup/commit-db @@ -0,0 +1,93 @@ +1,77add7946ea5bca622b1f4f654f97e62f6db1e95,27a52f90a25699bebe23ff1ff94d6db361fdb11d,23,https://github.com/jhy/jsoup/issues/23 +2,27a52f90a25699bebe23ff1ff94d6db361fdb11d,bb4ead7c350695c1ed3c52d028090da4d4cecd1e,22,https://github.com/jhy/jsoup/issues/22 +3,5599adfa2bd30d9784c1eed07b24a31f458f0a58,0081d162cca8ad23b500b53799195fec644f261b,21,https://github.com/jhy/jsoup/issues/21 +4,f548940dd8be5f8c93ef17a8896b2807aa2a08bc,5e52f1b266173593fab32fe9d8a4963066b2f2fe,31,https://github.com/jhy/jsoup/issues/31 +5,5e52f1b266173593fab32fe9d8a4963066b2f2fe,62afbdf6a85fec75fde38d327928a180bc5bccb3,32,https://github.com/jhy/jsoup/issues/32 +6,0b56f3e5e012e689af8dda0e96d6e0c9f31853b6,20ed24cefb5df53c48021459af98bef83c55f241,34,https://github.com/jhy/jsoup/issues/34 +7,08a3d67273f31718acde383a4c5158bed9c506b2,82855b07f5336d30c70dc20548ab7ab8adeac05e,43,https://github.com/jhy/jsoup/issues/43 +8,82855b07f5336d30c70dc20548ab7ab8adeac05e,da9b977ef99e2595602a964561906a930b4332f3,45,https://github.com/jhy/jsoup/issues/45 +9,da9b977ef99e2595602a964561906a930b4332f3,2e4969497c5734d90d394103728bb517644f9157,46,https://github.com/jhy/jsoup/issues/46 +10,9dcc488f3c6afb691e49af42755cfd61b0a69d04,adce18ec3d06b849886d203fe932205f312cc37f,49,https://github.com/jhy/jsoup/issues/49 +11,13c2af3f24fceda5b44776a5257112ac7218d038,f462438f2ebfb354c823cd2c0b677b0674f0e80c,36,https://github.com/jhy/jsoup/issues/36 +12,43a39b308abfbe39ea06729277d0630786b9956d,d0a7e3a00350ea9bdca6a1f005ccc75e5b2d19d4,52,https://github.com/jhy/jsoup/issues/52 +13,71608a8424e1ad5d110a71d93313c370b2923411,411c01ff53f56f0b84bee210ad75c8c2114efa55,97,https://github.com/jhy/jsoup/issues/97 +14,35ba2dd27d69d1d09fed6f7a3c690f2bd121cb0f,437d8eca9f51dd0ed7af5b828412ee96ac192f17,82,https://github.com/jhy/jsoup/issues/82 +15,7b47828bc2cf749edfb0f75e370f168c6b1be210,7fe868089855c33d6345e740bfdbe6f140794598,104,https://github.com/jhy/jsoup/issues/104 +16,f16c0c17aa38ecff097f5fc50db7cd5e247c8737,f36b950de16f6db134bd98969cd8fbe578d37480,109,https://github.com/jhy/jsoup/issues/109 +17,f36b950de16f6db134bd98969cd8fbe578d37480,3d6f1e47ccf93d01364ed5f7603fa66d43eae0e2,107,https://github.com/jhy/jsoup/issues/107 +18,3d6f1e47ccf93d01364ed5f7603fa66d43eae0e2,128b3f8212e357468cb608546a52da3826903fad,110,https://github.com/jhy/jsoup/issues/110 +19,d0418222830f42f4f0c770e406f71454ea50e56d,c98349a7fb5598f0cbac88130520171bd6f253c1,127,https://github.com/jhy/jsoup/issues/127 +20,2c257f6482dd7a9583538b7b0d4b3b0bef9417fd,1d31086acba06579c4e7d5928dbba9ca8a0128b1,134,https://github.com/jhy/jsoup/issues/134 +21,c744b9afb57beec265226a9416eec4e572adca28,249e5a8aae9324cc6c8caf5303a607056b15a9da,179,https://github.com/jhy/jsoup/issues/179 +22,5d56ace149ae3264d2502d49dd85302fc613a27c,4b0dde413a3c38a77461ac64ad278a042d6eea68,184,https://github.com/jhy/jsoup/issues/184 +23,dbc1e34bdeede1cabee58b65bceb02f930ce5d88,1d37cef1d8367af963fee4dc99164708f5d3c6f8,145,https://github.com/jhy/jsoup/issues/145 +24,1d37cef1d8367af963fee4dc99164708f5d3c6f8,04b8921d4dcab019b02588620d953c4f19d43a58,115,https://github.com/jhy/jsoup/issues/115 +25,4b763cc86f698d31f59e22e169e7a5a83e696a55,94002db5f90395b8927ae69c569e5a0726dd00c4,167,https://github.com/jhy/jsoup/issues/167 +26,074d9bfd5476d0430e75073fb27001f43435c081,d7b5d5b28a6dd7ff198f02e1ee82160220135a74,154,https://github.com/jhy/jsoup/issues/154 +27,009013169754d4869f3a55c27a3443fc72d1d1f1,8963e2ac79a97e694c388622e935a0471267e9eb,215,https://github.com/jhy/jsoup/issues/215 +28,398f9cf93414253c216585efdfca3b9f73f90d74,a31ec08e102fd3832f3ff4449e9163440f0afb2c,224,https://github.com/jhy/jsoup/issues/224 +29,59fb5117a767ab75fe3baf5c37966c83430b02af,05ae97865c84536a6cfe7759ca6c382eb761ecb2,168,https://github.com/jhy/jsoup/issues/168 +30,381ce3d861251ae35aea636fc29c277a84060276,dfac9ce465ff9c988904d05014d2be2715aa1d2b,246,https://github.com/jhy/jsoup/issues/246 +31,f9901ab35d61700dd56cc6c1639e00f0aa58e435,caf61a4a0778a72ab713f72e9ef749bf373c98ac,242,https://github.com/jhy/jsoup/issues/242 +32,fa87a8fe2838e80ae0eeba6e2978815ef5533e91,0e37cba87eea9d89156c144e3d4298c9c9ed04d4,278,https://github.com/jhy/jsoup/issues/278 +33,834d3142304e0927dc659791da6a4521f271d7fd,2518e92a052d922d81d11e28b8e5205639fed9a7,305,https://github.com/jhy/jsoup/issues/305 +34,2518e92a052d922d81d11e28b8e5205639fed9a7,88730bf9f399aab6a150212faeea012598be9ec6,349,https://github.com/jhy/jsoup/issues/349 +35,88730bf9f399aab6a150212faeea012598be9ec6,76399e5b273d63d6affeb94597d8dfddce811964,313,https://github.com/jhy/jsoup/issues/313 +36,b67cc18ba1814d1abdb16f8ee9bb5473aaa42cf8,f052908ec90e12bdc6b67915ef2290aa9eefa48b,321,https://github.com/jhy/jsoup/issues/321 +37,be64f746f9f034e524f8d9bfb9748d19054c8772,c07ba8a34b6a6d6665928e106fea67bd9144e4e0,368,https://github.com/jhy/jsoup/issues/368 +38,c07ba8a34b6a6d6665928e106fea67bd9144e4e0,9e9e15856d41f55cee4a215acae3c3866e78d200,364,https://github.com/jhy/jsoup/issues/364 +39,6c4f16f233cdfd7aedef33374609e9aa4ede255c,3f9f33d88355f22aefc7ea402da09fd1950289ce,348,https://github.com/jhy/jsoup/issues/348 +40,1837ecbcdbafd051fab6a37e2540bda054e52151,b033535fe2cf887de8076221a0d614abfcf17d7b,460,https://github.com/jhy/jsoup/issues/460 +41,b8c259cfaf668e4237de09a0327b82080cfd37ba,8391b7231a2519557d41209d728acc4f422af381,537,https://github.com/jhy/jsoup/issues/537 +42,0c10dbffb475febe05ebaf074278e5d5aa81e32c,c01fcd338d73dc039e6a3a6cd2c449d9c9d41304,489,https://github.com/jhy/jsoup/issues/489 +43,373ea35b2cb227b56694aa50589c853b68caa03a,11f7c1bd7a2d12f0b1150aa246c61afefd11991f,554,https://github.com/jhy/jsoup/issues/554 +44,ec608674d877d2e906cab77bb09ecb2494167f0e,3a7f39c507ed2b6809dc3a8bcc0a28ad19aab2f3,552,https://github.com/jhy/jsoup/issues/552 +45,5be8b081ce931865d46b49ed44e19d3eafde748d,3b4f9dfa91b6f1852c35baf79c4a13eacc6112c3,575,https://github.com/jhy/jsoup/issues/575 +46,ddf4c1bcae69ad48c01eea207e3f3c24d2eda208,3ba88d8c2ab500c07f9e2ddbc07a4bd01fadbd78,523,https://github.com/jhy/jsoup/issues/523 +47,1e09df66f0302958d547037e7258913b3069f2b6,a025d87deb9cc4cda49ae1b77feb0f29805dd7c5,528,https://github.com/jhy/jsoup/issues/528 +48,73b52d0d995b8c6091c0e92f8ada03a2753b576a,65553582d184e18de10e496b0eaa53fbe206ba17,618,https://github.com/jhy/jsoup/issues/618 +49,941f69bfe96753ef30dbb3bb1bdffb72ee8944e0,b2e37fca64877104cfdad3f56cdc2c8b98cb6be1,689,https://github.com/jhy/jsoup/issues/689 +50,cc19d3029ab0db137da0e95cc55c20b131241cf1,c3cbe1b64e7f66ff9f9b53f1388eb135e6693187,695,https://github.com/jhy/jsoup/issues/695 +51,8b38cd812802397dfcbaddb34cde9ac27f0fde22,25e0e1e9ffca9a350d060db7d2179c5c9e459055,667,https://github.com/jhy/jsoup/issues/667 +52,2bca40cf59bfda485f2fbf43b8bd66509a8f98ab,4eb4f2b2e88a2f9e6c5c1e8d0477060954f24218,701,https://github.com/jhy/jsoup/issues/701 +53,c090381c55b6d275eebe60053d36f198ffe793ca,a229d7354da5210a728ce5d43158d5cd780772db,611,https://github.com/jhy/jsoup/issues/611 +54,9e8ba01343f2b39185846821407e93ca5240bdb1,f148f88de365c50eea28d3e14093e13c33104483,721,https://github.com/jhy/jsoup/issues/721 +55,aa81e10c34f48a3c4ac7160aa90ee18af4f5c0c2,f0f0e41e6c581de43dfaa98f5c2af52e43e42e62,746,https://github.com/jhy/jsoup/issues/746 +56,fa929d4f4b1576f3f2c4020892b74bc3518575e7,c28e5bf53a9ce9e32ab84ce2e6eba87ec747d1a0,408,https://github.com/jhy/jsoup/issues/408 +57,c28e5bf53a9ce9e32ab84ce2e6eba87ec747d1a0,2c58e975ab00eb369ee3dfbba07a4a78a1ef9e19,759,https://github.com/jhy/jsoup/issues/759 +58,b919f01e4719631f2621c523d78777ba237be7dd,f44d6e64ac97d4a5c119e3e22f22f4d87c94b7e1,245,https://github.com/jhy/jsoup/issues/245 +59,d8eb9bd63c861132e5307a65e8f2f234fab2416b,a623db776696c0e03f68e849147f6a0c57063c02,793,https://github.com/jhy/jsoup/issues/793 +60,c221cc8ab03fe7a88982cdddb9e66cff546d29df,8fecf72da0c9d1d6da7ec1aab0214ff68588da88,803,https://github.com/jhy/jsoup/issues/803 +61,b6dda00bc19f6d3bc4009a6b9a4a932de9640bd4,83f01fd864e59fa69c894da06f4a15489222d401,814,https://github.com/jhy/jsoup/issues/814 +62,2f6eabc9f0999421acf032c79f3106215c013580,b934c5d3e30917de86796c89fcb7cd000f642a80,819,https://github.com/jhy/jsoup/issues/819 +63,d51f6539c6245847f4296230077faade0e5d6973,35bceca331e07938a9c4cd62d68e08740cd39575,868,https://github.com/jhy/jsoup/issues/868 +64,c4f6a622ef63687c23a21e795d7a3e32de222d2f,195566fa6d4092c6983fbf497c37ae53a188fa90,906,https://github.com/jhy/jsoup/issues/906 +65,32af6ba9f1b15f89660645a7a27f89517a0890c6,4fa93397353a7cd3cf15f9c29c40f8a18fc051e5,807,https://github.com/jhy/jsoup/issues/807 +66,22a17d24279450e7e214b57beb4c0bda5f3698e5,c324fabe86c0a59eb635610dc85d8d7a7be25c74,951,https://github.com/jhy/jsoup/issues/951 +67,2412188026aa32491e769d6221c16a3bda6e897b,fb8b60b4d3d202c6fa708f60b8b4a5a53836af24,955,https://github.com/jhy/jsoup/issues/955 +68,1b38f80d623310e84c87b2d708ed0ab648dfafc5,adb7a15a1e2dd6742a25592602a6e8ee77b518b6,966,https://github.com/jhy/jsoup/issues/966 +69,4d78e0316e1eae331bc0b460f367ce878688d6d2,f75f47397836ba2127f06c8390a87eada369f7cc,429,https://github.com/jhy/jsoup/issues/429 +70,4d78e0316e1eae331bc0b460f367ce878688d6d2,aeaf3c1a03fe4d5bfda4d63824a1f97dcec42e74,722,https://github.com/jhy/jsoup/issues/722 +71,5fa76800671ff1d5477a383a0c3516d6fcc0a55a,1d7e6fa1c5fb974bdae7abeabbb1e5a48dc00967,550,https://github.com/jhy/jsoup/issues/550 +72,5f0714329e2763d330460efee8ccd7f69acc8e7c,b8411990753314ed3b746d3402dec5a65ff6d603,972,https://github.com/jhy/jsoup/issues/972 +73,8c7414da71bc7c156f44638f44718c5f70b70460,3475dc846d78e56422b3e6fdf36dfd4416f359f5,977,https://github.com/jhy/jsoup/issues/977 +74,3475dc846d78e56422b3e6fdf36dfd4416f359f5,c3f8caa7c16c08b803b0f34bfffdf9777c7e382c,978,https://github.com/jhy/jsoup/issues/978 +75,64eef180f610d0dad97873f6786b103700ddb8b2,f627193ce0950f0d55ed1b4f6a2fe9973447853a,985,https://github.com/jhy/jsoup/issues/985 +76,f9307ec96a894191e5d3782601ddb49fbfc53ea6,02668f757c59f0c1a7ad8f3169faf061b4b787c1,825,https://github.com/jhy/jsoup/issues/825 +77,bf4f99c72ba3d59486e0decb59a2b87edee4f1ff,df272b77c2cf89e9cbe2512bbddf8a3bc28a704b,998,https://github.com/jhy/jsoup/issues/998 +78,71561e09e0f29ec5fd1bb918206f3d8e42876518,2c4e79b104c0ff32566ce247617d47c0b39cc2c7,980,https://github.com/jhy/jsoup/issues/980 +79,2c4e79b104c0ff32566ce247617d47c0b39cc2c7,1028b37a1dfbc5dda7b18cbe692ab168c54fb505,1032,https://github.com/jhy/jsoup/issues/1032 +80,47a7f5ab2a22a2ce526f96e0cf9f2c46511c56d9,e9feec90dbd3e428dc1930c3b5efbd9271160d01,1015,https://github.com/jhy/jsoup/issues/1015 +81,850a9cc02fb72cc450d1a9dc41912fa80fee9020,e38dfd44829e13ee83fd62bfe937580f5a998c11,1009,https://github.com/jhy/jsoup/issues/1009 +82,77966f79996f3fc4c7828b4d02a926c071faf040,6be19a6fa26e6e5e3d716283bad4b5de0348a8b7,1007,https://github.com/jhy/jsoup/issues/1007 +83,39e90ee38c3ce7aa254bb89740282c12eb149162,bdf1df7eb3ca76cdcdaca38f7df5d941bbb1c664,797,https://github.com/jhy/jsoup/issues/797 +84,bdf1df7eb3ca76cdcdaca38f7df5d941bbb1c664,a810d2e3615da9a37ad74a7db2ca8bc6945ab9a8,848,https://github.com/jhy/jsoup/issues/848 +85,49c4a148b7817ed424e8cf823ae601863fec31ce,25ba713e1d1a97ebfee38c0df3e7e6d4d9615f97,1159,https://github.com/jhy/jsoup/issues/1159 +86,973234bc842b0de2febea195f7819236b57fd992,38c13b5ae97c294afb859c49ded903beb7b9b100,1139,https://github.com/jhy/jsoup/issues/1139 +87,38c13b5ae97c294afb859c49ded903beb7b9b100,7ff7c43e9fbf4bbaf2b4517b3d4f8a429d87d3bb,1149,https://github.com/jhy/jsoup/issues/1149 +88,8adcd55d8abe4c84ae2dcffb9a882abc4143bb93,8b837a43cbe2c12624ab2088dc4ff9a725af5f4d,1065,https://github.com/jhy/jsoup/issues/1065 +89,8b837a43cbe2c12624ab2088dc4ff9a725af5f4d,1d663eeb1c0d1c08bcfe5d30f05170768bb0438e,1107,https://github.com/jhy/jsoup/issues/1107 +90,315655cc11c9d49bb821dd800d45580696b02185,7de614ffd01161d8718d7458bab9d9690ad2334f,1172,https://github.com/jhy/jsoup/issues/1172 +91,7de614ffd01161d8718d7458bab9d9690ad2334f,247c5d05f4529e55aa1fdbd333f99e323809b5e0,1192,https://github.com/jhy/jsoup/issues/1192 +92,27a445b029b02bced263a0686f40a4f373827953,0fc3d6728ae270fb38f9778ad7fa2663060b50c7,1219,https://github.com/jhy/jsoup/issues/1219 +93,e9e613706443fd1cd3458d1e5116c0498afd8b09,a9439f0c503ac8e0f009a0ec39f8bff1a6271d51,1231,https://github.com/jhy/jsoup/issues/1231 diff --git a/framework/projects/JxPath/commit-db b/framework/projects/JxPath/commit-db new file mode 100644 index 000000000..9198cba3a --- /dev/null +++ b/framework/projects/JxPath/commit-db @@ -0,0 +1,22 @@ +1,932131e698e669cd7e0743a6999eab455f9de6b0,fab38abb27f2f92b9340cfc232eb5517434bf138,JXPATH-12,https://issues.apache.org/jira/browse/JXPATH-12 +2,5eb29ba7901ab88e8388095a8696c4ae13a2c163,716c03b3b12ec106974898451b149f6eb79c65da,JXPATH-50,https://issues.apache.org/jira/browse/JXPATH-50 +3,34e73b6483b08da2d793eb613520e23c3d6afeb1,984778f3c264df5d608eb9697df2a268122ac66f,JXPATH-68,https://issues.apache.org/jira/browse/JXPATH-68 +4,2bb50b71c9169033d917213ec753ff5af309965b,9f912437a14392f8d4c98aa811e9134fbf7b5a52,JXPATH-83,https://issues.apache.org/jira/browse/JXPATH-83 +5,458f562cdbe13b42ae325ac88a082047fe05ab89,2a01dfaf8d6abbabc7e4cd5cfd05d2e0b4886708,JXPATH-89,https://issues.apache.org/jira/browse/JXPATH-89 +6,5e277f495715b7552d8eb9d8493b6450c071a990,9b6406bf37af48e843b02fa8fd53dc673f3cbd1e,JXPATH-94,https://issues.apache.org/jira/browse/JXPATH-94 +7,9b6406bf37af48e843b02fa8fd53dc673f3cbd1e,58fac658aba985ba77f8bd0156c6d01bec8d991b,JXPATH-93,https://issues.apache.org/jira/browse/JXPATH-93 +8,bb12c5b5ec5ce80c8148749ffef72956c01571a0,1befe1b93eec887971e729b89dd4d900319a06b0,JXPATH-95,https://issues.apache.org/jira/browse/JXPATH-95 +9,b546d575e5b626929a3649794f4e47bccc4fd3e3,40689aa2f3e6e601b51f6c590dbaf079325da772,JXPATH-95,https://issues.apache.org/jira/browse/JXPATH-95 +10,1860d750670f46e64c276bae92d93f545dfb5bd5,3b3e58d3d35aaa7e8e35c0856611f4bfc3f291c7,JXPATH-93,https://issues.apache.org/jira/browse/JXPATH-93 +11,626e5e5994a651085e9d2ccb1ca99c701f88bc68,52d73022820d163104c6419f25ca955f86464f63,JXPATH-97,https://issues.apache.org/jira/browse/JXPATH-97 +12,52d73022820d163104c6419f25ca955f86464f63,d52074012200f55cbd3635591b914e2c1b19674f,JXPATH-97,https://issues.apache.org/jira/browse/JXPATH-97 +13,d52074012200f55cbd3635591b914e2c1b19674f,15a67164cbefb9f9ae03b334888947d5fe5dccb4,JXPATH-97,https://issues.apache.org/jira/browse/JXPATH-97 +14,2c5243995eceb0de0a71271ce2ea7c02c38649fb,8a04f62fa755ec165152a03a516c186d20e8cd46,JXPATH-102,https://issues.apache.org/jira/browse/JXPATH-102 +15,33cabe52b5ab65bcbb67a2b725b3d97d09749f18,497ed5f8b0bb95ad7a97ea5f0cc517a0420e422f,JXPATH-100,https://issues.apache.org/jira/browse/JXPATH-100 +16,e2c9d22b8dc59c707e32ef7fb05a3282792ce92b,6cf7092809515b6add5f0e83fd837b8e013c5256,JXPATH-114,https://issues.apache.org/jira/browse/JXPATH-114 +17,1a292f1cd08ec2272c3565e0197ec11772db28c0,a1bc20f2af31730caa12faa116e14a964354f28d,JXPATH-109,https://issues.apache.org/jira/browse/JXPATH-109 +18,a1bc20f2af31730caa12faa116e14a964354f28d,4882e4423ae7bfb80c65da4aa547ef5aed16a007,JXPATH-115,https://issues.apache.org/jira/browse/JXPATH-115 +19,b67345afa4817cc8bc7f14137ed1ef90ab299062,7b2847e882a9e4216dcf0f35d27101e363611532,JXPATH-125,https://issues.apache.org/jira/browse/JXPATH-125 +20,a48b10d2a39eab2eb5a6a7309edc98803ceffe81,820a69d81b3b5d33f4a2b2cd9f153450f7535452,JXPATH-149,https://issues.apache.org/jira/browse/JXPATH-149 +21,820a69d81b3b5d33f4a2b2cd9f153450f7535452,99a20785daf2bfc018552e2eabed1067bf225013,JXPATH-151,https://issues.apache.org/jira/browse/JXPATH-151 +22,5c538c4e51c6c5ebb43182d0c6e99ee8f7b3590c,afa2deca94436837e785b89362cfaaf84a8ca1bd,JXPATH-154,https://issues.apache.org/jira/browse/JXPATH-154 diff --git a/framework/projects/Lang/commit-db b/framework/projects/Lang/commit-db new file mode 100644 index 000000000..fa32e00b8 --- /dev/null +++ b/framework/projects/Lang/commit-db @@ -0,0 +1,64 @@ +1,2c454a4ce3fe771098746879b166ede2284b94f4,687b2e62b7c6e81cd9d5c872b7fa9cc8fd3f1509,LANG-747,https://issues.apache.org/jira/browse/LANG-747 +3,1f001d06a2bde5ee4e3204ab38c4b1db8e95db0b,2c9c8753165dc7ce5dd1d5a6d741b445b33302c2,LANG-693,https://issues.apache.org/jira/browse/LANG-693 +4,4ddbd99c5805781bd3c2287ab7920fecc23dab53,fb47b96ab635d7cc6e9edefdddc46f1baf63b117,LANG-882,https://issues.apache.org/jira/browse/LANG-882 +5,379151bad9c5402c335db67f9494351b99298732,75944e541d358d5b06ebbba3098a919fbf2539d4,LANG-865,https://issues.apache.org/jira/browse/LANG-865 +6,6823c3742ee16f5b28e550a6afb685553befc0c2,cff0f1ae37bb2b7ab2dcdb10dec1f3cad7532e1c,LANG-857,https://issues.apache.org/jira/browse/LANG-857 +7,f0c7e60bbaf975b64ab5bf1b75ba6b7dbc256300,e71f6dd3f2f70c640ae73d28b432b3a69ffcab4b,LANG-822,https://issues.apache.org/jira/browse/LANG-822 +8,8d192d7063cc747a3c6226122ea83c7348e199e7,a4a455053e7e4a77320efd6db0814f4de82d754d,LANG-818,https://issues.apache.org/jira/browse/LANG-818 +9,afe5dff79fc23d222ba1f1481fbbf55e09d2e6da,c45d5bff75edfef6387d40e681f9dc7c9b517bbb,LANG-832,https://issues.apache.org/jira/browse/LANG-832 +10,0afcd15e183205a85a45a2775f1fb75a162a1389,afe5dff79fc23d222ba1f1481fbbf55e09d2e6da,LANG-831,https://issues.apache.org/jira/browse/LANG-831 +11,c9d786a4fe2639581047d878a64bab6fb24f1ab3,c821fafce06adefc040e8983fb12d49399a48627,LANG-807,https://issues.apache.org/jira/browse/LANG-807 +12,9351ed93365de2d1c316b8f419566820e88839e3,c9d786a4fe2639581047d878a64bab6fb24f1ab3,LANG-805,https://issues.apache.org/jira/browse/LANG-805 +13,d0cf0fdd4ff2329f9584c4f663f1af177c1994f6,bd59a1908a1df3364918be7b07782500616b15ac,LANG-788,https://issues.apache.org/jira/browse/LANG-788 +14,c8afaa3e869cc8c25577641553e0d0b5bdac78b5,cf7211f9d7d70d56501d8c4c827bf9ce3cac5f0b,LANG-786,https://issues.apache.org/jira/browse/LANG-786 +15,76912e0d8aed581ee4bc6b8635d0512ac2695f5d,8185a9e681d6de5f40b0ed07b40730c9761bad37,LANG-775,https://issues.apache.org/jira/browse/LANG-775 +16,a145b6d838914e38ee1027a1497de41140549080,13c7f19a5ad506340a7c8d8601ef4bf2426ab325,LANG-746,https://issues.apache.org/jira/browse/LANG-746 +17,a7e90b2ffa23ab60c7022e2f94a12651b4fb8ec0,b4255e6d071dc8d48bfc51037cecb29097b9a49d,LANG-720,https://issues.apache.org/jira/browse/LANG-720 +18,aefe0749b2f2e63f9d13393694e7d20173bc032a,2aa9dca994b006ccbfcb528de5ff0da6a5578411,LANG-719,https://issues.apache.org/jira/browse/LANG-719 +19,85481c8f87075c88a97e793d9a6fcfd8d3c6946f,0b3a8a3128890f710700d04e38df48b883d11d91,LANG-710,https://issues.apache.org/jira/browse/LANG-710 +20,0c01b4c48bc886a7e53b517efeb2192d1caaffe2,f08213cc4c35fd71e98aa5233fcb2db3333793a2,LANG-703,https://issues.apache.org/jira/browse/LANG-703 +21,a473984ef081ac1c55ce263345c5a54049275935,55f642725742513824975af0e5e91cb1920b6d72,LANG-677,https://issues.apache.org/jira/browse/LANG-677 +22,1b708e343781255f50e17bf10b363cca303120af,0b2b82ad923b0455cde93286e3f504a1abd0863b,LANG-662,https://issues.apache.org/jira/browse/LANG-662 +23,458597c6dcc23b01284930521f1cb80e986b442d,46356183872f2cba5e340993c6d85597a4f3cdbb,LANG-636,https://issues.apache.org/jira/browse/LANG-636 +24,d61f50a3986b983ba0bfc6d2ec2abc26892c6ed2,81903abbb25ff92597d5f1e3acc648d12bdee444,LANG-664,https://issues.apache.org/jira/browse/LANG-664 +25,eb94e61a64105bcdd6afd0f6377de7b4fa7fa105,2bae68787d15c3d3540380164e62759485078ec1,LANG-658,https://issues.apache.org/jira/browse/LANG-658 +26,e67792f82e7eaccb39007c0fa65f3217f24be10d,75d5b74a1a7ef68c5169f4b44cdf972c1ab07ee0,LANG-645,https://issues.apache.org/jira/browse/LANG-645 +27,7c915333685392f7cfc913b2085471709e6d6227,c2560c028173c3bc0a4627d4ce5ce221bcc9be66,LANG-638,https://issues.apache.org/jira/browse/LANG-638 +28,8da5fb28a764eee26c76a5018c293f224017887b,3e1afecc200d7e3be9537c95b7cf52a7c5031300,LANG-617,https://issues.apache.org/jira/browse/LANG-617 +29,cbf8e4eb017a99af9a8f24eb8429e8a12b62af8b,982e295053663787bb0396b81a8956c3c87dc25b,LANG-624,https://issues.apache.org/jira/browse/LANG-624 +30,24f6517c9d5c1293f0c1209b7b44b6eeaa6ebee2,19b6372018c6b800f8e2bf1b85e15ef4cbd500da,LANG-607,https://issues.apache.org/jira/browse/LANG-607 +31,0cc451d5e5cb565eb7311308466f487bc534ebaf,38bf7048571f3bc8dd34d14691906426444e4381,LANG-607,https://issues.apache.org/jira/browse/LANG-607 +32,1c606c3d96838e595a0664cbafdd60caae34aa0e,006fca88e86bd6f650d4d021d2ff3573a572827d,LANG-586,https://issues.apache.org/jira/browse/LANG-586 +33,575be16474e8e8246d4bbde6f243fdf38c34ad5b,0603aef594fa60126c2d45f2ab164eee39f7b44c,LANG-587,https://issues.apache.org/jira/browse/LANG-587 +34,3f900a7395e31eaa72e0fa2fb43c090e5a8fa4ed,496525b0d626dd5049528cdef61d71681154b660,LANG-586,https://issues.apache.org/jira/browse/LANG-586 +35,48bf241d4149919e0928e39616bee2e3783e2987,80bd78ea0685d28ddec9b8162d652db9dec949ce,LANG-571,https://issues.apache.org/jira/browse/LANG-571 +36,ec0c4e5508dbd8af83253f7c50f8b728a1003388,da0612b348fcfa7679b92a5e9b8e1603e8e2da3a,LANG-521,https://issues.apache.org/jira/browse/LANG-521 +37,b5906d3f325ca3a1147d5fa68912975e2e6c347e,ea140fb5c327e2b58f6c5bf1057c7dede909a50c,LANG-567,https://issues.apache.org/jira/browse/LANG-567 +38,e28c95ac2ce95852add84bdf3d2d9c00ac98f5de,a95e76eefb91bdd9cf1c22734874a3d3c95ed327,LANG-538,https://issues.apache.org/jira/browse/LANG-538 +39,0aa57f04ede369a4f813bbb86d3eac1ed20b084c,cb40e35f5e0990fad4c5278964fcc24e112dde8c,LANG-552,https://issues.apache.org/jira/browse/LANG-552 +40,c72adf1b7592f302b8abefdb3b2f95782cc75aa2,8b1a8e178abb46cc048a3982636b8ec4e6ffc8dc,LANG-432,https://issues.apache.org/jira/browse/LANG-432 +41,ac58807ede6d9a0625b489cdca6fd37bad9cacfe,4d3629f310e84cc24c0e5f09d97f5126692d0128,LANG-535,https://issues.apache.org/jira/browse/LANG-535 +42,68217617c54467c7c6098168e714a2fb6a48847d,dd2ae757d12554f290931f0b3c05e33ad993ecd1,LANG-480,https://issues.apache.org/jira/browse/LANG-480 +43,ac2a39e92a71d5f9eb3ca7c6cc789b6341c582a4,eb3e2ae1f3734986a9f0225c661888baac3cb13b,LANG-477,https://issues.apache.org/jira/browse/LANG-477 +44,cf28c89dcf72d27573c478eb91e3b470de060edd,81f10d7f1ef52d44f43b38d81ac3dc1c83d45134,LANG-457,https://issues.apache.org/jira/browse/LANG-457 +45,cfff06bead88e2c1bb164285f89503a919e0e27f,d95fcd8e24568b4f9d3cb9da922a4029e293c793,LANG-419,https://issues.apache.org/jira/browse/LANG-419 +46,229151ec41339450e4d4f857bf92ed080d3e2430,916639bda234a8e5a030361c4068667764b34cb7,LANG-421,https://issues.apache.org/jira/browse/LANG-421 +47,19f33e4e0d824e732d07f06a08567c27b3c808f3,d5e343049c2610c31ddacb24f0d173942f6d5ac9,LANG-412,https://issues.apache.org/jira/browse/LANG-412 +48,3cea4b2af3f9caf6aa72fa56d647c513d320e073,eb8f74efb75e71fc91e515a38becc2aac203e339,LANG-393,https://issues.apache.org/jira/browse/LANG-393 +49,3905071819a14403d1cdb9437d2e005adf18fc70,0ac772a4e3b07287c435fdc3c812f67277c85cc8,LANG-380,https://issues.apache.org/jira/browse/LANG-380 +50,b2f1757bf9ec1632a940b9a2e65a1a022ba54af8,659ef247b1452b6d5b9f92271357381fa59fea50,LANG-368,https://issues.apache.org/jira/browse/LANG-368 +51,3b46d611b2d595131ce0bce9bdb3209c55391be7,a5589b39e985e64861bd920aa7b13ab32c215b06,LANG-365,https://issues.apache.org/jira/browse/LANG-365 +52,5209cefa81c9c48a34e5472fdcf2a308a4da2589,868f6976aea222e96259843f56df9aed8e48584b,LANG-363,https://issues.apache.org/jira/browse/LANG-363 +53,b6f7a8a8be57c9525c59e9f21e958e76cee0dbaf,d3b1163073c7aeb6011a5b65bfadad15bfc0f108,LANG-346,https://issues.apache.org/jira/browse/LANG-346 +54,5ccddb3ff7c65882ad6bbf95cbdac9debc76a871,e89e8d62b911340cc5b293465cdae909f3dfd640,LANG-328,https://issues.apache.org/jira/browse/LANG-328 +55,d8c22b8e1c8592bc8c6f6169a5b090082969acd4,3ef8a796b5ddf87e3e9afec9ba94aac62681b394,LANG-315,https://issues.apache.org/jira/browse/LANG-315 +56,7d1b54b33b07a570060824a703222a77c35b1fa0,672e3a8ead2970181c32cf5fc70a3ea3d020c1fc,LANG-303,https://issues.apache.org/jira/browse/LANG-303 +57,c71373047dc2172b0f06cebf61da284323d6ff99,bbd990b81fd7f8ab9dde75c8070b973b9ce500fc,LANG-304,https://issues.apache.org/jira/browse/LANG-304 +58,8185a5f63e23be852d600a80daa5b848fa836a65,1fd45a4f68ea497dfbdf1a67b8b8805a4a9b1166,LANG-300,https://issues.apache.org/jira/browse/LANG-300 +59,38f8bcc60b90295f0a697f32e760a0082571bc09,c04cd2337786ce7d54ed1fb757192fb8bc8c5e41,LANG-299,https://issues.apache.org/jira/browse/LANG-299 +60,88c76d207f642831ca899e144159424aaa60cf8e,a8203b65261110c4a30ff69fe0da7a2390d82757,LANG-295,https://issues.apache.org/jira/browse/LANG-295 +61,1313a65c11dea54f1baf492d4185fb2d673b6716,88c76d207f642831ca899e144159424aaa60cf8e,LANG-294,https://issues.apache.org/jira/browse/LANG-294 +62,cb7bfbc06d5d289be61733824d7f3e81321b2b3a,1313a65c11dea54f1baf492d4185fb2d673b6716,LANG-292,https://issues.apache.org/jira/browse/LANG-292 +63,3333dcc11f2d65ee99043945502102dcf3bca50c,0695c3f71e3fc5abe29d8b9b33eed7faac7e73bf,LANG-281,https://issues.apache.org/jira/browse/LANG-281 +64,df1653a8490feba4a21ad8aade5c960b402c3c7a,8de71ae52958ae70fe651b7327319c9beecd9b84,LANG-259,https://issues.apache.org/jira/browse/LANG-259 +65,c8fc5f3dff9491b076a1f76ed5a2584908b1db4f,bb1671667d9085fb76bd06af7f7ad91d2c1c8389,LANG-59,https://issues.apache.org/jira/browse/LANG-59 diff --git a/framework/projects/Lang/deprecated-bugs.csv b/framework/projects/Lang/deprecated-bugs.csv index 96afd1673..b0a438bd1 100644 --- a/framework/projects/Lang/deprecated-bugs.csv +++ b/framework/projects/Lang/deprecated-bugs.csv @@ -1,2 +1,2 @@ bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason -2,aefc12c38171e1a84a90dc26e51b2c7aa111fdee,09d39029b16dee61022dc8afde4d84f523f37813,LANG-879,https://issues.apache.org/jira/browse/LANG-879,2.0.0,JVM8-NonReproducable +2,aefc12c38171e1a84a90dc26e51b2c7aa111fdee,09d39029b16dee61022dc8afde4d84f523f37813,LANG-879,https://issues.apache.org/jira/browse/LANG-879,2.0.0,JVM8_Not_Reproducible diff --git a/framework/projects/Math/commit-db b/framework/projects/Math/commit-db new file mode 100644 index 000000000..2ffa3cb5c --- /dev/null +++ b/framework/projects/Math/commit-db @@ -0,0 +1,106 @@ +1,1780da711d88f669e29e0517f83d692fb80099db,0da657a65c92b086a301a6ffe9e34ec272f8889c,MATH-996,https://issues.apache.org/jira/browse/MATH-996 +2,ad5c90bbabdbce834068bc79d3eb00c823e97008,c0b655ace5665c0cd32e3f5e5b46edad4d223125,MATH-1021,https://issues.apache.org/jira/browse/MATH-1021 +3,de4209544270def43e39db0d214d1564939f8e40,92c4697300e8ddf06152bc0838c738d50673c1d2,MATH-1005,https://issues.apache.org/jira/browse/MATH-1005 +4,d609e65f7bfb38c66e2a8670242e72108b3d0e98,277e61721f34be16a20da663fd597edf6b51939b,MATH-988,https://issues.apache.org/jira/browse/MATH-988 +5,f5bcba812fb8bc59ff5e4bc055811039b610aa2b,e54a1c92302f3167b06bc04859b87ac0681bcdf3,MATH-934,https://issues.apache.org/jira/browse/MATH-934 +6,6c9d06a658d87c01fb02d1efce15bf6b74eb7aab,419a052c6842192e78f747d9f5af619c2ca56e78,MATH-949,https://issues.apache.org/jira/browse/MATH-949 +7,96cd02e82c219349086092cdc2c5a450efc8be13,1cd68eed57febf806c385bf04a596b922f4c1964,MATH-950,https://issues.apache.org/jira/browse/MATH-950 +8,55046479fe33e47a002ab4f4949bd944ba70d37d,196e63174afdb3df1529c1b97bb8437b16831cc3,MATH-942,https://issues.apache.org/jira/browse/MATH-942 +9,c929aee12a2b777152371fc061e4b79f088fa039,de98c0f0a566060ac143c39036f06a03f141dc52,MATH-938,https://issues.apache.org/jira/browse/MATH-938 +10,d2a916e325a1c47f12137ea902aaac100ed1f5db,7e2ffcc9034de41d7787f0b33b5670474f7a10de,MATH-935,https://issues.apache.org/jira/browse/MATH-935 +11,02f64e7355618ef222c2320bd6731cce8c244fc5,aa2bd1d0656b0001192aa2b2ef779cfd1f3b7e4d,MATH-929,https://issues.apache.org/jira/browse/MATH-929 +12,67fc870987c8da66ae719764a6ce2e1a9d3bfc76,cc82d38aaf6ec24758a0a6df9535b8204e22ef12,MATH-927,https://issues.apache.org/jira/browse/MATH-927 +13,a6b2e992e17cee0d4cb5a2da8242a20b8e5a8fc3,8079ea5b8d1366445da532906e43afa9291473cf,MATH-924,https://issues.apache.org/jira/browse/MATH-924 +14,0f37f87216b67d12b722d706f3e313b731ee31ab,a6b2e992e17cee0d4cb5a2da8242a20b8e5a8fc3,MATH-924,https://issues.apache.org/jira/browse/MATH-924 +15,efcf91bce70116ab1f628dee5c9ed1c2f18d2db9,b221a7342856a2a548f5d9817055defc0ec4dea6,MATH-904,https://issues.apache.org/jira/browse/MATH-904 +16,87324e56a31c110a1653955cdd715e9e88a54ed7,875ed1f4d90d1457c0ab40dafc79be5a0c6f9bf6,MATH-905,https://issues.apache.org/jira/browse/MATH-905 +17,07611165b6176b6e3e6d5ac6ca052a102f10e3c4,621806b796bc416f00341feca894ebae07be5ed0,MATH-778,https://issues.apache.org/jira/browse/MATH-778 +18,6e62aefca7aefe26a2ebc43fcdcd6cd58953f7de,7c7d7e8f103582e753c39a2baf14a483e991fefb,MATH-867,https://issues.apache.org/jira/browse/MATH-867 +19,efa9de05114492ca38cf4739a07339f5ad6faddc,c73fad0a0d42103b5e13a68317ea95b1090263ba,MATH-865,https://issues.apache.org/jira/browse/MATH-865 +20,5a50073d07ca309d78cfc4e071f4bbe051bdbd40,efa9de05114492ca38cf4739a07339f5ad6faddc,MATH-864,https://issues.apache.org/jira/browse/MATH-864 +21,dbb408e860279d92b7502474328bb5385c2d9243,468ed8550b7759858a4dc59d694859a8ae7d35f0,MATH-789,https://issues.apache.org/jira/browse/MATH-789 +22,51461f1c9ce91953ed3e6dbd01b0e2c8bbd75da2,b0cba9a79ee99b09958dec8e40c75bed47b7f780,MATH-859,https://issues.apache.org/jira/browse/MATH-859 +23,2b4c1f87a73448323d21cd459f967013a41870ca,f1b04e990f4fc86544b6230fab1aa8ecfb74fbb1,MATH-855,https://issues.apache.org/jira/browse/MATH-855 +24,4e21bb6f6c4bc7380dc58bd8d23c99ea8f4ef5bd,d5ff460ba69e4261f066d7856e2f90b886924513,MATH-855,https://issues.apache.org/jira/browse/MATH-855 +25,33201599dd578318ce0b87b1cd15c29a7d046097,996dd998e3081e4a842017b8ebcdae9b6059b530,MATH-844,https://issues.apache.org/jira/browse/MATH-844 +26,5f2077bb774d283e7984a2d5dc0c2759f2954963,1566dd339f6efc2347b0962fac7fce22adbc31ff,MATH-836,https://issues.apache.org/jira/browse/MATH-836 +27,d3fc5af31eb696af03cfbe2e18584c7e1d307d54,5f2077bb774d283e7984a2d5dc0c2759f2954963,MATH-835,https://issues.apache.org/jira/browse/MATH-835 +28,a55c951a3d573464e3905de7328fcdc487eebfb4,d3fc5af31eb696af03cfbe2e18584c7e1d307d54,MATH-828,https://issues.apache.org/jira/browse/MATH-828 +29,350b2b1aa1ed5d7df05a77bf13f701ac1712dbc0,7bbddc2203bed78fafe7739a97df1f53e767341a,MATH-803,https://issues.apache.org/jira/browse/MATH-803 +30,631c5bcbb2d8d46eed1091031310ed24fcd866ed,a25e7f7abe7f6b3f4147febee4a917ce92241aab,MATH-790,https://issues.apache.org/jira/browse/MATH-790 +31,6a5ef0149e123d9de19910d59e45d0e66bfd665c,2d846db3aec18dd081e680be05f6e0faad1cb186,MATH-718,https://issues.apache.org/jira/browse/MATH-718 +32,8d6478346e45d728656ccac760adc8126b3d225c,f81847d8079753ce45b049813730055188a22efb,MATH-780,https://issues.apache.org/jira/browse/MATH-780 +33,e5c7e4055ab2a40cb107a7ebd33766867325d5cc,3ef79313597d7d49067c48d65a09042d8d94822d,MATH-781,https://issues.apache.org/jira/browse/MATH-781 +34,b91b3efb3854c0fd0f270bdba6cdfa8058c0515a,520f36b43a13681db338a07ac6c251cbe1a7a6e5,MATH-779,https://issues.apache.org/jira/browse/MATH-779 +35,88f944e1aada536e9a70b041387bb328d61490cd,a5d8d115cb85149c62059a23e8f4d318cac0e903,MATH-776,https://issues.apache.org/jira/browse/MATH-776 +36,966d2eeef17b0b9bc7c07822be8da337bffedf97,1a15d5f4c13eca0435b0ed7e6a624064e7f7e07f,MATH-744,https://issues.apache.org/jira/browse/MATH-744 +37,de147e5cc14f8dac6da785289421a55b11d21aa6,65ed08e15af15617e967d3ea9d635dc55a0ef866,MATH-722,https://issues.apache.org/jira/browse/MATH-722 +38,74e00296574dc3ac0bc064fc3258faabaf732d6c,91cc42ba0493938aa53585720b315b62c5784a96,MATH-728,https://issues.apache.org/jira/browse/MATH-728 +39,c23859f0172edba1ff75577d0ad98e3fb41aa6d4,74e00296574dc3ac0bc064fc3258faabaf732d6c,MATH-727,https://issues.apache.org/jira/browse/MATH-727 +40,efa7825880d8c1c7411e51c5e21df6a004b78a3b,c8becc7c47963bcdc1578298846ad6fbf08f64ef,MATH-716,https://issues.apache.org/jira/browse/MATH-716 +41,91e6ac584320681913de4a71a4e8d9f837e099b4,882556eabbeb2f62939aee29afdec2a01ce4bbe1,MATH-704,https://issues.apache.org/jira/browse/MATH-704 +42,800943ecf2e3ecf9258d8fdf8052e9273b816a97,e98a5000cd211539bf4ba65f62cc7f81395e1726,MATH-713,https://issues.apache.org/jira/browse/MATH-713 +43,c282a044d713d78cbf7ff86694c2c224fb47e14f,dcae84b2e8f025e93340307d8bc04d406202c323,MATH-691,https://issues.apache.org/jira/browse/MATH-691 +44,4d994702cb50c8ad80f4f977292063a118cff724,53c8cec5ceb4cd81e3f9b8858814accac83a324e,MATH-695,https://issues.apache.org/jira/browse/MATH-695 +45,4a702dbf7e2264c0b9757178f3afbde38e07fe41,bc4e9db01c2a03062965fa4bac65782376ab2287,MATH-679,https://issues.apache.org/jira/browse/MATH-679 +46,330f3fe17d132bd4e2a91ff812ccf489e77f390f,e6f27ebcb9ee0a344308382b99a3894bb61b225d,MATH-657,https://issues.apache.org/jira/browse/MATH-657 +47,bbb5e1e198f995eddb393f820ed059aa774871c3,330f3fe17d132bd4e2a91ff812ccf489e77f390f,MATH-657,https://issues.apache.org/jira/browse/MATH-657 +48,2af72281fcb919dac92b0c4e464f847adda23be1,13d22f45624470ce5c07c085cf8b1ec0251eaee6,MATH-631,https://issues.apache.org/jira/browse/MATH-631 +49,0b78d9accafadffe00697c2c56706043cdba5e64,09e35881f1ad74335707e70aa78fd347e37d1066,MATH-645,https://issues.apache.org/jira/browse/MATH-645 +50,ef028845113aca7e1159b1725edd7c39ed686faf,39cf5e69259d7560d50553caf028f9229b721013,MATH-631,https://issues.apache.org/jira/browse/MATH-631 +51,34fef656d03a5ba75047a55a894f6f72cbe59f2e,2f066a5b2d2fe8a00a251a3220b0d52446fe392d,MATH-631,https://issues.apache.org/jira/browse/MATH-631 +52,def9fbf8701afa6937fe582c7572c7be011c319f,3c319db494928e9d51ea6091b301302c65f4eceb,MATH-639,https://issues.apache.org/jira/browse/MATH-639 +53,3eb3573c62df5b89cb02a4ea67f08d85d2ceefba,7707b0bb80be05bbf6533a36bb0c646cbfd1026d,MATH-618,https://issues.apache.org/jira/browse/MATH-618 +54,804309e5c5726ad22b0c74dfccdb1ed318f0a108,c00ac8120a4215125e49775cd9351e689586b467,MATH-567,https://issues.apache.org/jira/browse/MATH-567 +55,3114d4ed4654f54fc1ee8e3c3da5b6cd1cd2cc87,0c38504ffa3ef520ce78e260538d7b8742c895e8,MATH-554,https://issues.apache.org/jira/browse/MATH-554 +56,d773adb1228299c05ae9abbacf2f3616e9a170e0,e06fe05e2dd68936e770ba67caa7b9924568170d,MATH-552,https://issues.apache.org/jira/browse/MATH-552 +57,d3892cb85f3eb8ccadada228b791170e3e0a9124,00fea9d8078d487e31cec8292dbd9bd69bc9c216,MATH-546,https://issues.apache.org/jira/browse/MATH-546 +58,b1392325d1255f7e3a1b04a12859a8bb75e4d14c,45add3a0e7e2e94bfc29e85c9ef0856e2e473a33,MATH-519,https://issues.apache.org/jira/browse/MATH-519 +59,ffcaeb072fe0789bb9a64f8488ce9df742ba7da9,5dcca48038fb6274cc155251d09db12746ccce71,MATH-482,https://issues.apache.org/jira/browse/MATH-482 +60,87430634d19f8f3af1e0019f733afb578c80d669,9054aac4b948117b838d6a5b15be1f50965d805a,MATH-414,https://issues.apache.org/jira/browse/MATH-414 +61,30bacfbe14e57ec64d08baae52efa91877e8dd9b,f76efe5f4ef36fadc677c94269927076f2f42eb9,MATH-349,https://issues.apache.org/jira/browse/MATH-349 +62,6a07726a825da09003d153e52ea30005b1a4c013,8de3eb542b2be80ba309b2c91ae1dba75bdb5063,MATH-413,https://issues.apache.org/jira/browse/MATH-413 +63,91b44a1ef7563f54e8acdf29906bd872985a2a6e,d2a5bc02c002acfa220ce8bad23b9e8af137f47d,MATH-370,https://issues.apache.org/jira/browse/MATH-370 +64,1909dbe0ca1fc678d9baf1388f8efcf4c65b2a54,7dadc2ab019f066a7a287376ad4c63193e8a0a9a,MATH-405,https://issues.apache.org/jira/browse/MATH-405 +65,d4e5f1ce10a4ca8c13625bd03c00a156238655cc,a4f9188a55e6935d4d38ae97806af4d59e671588,MATH-377,https://issues.apache.org/jira/browse/MATH-377 +66,7bbad398dd4da51c933414be9a17b07179dee5e4,76fcbc838c0f27d9b029c1f283390cb4f47f8895,MATH-395,https://issues.apache.org/jira/browse/MATH-395 +67,28f28f18ae42f154e9c43de8c3b78f85adf9b318,fc505bba569dede0d29a401798fa9f55df9e27f1,MATH-393,https://issues.apache.org/jira/browse/MATH-393 +68,103f12391b89112f030b921a7c4969f00ff23b44,615ca9a000c253575e6f62bed87db6110b750834,MATH-362,https://issues.apache.org/jira/browse/MATH-362 +69,7272826424a28e22d96b86a8e320a37b9e006e71,a2711c189d9754c22e3aba2de1c6c125e52626aa,MATH-371,https://issues.apache.org/jira/browse/MATH-371 +70,f184aeb7810bed8c89b2c8cca4f8164aef535e56,f41fcd85ca62a2109a6e550be0353d292d351213,MATH-369,https://issues.apache.org/jira/browse/MATH-369 +71,fa959ca8c89133c3a2f024a020ec80948ee31926,6537e18ad189603e19615226e6aa1a9cdd154b8f,MATH-358,https://issues.apache.org/jira/browse/MATH-358 +72,29c3b75e2d5120771ca85ffcbffc9b7cb5d45c58,aa09ac7ca6e01a2ba41470ca590f07f2ada8af6f,MATH-344,https://issues.apache.org/jira/browse/MATH-344 +73,1687372e34828dff42e1482ed6575bb982b81b00,29c3b75e2d5120771ca85ffcbffc9b7cb5d45c58,MATH-343,https://issues.apache.org/jira/browse/MATH-343 +74,034b4d68157defc3199f618fdd2d3a487306dbc2,d06e7b7c8e646ff489a5dfba47dfcb283a194e9b,MATH-338,https://issues.apache.org/jira/browse/MATH-338 +75,39e2ad8af8fdedac51144158061cb31e7863c3a1,523df0c13719150b1397a6094f410274bfaf1475,MATH-329,https://issues.apache.org/jira/browse/MATH-329 +76,d607614a8827a1a5fab587b6e692601d5673833e,39e2ad8af8fdedac51144158061cb31e7863c3a1,MATH-320,https://issues.apache.org/jira/browse/MATH-320 +77,b30bff0126e1a0301a8b86b40a0b532f1d0ae28f,d6555de715889237b7be11639d164e7098862003,MATH-326,https://issues.apache.org/jira/browse/MATH-326 +78,cc7e3e7fe46844f068c622cf439ef4b654d971ec,b3ed2415fc58b34667d99f077bae6c8e38b7aced,MATH-322,https://issues.apache.org/jira/browse/MATH-322 +79,ca1ca9250b99dd49434468aa5530eb00b2f0680d,138baec1c778c2ea1dc1a6efe6d5e76a3b072b1d,MATH-305,https://issues.apache.org/jira/browse/MATH-305 +80,7d903ca533833e5db8d2fe150f1e31b54ddda700,3ced4f2a4e2546f0d7c309bd8f6305edee0dee8f,MATH-318,https://issues.apache.org/jira/browse/MATH-318 +81,6e3ea6857dce8b7a586c3af555e21ba35a59ea54,7d903ca533833e5db8d2fe150f1e31b54ddda700,MATH-308,https://issues.apache.org/jira/browse/MATH-308 +82,f36be8e8b7371fb8814456b6c095866aa802de78,4ece1884cc408e15c8f1db9010fec5cac43937b9,MATH-288,https://issues.apache.org/jira/browse/MATH-288 +83,0878ad4bc8e4ac345a2c27449a0686b0877013d4,f36be8e8b7371fb8814456b6c095866aa802de78,MATH-286,https://issues.apache.org/jira/browse/MATH-286 +84,6eeb2b31a0e4b9690666f26d148d0eafe1f662e7,317793eeff84dc9b260301adbe4aa8f5c79f703a,MATH-283,https://issues.apache.org/jira/browse/MATH-283 +85,8de8a3b6fa5f4d7ea817f915d957ef309441762d,9be86f674f91fa3fe0a8694e7b98472dabe6886d,MATH-280,https://issues.apache.org/jira/browse/MATH-280 +86,75f5c92aeb47e264c196a8c38a495adac89f493c,bd8f05c4dda4b5b00e525e08fd6c95d256423c97,MATH-274,https://issues.apache.org/jira/browse/MATH-274 +87,d0c52c49b7efa5367b154443bba9910cb19e6419,75f5c92aeb47e264c196a8c38a495adac89f493c,MATH-273,https://issues.apache.org/jira/browse/MATH-273 +88,1b48dbabe18ca22396bd737df73e241cfdf8c0c5,24a6a2692e942969f5c39bd88d3d12ac0f0bf0d9,MATH-272,https://issues.apache.org/jira/browse/MATH-272 +89,0c84b28c3542f3340f7ec0dffc34c60dff66604e,62b3877f953dd47c4d301be35c77446e2cf55311,MATH-259,https://issues.apache.org/jira/browse/MATH-259 +90,43336b08c6c27d55c1c6e8c1b6330cb44a29044e,0c84b28c3542f3340f7ec0dffc34c60dff66604e,MATH-259,https://issues.apache.org/jira/browse/MATH-259 +91,9fb5d27fd15d856b136fbadd3d7bb7dfbd0ddf50,e1df5f5486f10ac521dfc3dc20d1bfe508e67aa8,MATH-252,https://issues.apache.org/jira/browse/MATH-252 +92,63c7bc9d7cbee21a7f6acc5a9b85d1b8b0e3a205,85a8ab2dcfc26e83be1514acdb11d3feaac3e73d,MATH-241,https://issues.apache.org/jira/browse/MATH-241 +93,3112f69e1d789e00fb21a1dde901b313547fed60,7cd3d822b65b7acdd1f6e1c82b291cd994f4fe05,MATH-240,https://issues.apache.org/jira/browse/MATH-240 +94,ee88057ba86b543c4f678f8e28b1620c22b19f0f,a96e597894562c2cf01fc678f6c435d65ccc31c5,MATH-238,https://issues.apache.org/jira/browse/MATH-238 +95,e640d1613751a99ae4c468c9567f21ea13b496fc,fbf87122e0f7229892b6dbbf2e211cc46acea008,MATH-227,https://issues.apache.org/jira/browse/MATH-227 +96,704342d6280becc3be194a23dfda2e56c2a64aed,e6449cccdeaba96ffba4c27db322c5c3d5c18662,MATH-221,https://issues.apache.org/jira/browse/MATH-221 +97,7cf0c980d5d814daf187502bc07da0542ed7a828,ed492bd0c5c5c3a0258a65cb31cc8723d8f011fd,MATH-204,https://issues.apache.org/jira/browse/MATH-204 +98,26cf6d543deeb2e59564ba23568c83eda2b389bd,a0f3e0435c405ec842240413e2165863c9c76a16,MATH-209,https://issues.apache.org/jira/browse/MATH-209 +99,924b6d76a2d44baf858c3aee46ab1439c9641959,58b5609fe8f99aabc990d885bf6c4d85631b7c79,MATH-243,https://issues.apache.org/jira/browse/MATH-243 +100,0e9b00010655cffb2bd0443cca5706588bfc628d,876d133334e8dde309cc11f884c0dd4cc9ce530e,MATH-200,https://issues.apache.org/jira/browse/MATH-200 +101,29b732ce0f974e2347b50477c401f0c503a8a981,32643d19538ad853a1280eb4060c4f15ac6dc3dd,MATH-198,https://issues.apache.org/jira/browse/MATH-198 +102,f9b16a4ae42164d096dd21cc060c0802039ba15a,a1bac127067c912b4a9f7a2957c427853a36c730,MATH-175,https://issues.apache.org/jira/browse/MATH-175 +103,b8058233e92ad635fe204f450235cad597cd70f2,4ce05bcd51ec956d789d20b59c743603d24a8ab7,MATH-167,https://issues.apache.org/jira/browse/MATH-167 +104,c43fa5d5abc9a17a1bcc05831dfc42a5d0195bff,e39a7750ef362679599b623b05bfadb150832515,MATH-166,https://issues.apache.org/jira/browse/MATH-166 +105,ab1b9500fd4b6898757e9c74dc2eeae692b25146,fc21b26f84312e4f75e8b144238618c73a8b091f,MATH-85,https://issues.apache.org/jira/browse/MATH-85 +106,5de83dca70afabf12bd46bb9ab438753c14c7453,41ba9e00e3bbde990f6821f67f0da2a5575b9ac3,MATH-60,https://issues.apache.org/jira/browse/MATH-60 diff --git a/framework/projects/Mockito/commit-db b/framework/projects/Mockito/commit-db new file mode 100644 index 000000000..c1bdb32dd --- /dev/null +++ b/framework/projects/Mockito/commit-db @@ -0,0 +1,38 @@ +1,837fd054a0da2c8706732dcd4bc880a64b957c78,4e9d7607825c3c668fd43f19507bfead566c528c,188,https://github.com/mockito/mockito/issues/188 +2,d30450fa1172d79cc051b2fe8064744c2ac7a003,80452c7a42777513c35fd30c4e12bcd7ee438fb9,197,https://github.com/mockito/mockito/issues/197 +3,4e9d7607825c3c668fd43f19507bfead566c528c,3eec7451d6c83c280743c39b39c77a179abb30f9,188,https://github.com/mockito/mockito/issues/188 +4,c25cb6bff7eb4774efda345e8bf9eaad4c66a652,42b391d4209024292b6101048389570e4ec36b2a,187,https://github.com/mockito/mockito/issues/187 +5,fff76563d9e0ed412dc828c53cfdc7d142997a31,42a24dde02923185db3f79ae57e7819f7d70af55,152,https://github.com/mockito/mockito/issues/152 +6,a7ba606944563adcdc631a2c04463a8124d26b02,dc205824dbc289acbcde919e430176ad72da847f,134,https://github.com/mockito/mockito/issues/134 +7,3c8892b8a077598ecf988115214e5e01c310b08b,0aaa36ce6924ca87f88e3723771413b42b80dc5a,128,https://github.com/mockito/mockito/issues/128 +8,9fb7d8b62814f959ceca6096d785b96c11bdfd0a,5a03bf5d0c9aedac9cfbf074833167c1eca6439f,114,https://github.com/mockito/mockito/issues/114 +9,f45c2dc0c21f365218fa093106e45dbb0b54746a,31f908029b8cd9b1f32bed3a41651b30ebb47b9f,122,https://github.com/mockito/mockito/issues/122 +10,b00a6d252f87c886e5f8830bbdb6c1af2bd0ee9c,1beeae39ac9f79d6a0db285dec311b78025ac062,99,https://github.com/mockito/mockito/issues/99 +11,57be784ef15d4d4d685e59d7e855e01de81a77a5,1802cf79c482f2df29abb3d6735bcf0b16cedb7d,87,https://github.com/mockito/mockito/issues/87 +12,a154b66c1a87eb4ff26d91781414dde042bb9a9f,7a647a702c8af81ccf5d37b09c11529c6c0cb1b7,188,https://github.com/mockito/mockito/issues/188 +13,88100667b90c4621178fd870fa1ca43060512fc6,2037361bea014c9ac87393eb96a95374dff46182,138,https://github.com/mockito/mockito/issues/138 +14,c478a8809b640713e8ffb6da2f554dda3a3674b0,9b2cf8072ece7c7629eff6037853b3e14ab5f524,138,https://github.com/mockito/mockito/issues/138 +15,77c6703f60d87b88b0e5b175b8fb0462483a8f69,81a380951402d2a158af115ed616ab36e94793b8,211,https://github.com/mockito/mockito/issues/211 +16,188cbae7ae307e7c81c4ad321a4837dd93157b67,620f8faed0ad132961aae3a8671120e0929ce828,151,https://github.com/mockito/mockito/issues/151 +17,b6790ee34d8d858a89b80a9ae40f19d87ce1dab8,77cb2037314dd024eb53ffe2e9e06304088a2d53,152,https://github.com/mockito/mockito/issues/152 +18,6237bd6e841dcae7b0e4d8cc3d0b7e14bf6694cc,8ceb04ad7317d8db24476b3b5f56ec9f658bc43a,210,https://github.com/mockito/mockito/issues/210 +19,03028f0095d527ff9bd84bc929fc4931f17abf13,110ffa80070bf54ab8efabdaaa27b193a93d6128,205,https://github.com/mockito/mockito/issues/205 +20,98610b68e93e75a5b1db2687894bb30ff2b09c90,7616cd17d5e1dc7c3dee080c6969183821d4797a,92,https://github.com/mockito/mockito/issues/92 +21,c03a47fb2d3d4df94ba608c26a0a7570798b3611,8912aa176ea8414c2fc57df0d9b030b918630e9f,92,https://github.com/mockito/mockito/issues/92 +22,920ec4c3efe3133aa5009fcc9757a3cd07c5ac02,d0c872e4b0837aef1e1635bf5f15d33c3d8d9698,484,https://github.com/mockito/mockito/issues/484 +23,c17169c2cbb0b3d055d64ec2c4859122ca919c42,82935114a09390cbab0c6b6df9b6fd6788bf55d9,399,https://github.com/mockito/mockito/issues/399 +24,585b06d890b5e78857a5c5d5a2301065c2cac08b,c17169c2cbb0b3d055d64ec2c4859122ca919c42,467,https://github.com/mockito/mockito/issues/467 +25,d8b18f2e77c3f352677a6993225c4333b98d0481,a6ccf070a267e0a165b8efaaefa8938e787bb6a0,230,https://github.com/mockito/mockito/issues/230 +26,41441c6b00e64c9f1f1275ff01a0ac4f7c4ae13e,af44738c7de74f24e37ea0c1242e73b07c3f4362,352,https://github.com/mockito/mockito/issues/352 +27,19ade1ff81503b05a34ba8fff4ee9c9b63860587,a8ec4fa290bc1cdde060218d6bb811ac1fa6da6f,282,https://github.com/mockito/mockito/issues/282 +28,7639f331b8c002647dd02f914bbd3f3203832cb9,0464f5657dc8c76a4ff209a2cf7fd6312885cdc3,236,https://github.com/mockito/mockito/issues/236 +29,df41fbe00b1300cfe5076bb4e9242214fbe677f9,918f0a5aed6454b307004b6c9c86afc8e96353ff,229,https://github.com/mockito/mockito/issues/229 +30,62b6bdf44baeee172b2b1684835fb995bad2a47d,3c924f80a4db3692a13341f0da4517052ab77a2a,225,https://github.com/mockito/mockito/issues/225 +31,81a380951402d2a158af115ed616ab36e94793b8,62b6bdf44baeee172b2b1684835fb995bad2a47d,225,https://github.com/mockito/mockito/issues/225 +32,d973b6f4fd6aad3b17a1758c920a3b962269b2ba,4f7060cc54bb50292ccfbf3b9fca27f0282abf51,216,https://github.com/mockito/mockito/issues/216 +33,57bafd2c3ad7db992667b7f9d56dfe9aca0d82f4,5cb37751c0aba81d025dc5fe4f2f9a3bf86cc958,200,https://github.com/mockito/mockito/issues/200 +34,0ebc2ea06b5abdb441a57a8e0f01305a7839c3d9,e8cebe01abae49a09aadd6a26c6f7e2f90e5e772,157,https://github.com/mockito/mockito/issues/157 +35,bff7ae0f4db9c5c0f7bfcdd3a47d4fa0fdaa1232,27a2f515197d4688c4df82afb791bf8ce20a5504,98,https://github.com/mockito/mockito/issues/98 +36,ecbd951497132c68dd2b264d7014251e33acba92,84c142f56fe971ed52ecfe42b42bc0aa7bef8354,140,https://github.com/mockito/mockito/issues/140 +37,3b603ebf4bd3b416a2a00b7729233ae44ec75943,c0222c2dbfbd2b053961a46e4c2a3973aec55a75,140,https://github.com/mockito/mockito/issues/140 +38,a663d2fe76bf1ff54bbe59bddcb52f9badec3f2a,c1f2c4e6b5bab4cfc004f22999e11e8ac140d377,79,https://github.com/mockito/mockito/issues/79 diff --git a/framework/projects/Time/commit-db b/framework/projects/Time/commit-db new file mode 100644 index 000000000..f8caa139c --- /dev/null +++ b/framework/projects/Time/commit-db @@ -0,0 +1,26 @@ +1,8612f9e5b88c1bea933ef9ab1e431f5db3006b48,9a62b06be5d0df8e833ff8583398cca386608cac,93,https://github.com/JodaOrg/joda-time/issues/93 +2,8d109fe1a999a11b4557536dd96f9210460a5936,8612f9e5b88c1bea933ef9ab1e431f5db3006b48,93,https://github.com/JodaOrg/joda-time/issues/93 +3,3ba9ba799b3261b7332a467a88be142c83b298fd,8d109fe1a999a11b4557536dd96f9210460a5936,77,https://github.com/JodaOrg/joda-time/issues/77 +4,bcb044669b4d1f8d334861ccbd169924d6ef3b54,3ba9ba799b3261b7332a467a88be142c83b298fd,88,https://github.com/JodaOrg/joda-time/issues/88 +5,a38b5e0c620a4a4dc310d35105e3e432c4e91fc3,a6cb59ed2280ab0a32995fa8b5f1a7b0d47cb815,79,https://github.com/JodaOrg/joda-time/issues/79 +6,91b1ba4ed42ca0b345370ea3cc0ddcdb33781c6d,28aeba952e838fb12c9b934ce6ef65658e45d7b2,28,https://github.com/JodaOrg/joda-time/issues/28 +7,6bf5bba0f77f3023dec23a1de6e0a8cef8585f61,1adb1e69863dcd1ff282692bf1452c422528eeb9,21,https://github.com/JodaOrg/joda-time/issues/21 +8,96f586cb8dac7eee62e9be519a3eab125c47bb23,362ed1787724cda3ded37de2b0aa0f13adf0a66e,42,https://github.com/JodaOrg/joda-time/issues/42 +9,08a3a0b969b1e5d1d06489a698fe9c9b69e2f2d9,96f586cb8dac7eee62e9be519a3eab125c47bb23,43,https://github.com/JodaOrg/joda-time/issues/43 +10,efce99164f0bbd2c70e7f9d71884a32473e02c6d,3a413d7844c22dc6ddd50bf5d0d55ff3589e47ac,22,https://github.com/JodaOrg/joda-time/issues/22 +11,6d5104753470c130336e319a64009c0553b29c96,57eb4cbb9044771cd46a9eee0c62016618930226,18,https://github.com/JodaOrg/joda-time/issues/18 +12,f2f9c8146446eff341dc7b66b5237b56d50abec0,77a6b3a44da7ae4af62e88b4b27eeefec2d768c2,8,https://github.com/JodaOrg/joda-time/issues/8 +13,6a1b24c5d85270b57706b3f7ca0b4c05a752b3ff,5d08a1cdbfa6ce86a0baf637493c464e91e91968,160,https://sourceforge.net/p/joda-time/bugs/160 +14,cc3262ff42e41f3b1f64290262704da3895fbe85,2ea856328ed5710537778d755a5ff52a6831a2ee,151,https://sourceforge.net/p/joda-time/bugs/151 +15,383354adc669c3fd8d9e6fe3a25403df993e11e7,0cefc4c212e92e5dccdfa658785c419483317558,147,https://sourceforge.net/p/joda-time/bugs/147 +16,dba7c37ea3d83b32779d3bb13cb184aedf761a8a,706513d59425e7a9dc6bdb972f25b03b02e48558,148,https://sourceforge.net/p/joda-time/bugs/148 +17,cdeacf09e33ddbaf75a4563d7bc62063f50972b1,a8913f5ad5dfde59263c981c9e9eb28e43fd2e00,141,https://sourceforge.net/p/joda-time/bugs/141 +18,e16eb72a29d06ce36030b109156bea3244273fb8,b609d7d66d180f2eb537b27f5d605d0596e096ce,130,https://sourceforge.net/p/joda-time/bugs/130 +19,a92450e88df85d6b7a0fa53517da46286c24f53f,82c5e4f9550e4df36e07b66f35f7c3e9d7eb5eba,124,https://sourceforge.net/p/joda-time/bugs/124 +20,17a60c9a7253d9a8fce6afe2ce46bea78ac53ebe,a92450e88df85d6b7a0fa53517da46286c24f53f,126,https://sourceforge.net/p/joda-time/bugs/126 +22,14dedcbc04682c1b1b6c5ebe91bc930b79eeb572,57c8aaf94b95323c295dcfec5f40f181846164e7,113,https://sourceforge.net/p/joda-time/bugs/113 +23,bfd37a81dd7f4c9e35340f3de0b5b1e8066a141b,14dedcbc04682c1b1b6c5ebe91bc930b79eeb572,112,https://sourceforge.net/p/joda-time/bugs/112 +24,c3bec2cd4eea2e87c650f5ad9b537dddb804778c,d50efdf75a8daeced88d79b168f68d189fb87e13,107,https://sourceforge.net/p/joda-time/bugs/107 +25,c7a581e55fc988bd90fa4bb1b0acece5181b7c5f,552be4b677ec30a34d04d234395ba1a8c7beaacf,90,https://sourceforge.net/p/joda-time/bugs/90 +26,218a7fe91a685e089ab8fd7700806f7a6083f18d,c7a581e55fc988bd90fa4bb1b0acece5181b7c5f,60,https://sourceforge.net/p/joda-time/bugs/60 +27,d090b642dc04259286d3478cfa49f1da2f0755e6,e0559c503f65641b9546c37e7c84c866caf37e66,64,https://sourceforge.net/p/joda-time/bugs/64 diff --git a/framework/projects/Time/deprecated-bugs.csv b/framework/projects/Time/deprecated-bugs.csv index e0ed8fd91..72b2ac76d 100644 --- a/framework/projects/Time/deprecated-bugs.csv +++ b/framework/projects/Time/deprecated-bugs.csv @@ -1,2 +1,2 @@ bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason -21,c5a5190e19c062405ae4825c36e2172ae64202fb,0973b46039c4db0be3a969d36c220dee1e1fb4da,122,https://sourceforge.net/p/joda-time/bugs/122,2.0.0,JVM8-NonReproducable +21,c5a5190e19c062405ae4825c36e2172ae64202fb,0973b46039c4db0be3a969d36c220dee1e1fb4da,122,https://sourceforge.net/p/joda-time/bugs/122,2.0.0,JVM8_Not_Reproducible diff --git a/framework/projects/lib/commit-db b/framework/projects/lib/commit-db new file mode 100644 index 000000000..e69de29bb diff --git a/framework/test/test_gen_tests.sh b/framework/test/test_gen_tests.sh index c6fc58ac7..bb11472a9 100755 --- a/framework/test/test_gen_tests.sh +++ b/framework/test/test_gen_tests.sh @@ -60,8 +60,7 @@ init # Run all bugs, unless otherwise specified if [ "$BUGS" == "" ]; then - num_bugs=$(num_lines $BASE_DIR/framework/projects/$PID/$BUGS_CSV_ACTIVE) - BUGS="$(seq 1 1 $num_bugs)" + BUGS="$(get_bug_ids $BASE_DIR/framework/projects/$PID/$BUGS_CSV_ACTIVE)" fi # Create log file From c268f32c57fb83c4071edd816ddd707306d648da Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Fri, 13 Mar 2020 13:05:44 +0100 Subject: [PATCH 11/35] Minor tweaks and restoring commit-db files --- framework/projects/lib/commit-db | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 framework/projects/lib/commit-db diff --git a/framework/projects/lib/commit-db b/framework/projects/lib/commit-db deleted file mode 100644 index e69de29bb..000000000 From 215be628461bd4540ae54046e28d417fb3655b5c Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Fri, 13 Mar 2020 16:18:41 +0100 Subject: [PATCH 12/35] Missing values in Chart CSV filled in --- framework/projects/Chart/active-bugs.csv | 36 ++++++++++++------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/framework/projects/Chart/active-bugs.csv b/framework/projects/Chart/active-bugs.csv index 0f65f1a17..a01d9736d 100644 --- a/framework/projects/Chart/active-bugs.csv +++ b/framework/projects/Chart/active-bugs.csv @@ -1,27 +1,27 @@ bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url 1,2264,2266,983,https://sourceforge.net/p/jfreechart/bugs/983 2,2240,2242,959,https://sourceforge.net/p/jfreechart/bugs/959 -3,2225,2227,, -4,2182,2183,, +3,2225,2227,UNKNOWN,UNKNOWN +4,2182,2183,UNKNOWN,UNKNOWN 5,1695,1696,862,https://sourceforge.net/p/jfreechart/bugs/862 -6,1164,1166,, -7,1086,1087,, -8,1084,1085,, +6,1164,1166,UNKNOWN,UNKNOWN +7,1086,1087,UNKNOWN,UNKNOWN +8,1084,1085,UNKNOWN,UNKNOWN 9,1082,1083,818,https://sourceforge.net/p/jfreechart/bugs/818 -10,1064,1065,, +10,1064,1065,UNKNOWN,UNKNOWN 11,1024,1025,868,https://sourceforge.net/p/jfreechart/bugs/868 12,846,852,213,https://sourceforge.net/p/jfreechart/patches/213 -13,817,822,, -14,809,811,, -15,747,749,, +13,817,822,UNKNOWN,UNKNOWN +14,809,811,UNKNOWN,UNKNOWN +15,747,749,UNKNOWN,UNKNOWN 16,741,743,834,https://sourceforge.net/p/jfreechart/bugs/834 17,621,622,803,https://sourceforge.net/p/jfreechart/bugs/803 -18,620,621,, -19,430,434,, -20,281,283,, -21,227,231,, -22,225,227,, -23,209,210,, -24,188,190,, -25,162,164,, -26,102,103,, +18,620,621,UNKNOWN,UNKNOWN +19,430,434,UNKNOWN,UNKNOWN +20,281,283,UNKNOWN,UNKNOWN +21,227,231,UNKNOWN,UNKNOWN +22,225,227,UNKNOWN,UNKNOWN +23,209,210,UNKNOWN,UNKNOWN +24,188,190,UNKNOWN,UNKNOWN +25,162,164,UNKNOWN,UNKNOWN +26,102,103,UNKNOWN,UNKNOWN From 9b26f7e0a5bc5f295d557adc81ecc6b13d2f3954 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Mon, 16 Mar 2020 08:50:38 +0100 Subject: [PATCH 13/35] Fixing commit-db reference created in merge --- framework/core/Utils.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/core/Utils.pm b/framework/core/Utils.pm index 65211accf..9211505a0 100644 --- a/framework/core/Utils.pm +++ b/framework/core/Utils.pm @@ -274,7 +274,7 @@ sub bug_report_info { my $bug_report_info = {id=>"NA", url=>"NA"}; - my $commit_db = "$PROJECTS_DIR/$pid/commit-db"; + my $commit_db = "$PROJECTS_DIR/$pid/$BUGS_CSV_ACTIVE"; open (IN, "<$commit_db") or die "Cannot open $commit_db file: $!"; while () { chomp; From dbb98c0425da55a6e262de1f5a4cb998389d4288 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Mon, 16 Mar 2020 09:06:41 +0100 Subject: [PATCH 14/35] Cleaning documentation on Vcs.pm --- framework/core/Vcs.pm | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/framework/core/Vcs.pm b/framework/core/Vcs.pm index 3adc63667..8a0a47f3e 100644 --- a/framework/core/Vcs.pm +++ b/framework/core/Vcs.pm @@ -115,7 +115,7 @@ A Vcs object has to be instantiated with: =item * Repository url -=item * File name of the commit database (active-bugs csv), see below for details +=item * File name of the commit database (L), see below for details =item * Reference to post-checkout hook (optional) -- if provided, this method is called after each checkout. @@ -123,17 +123,18 @@ A Vcs object has to be instantiated with: =head2 active-bugs csv -The active-bugs (csv) file has the structure: C. +The L file has the structure: L, +L, L, +L, L. Example for Svn: - 1,1024,1025 - 2,1064,1065 + 1,2264,2266,983,https://sourceforge.net/p/jfreechart/bugs/983 + 2,2240,2242,959,https://sourceforge.net/p/jfreechart/bugs/959 Example for Git: - - 1,788193a54e0f1aaa428ccfdd3bb45e32c311c18b,c96ae569bbe0167cfa15caa7f784fdb2e1ecdc12 - 2,ab333482c629d33d5484b4af6eb27918382ccc28,f77c5101df42f501d96d0363084dcc9c17400fce + 1,a9e5c9f99bcc16d734251f682758004a3ecc3a1b,b40ac81d4a81736e2b7536b14db4ad070b598d2e,98,https://github.com/FasterXML/jackson-core/issues/98 + 2,098ece8564ed5d37f483c3bfb45be897ed8974cd,38d6e35d1f1a9b48193804925517500de8efee1f,105,https://github.com/FasterXML/jackson-core/issues/105 =cut sub new { @@ -157,8 +158,9 @@ sub new { $vcs->lookup(vid) -Queries the commit database (active-bugs csv) and returns the C for -the given version id C. Format of C: C<\d+[bf]>. +Queries the commit database (L) and returns the C for +the given version id C. Format of C checked +using L. =cut sub lookup { @@ -190,7 +192,7 @@ sub lookup_vid { $vcs->num_revision_pairs() -Returns the number of revision pairs in the C. +Returns the number of revision pairs in the L file. =cut sub num_revision_pairs { @@ -202,7 +204,7 @@ sub num_revision_pairs { $project->get_bug_ids() -Returns an array of all bug ids in the C. +Returns an array of all bug ids in the L file. =cut sub get_bug_ids { @@ -215,8 +217,8 @@ sub get_bug_ids { $vcs->B C), this subroutine returns true if C exists -in the C and false otherwise. -Format of C: C<\d+[bf]> +in the L file and false otherwise. +Format of C checked using L. This subroutine dies if C is invalid. =cut @@ -231,9 +233,9 @@ sub contains_version_id { $vcs->checkout_vid(vid, work_dir) -Performs a lookup of C in the C followed by a checkout of +Performs a lookup of C in the L file followed by a checkout of the corresponding revision with C to F. -Format of C: C<\d+[bf]>. +Format of C checked using L. B. @@ -409,17 +411,17 @@ sub rev_date { # Helper subroutines # -# Read active-bugs csv and build cache +# Read the L file and build cache # sub _build_db_cache { my $db = shift; - open (IN, "<$db") or die "Cannot open active-bugs csv $db: $!"; + open (IN, "<$db") or die "Cannot open $BUGS_CSV_ACTIVE $db: $!"; my $cache = {}; my $header = ; while () { chomp; - /(\d+),([^,]+),([^,]+),([^,]+),([^,]+)/ or die "Corrupted active-bugs csv!"; + /(\d+),([^,]+),([^,]+),([^,]+),([^,]+)/ or die "Corrupted $BUGS_CSV_ACTIVE!"; $cache->{$1} = {b => $2, f => $3, line => $_}; } close IN; From f246d2bebff4974d43f29d1477d86be17eeae374 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Mon, 16 Mar 2020 09:51:55 +0100 Subject: [PATCH 15/35] Adding constant for dir-layout.csv --- framework/bug-mining/promote-to-db.pl | 4 ++-- framework/core/Constants.pm | 5 +++++ framework/core/Project.pm | 6 ++---- framework/test/test.include | 3 +++ framework/test/test_bug_mining.sh | 4 ++-- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/framework/bug-mining/promote-to-db.pl b/framework/bug-mining/promote-to-db.pl index 27739d628..f078340ed 100755 --- a/framework/bug-mining/promote-to-db.pl +++ b/framework/bug-mining/promote-to-db.pl @@ -42,7 +42,7 @@ =head1 NAME - framework/projects//.build.xml - framework/projects//$BUGS_CSV_ACTIVE - framework/projects//$BUGS_CSV_DEPRECATED - - framework/projects//dir-layout.csv + - framework/projects//$LAYOUT_FILE - project_repos/.git and updates the project_repos/README file with information of when the project repository was cloned. @@ -127,7 +127,7 @@ =head1 OPTIONS "patches/.src.patch", "patches/.test.patch", "trigger_tests/", "relevant_tests/"); my @generic_files_and_directories_to_replace = ("build.xml.patch", "${PID}.build.xml", "lib", $BUGS_CSV_DEPRECATED); -my @generic_files_to_append = ("dependent_tests", "dir-layout.csv"); +my @generic_files_to_append = ("dependent_tests", $LAYOUT_FILE); my @ids = _get_bug_ids($BID); foreach my $id (@ids) { diff --git a/framework/core/Constants.pm b/framework/core/Constants.pm index 0e9e009bf..f8ef8b804 100644 --- a/framework/core/Constants.pm +++ b/framework/core/Constants.pm @@ -266,6 +266,9 @@ our $TAG_FIXED = "FIXED_VERSION"; our $TAG_BUGGY = "BUGGY_VERSION"; our $TAG_PRE_FIX = "PRE_FIX_REVISION"; +# Filename for directory layout csv +our $LAYOUT_FILE = "dir-layout.csv"; + # Filenames for bugs csv files our $BUGS_CSV_ACTIVE = "active-bugs.csv"; our $BUGS_CSV_DEPRECATED = "deprecated-bugs.csv"; @@ -331,6 +334,8 @@ $TAG_FIXED $TAG_BUGGY $TAG_PRE_FIX +$LAYOUT_FILE + $BUGS_CSV_ACTIVE $BUGS_CSV_DEPRECATED diff --git a/framework/core/Project.pm b/framework/core/Project.pm index 01f90d973..70396f002 100644 --- a/framework/core/Project.pm +++ b/framework/core/Project.pm @@ -101,8 +101,6 @@ use Utils; use Mutation; use Carp qw(confess); -our $DIR_LAYOUT_CSV = "dir-layout.csv"; - =pod =head2 Create an instance of a Project @@ -1114,7 +1112,7 @@ sub _write_props { sub _cache_layout_map { my $self = shift; my $pid = $self->{pid}; - my $map_file = "$PROJECTS_DIR/$pid/$DIR_LAYOUT_CSV"; + my $map_file = "$PROJECTS_DIR/$pid/$LAYOUT_FILE"; return unless -e $map_file; open (IN, "<$map_file") or die "Cannot open directory map $map_file: $!"; @@ -1136,7 +1134,7 @@ sub _add_to_layout_map { my ($self, $rev_id, $src_dir, $test_dir) = @_; my $pid = $self->{pid}; - my $map_file = "$PROJECTS_DIR/$pid/$DIR_LAYOUT_CSV"; + my $map_file = "$PROJECTS_DIR/$pid/$LAYOUT_FILE"; Utils::append_to_file_unless_matches($map_file, "${rev_id},${src_dir},${test_dir}\n", qr/^${rev_id}/); } diff --git a/framework/test/test.include b/framework/test/test.include index c73d78504..5dcc15e32 100755 --- a/framework/test/test.include +++ b/framework/test/test.include @@ -24,6 +24,9 @@ TMP_DIR="/tmp/test_d4j_$$_$(date +%s)" BUGS_CSV_ACTIVE="active-bugs.csv" BUGS_CSV_DEPRECATED="deprecated-bugs.csv" +# Set filename of directory layout csv. +LAYOUT_FILE="dir-layout.csv" + # By default exit on first error HALT_ON_ERROR=1 diff --git a/framework/test/test_bug_mining.sh b/framework/test/test_bug_mining.sh index 6db46ab91..894d593bd 100755 --- a/framework/test/test_bug_mining.sh +++ b/framework/test/test_bug_mining.sh @@ -208,7 +208,7 @@ test_initialize_revisions() { _check_output "$work_dir/$src_patch" "$RESOURCES_OUTPUT_DIR/$src_patch" _check_output "$work_dir/$test_patch" "$RESOURCES_OUTPUT_DIR/$test_patch" - local layout="framework/projects/$project_id/dir-layout.csv" + local layout="framework/projects/$project_id/$LAYOUT_FILE" _check_output "$work_dir/$layout" "$RESOURCES_OUTPUT_DIR/$layout" } @@ -361,7 +361,7 @@ test_promote_to_db() { [ -s "$HERE/../projects/$project_id/$BUGS_CSV_ACTIVE" ] || die "active-bugs csv does not exist or it is empty" [ -s "$HERE/../projects/$project_id/$BUGS_CSV_DEPRECATED" ] || die "deprecated-bugs csv does not exist or it is missing the header" - [ -s "$HERE/../projects/$project_id/dir-layout.csv" ] || die "dir-layout.csv does not exist or it is empty" + [ -s "$HERE/../projects/$project_id/$LAYOUT_FILE" ] || die "$LAYOUT_FILE does not exist or it is empty" } # From 8ff5018ca17a390b76e17dd7f4a643def74ccc4f Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Tue, 17 Mar 2020 16:08:57 +0100 Subject: [PATCH 16/35] Adding WIP for d4j-query --- framework/bin/d4j/d4j-query | 206 ++++++++++++++++++++++++++++++++++++ framework/bin/defects4j | 9 ++ 2 files changed, 215 insertions(+) create mode 100755 framework/bin/d4j/d4j-query diff --git a/framework/bin/d4j/d4j-query b/framework/bin/d4j/d4j-query new file mode 100755 index 000000000..59d10a593 --- /dev/null +++ b/framework/bin/d4j/d4j-query @@ -0,0 +1,206 @@ +#------------------------------------------------------------------------------- +# Copyright (c) 2014-2019 René Just, Darioush Jalali, and Defects4J contributors. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +#------------------------------------------------------------------------------- + +=pod + +=head1 NAME + +d4j-query -- query the metadata for a project to obtain CSV-formatted results. + +=head1 SYNOPSIS + + d4j-query -p project_id [-q query] [-h] [-d] [-a] + +=head1 DESCRIPTION + +This script is intended to query the metadata for a project to obtain +information that would be useful for automation or analysis of the framework. +A user-provided list of columns determines what data is returned. By default, +the list of available active bug IDs is returned. + +=head1 OPTIONS + +=over 4 + +=item -p C + +The ID of the project for which metadata is requested. A project ID +must be provided to use this utility. + +=item -q C + +A comma-separated list of fields, encased in quotation marks. For example, +C<-q "bug_id,bug_report_id"> returns the list of bug IDs and issue tracker IDs +for the requested system. + +=item -h + +List the available fields. + +=item -d + +Include only deprecated bugs. By default, only active bugs are queried. + +=item -a + +Include both active and deprecated bugs. By default, only active bugs are +queried. + +=head1 EXAMPLES + +TODO: Add examples + +=back + +=cut + +use strict; +use warnings; +use experimental 'smartmatch'; + +use Constants; +use Utils; +use Project; +use Getopt::Std; +use List::MoreUtils qw(first_index); + +########################################################## +# Helper Subroutines +########################################################## + +# +# Issue usage message and quit +# +sub _usage { + print "usage: $0 -p project_id [-q query] [-h] [-d] [-a]\n"; + exit 1; +} + +# +# Gathers requested data from a designated bugs CSV file. +# Returns a hash RESULTS [bug_id] = DATA [field] [value] +# That is, we associate fields with their respective bug_id. +# + +sub _read_bug_csv { + my ($filename, @fields) = @_; + open (IN, "<$filename") or die "Cannot open $filename"; + my %results; + + my @header = split /,/, ; + my %cols; + my $bug_id_col = -1; + + if ($BUGS_CSV_BUGID ~~ @header) { + $bug_id_col = first_index { $_ eq $BUGS_CSV_BUGID } @header; + } else { + die "Bug IDs are not included in $filename."; + } + + # Associate fields with columns using the header + foreach my $item (@fields) { + if ($item ~~ @header){ + $cols{$item} = first_index { $_ eq $item } @header; + } else { + $cols{$item} = -1; + } + } + + # Read contents of file, associate each line with the bug ID. + while (my $line = ) { + my @columns = split /,/, $line; + my $bug_id = $columns[$bug_id_col]; + foreach my $item (@fields) { + if ($cols{$item} != -1) { + $results{$bug_id}{$item} = $columns[$cols{$item}]; + } else { + $results{$bug_id}{$item} = "NA"; + } + } + } + close IN; + + return %results; +} + +########################################################## +# Core Logic +########################################################## + +# All fields should be defined in Constants +my @ALL_FIELDS = ($BUGS_CSV_BUGID, $BUGS_CSV_COMMIT_BUGGY, $BUGS_CSV_COMMIT_FIXED, $BUGS_CSV_ISSUE_ID, $BUGS_CSV_ISSUE_URL, $BUGS_CSV_DEPRECATED_WHEN, $BUGS_CSV_DEPRECATED_WHY); + +# Process command line options +my %cmd_opts; +getopts('p:q:hda', \%cmd_opts) or _usage(); + +_usage() unless defined $cmd_opts{p}; + +my $PID = $cmd_opts{p}; +my $QUERY = defined $cmd_opts{q} ? $cmd_opts{q} : $BUGS_CSV_BUGID; +my $ONLY_DEP = defined $cmd_opts{d} ? 1 : 0; +my $ALL_BUGS = defined $cmd_opts{a} ? 1 : 0; +my $ACTIVE_BUGS = "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE"; +my $DEPRECATED_BUGS = "$PROJECTS_DIR/$PID/$BUGS_CSV_DEPRECATED"; + +if (defined $cmd_opts{h}) { + my $joined_fields = join(", ", @ALL_FIELDS); + print "Available fields: $joined_fields\n"; + exit 1; +} + +if ($ONLY_DEP and $ALL_BUGS) { + die "Only dependencies (-d) and all bugs (-a) cannot be concurrently set."; +} + +# Check query for unavailable fields + +my @requested = split /,/, $QUERY or die "Unable to parse query: $QUERY"; + +foreach my $field (@requested) { + unless ($field ~~ @ALL_FIELDS) { + die "Requested field \"$field\" in query \"$QUERY\" is invalid."; + } +} + +# Gather results for the requested fields + +# TODO: Read in active and deprecated depending on state of flags. Merge results together. +# TODO: Incorporate other metadata (loaded and modified classes, trigger and relevant tests) +# TODO: Add test case for CI system +# TODO: Add examples to documentation + +my %results = _read_bug_csv($ACTIVE_BUGS, @requested); + +# Print the results in CSV format + +foreach my $bug_id (sort { $a <=> $b } keys %results) { + my $output = $bug_id; + foreach my $field (@requested) { + if ($field ne $BUGS_CSV_BUGID) { + $output = $output.",".$results{$bug_id}{$field}; + } + } + print "$output\n"; +} + +1; diff --git a/framework/bin/defects4j b/framework/bin/defects4j index 708ae1173..d90589c0f 100755 --- a/framework/bin/defects4j +++ b/framework/bin/defects4j @@ -129,6 +129,15 @@ export a version-specific property. =cut $cmd_descr{export}="export a version-specific property"; +=pod + +=item * L|d4j::d4j-query/> + +query the metadata for a particular project for automation purposes. + +=cut +$cmd_descr{query}="query the metadata for a particular project for automation purposes"; + # # Issue usage message and quit # From 899eca80d23ccf5018224b56bc14c5fcdae80644 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Wed, 18 Mar 2020 11:25:43 +0100 Subject: [PATCH 17/35] Adds d4j-query and test cases for it --- framework/bin/d4j/d4j-query | 176 +++++++++++++++++--- framework/core/Constants.pm | 13 ++ framework/test/resources/output/d4j-query/1 | 1 + framework/test/resources/output/d4j-query/2 | 4 + framework/test/resources/output/d4j-query/3 | 4 + framework/test/resources/output/d4j-query/4 | 24 +++ framework/test/resources/output/d4j-query/5 | 28 ++++ framework/test/resources/output/d4j-query/6 | 28 ++++ framework/test/test_d4j_query.sh | 51 ++++++ 9 files changed, 309 insertions(+), 20 deletions(-) create mode 100644 framework/test/resources/output/d4j-query/1 create mode 100644 framework/test/resources/output/d4j-query/2 create mode 100644 framework/test/resources/output/d4j-query/3 create mode 100644 framework/test/resources/output/d4j-query/4 create mode 100644 framework/test/resources/output/d4j-query/5 create mode 100644 framework/test/resources/output/d4j-query/6 create mode 100755 framework/test/test_d4j_query.sh diff --git a/framework/bin/d4j/d4j-query b/framework/bin/d4j/d4j-query index 59d10a593..5d04a3ec5 100755 --- a/framework/bin/d4j/d4j-query +++ b/framework/bin/d4j/d4j-query @@ -67,7 +67,34 @@ queried. =head1 EXAMPLES -TODO: Add examples +=item -C + +Returns the list of active bug IDs for project Cli. + +=item -C + +Returns the list of available fields that can be queried. + +=item -C + +Returns all active bug IDs, and for each, the revision hash of the buggy +version and the list of modified classes". + +=item -C + +Returns all deprecated bug IDs, and for each, the revision hash of the buggy +version and the list of modified classes". + +=item -C + +Returns all bug IDs (active and deprecated), and for each, the revision hash +of the buggy version and the list of modified classes". + +=item -C + +Returns all bug IDs (active and deprecated) along with the reason for +deprecation. For active bugs, the deprecation reason will be "NA", as +those bugs do not have values for that field. =back @@ -75,13 +102,11 @@ TODO: Add examples use strict; use warnings; -use experimental 'smartmatch'; use Constants; use Utils; use Project; use Getopt::Std; -use List::MoreUtils qw(first_index); ########################################################## # Helper Subroutines @@ -104,29 +129,30 @@ sub _usage { sub _read_bug_csv { my ($filename, @fields) = @_; open (IN, "<$filename") or die "Cannot open $filename"; - my %results; - - my @header = split /,/, ; + + my $head = ; + chomp $head; + my @header = split /,/, $head; my %cols; - my $bug_id_col = -1; + my %results; - if ($BUGS_CSV_BUGID ~~ @header) { - $bug_id_col = first_index { $_ eq $BUGS_CSV_BUGID } @header; - } else { + my ($bug_id_col) = grep { $header[$_] eq $BUGS_CSV_BUGID } (0 .. @header-1); + unless (defined $bug_id_col) { die "Bug IDs are not included in $filename."; } + # Associate fields with columns using the header foreach my $item (@fields) { - if ($item ~~ @header){ - $cols{$item} = first_index { $_ eq $item } @header; - } else { + ($cols{$item}) = grep { $header[$_] eq $item } (0 .. @header -1); + unless (defined $cols{$item}) { $cols{$item} = -1; } } # Read contents of file, associate each line with the bug ID. while (my $line = ) { + chomp $line; my @columns = split /,/, $line; my $bug_id = $columns[$bug_id_col]; foreach my $item (@fields) { @@ -142,12 +168,73 @@ sub _read_bug_csv { return %results; } +# +# Reads in a class list (loaded/modified classes, relevant tests) +# and returns the results as a single string, associated with +# the requested bug IDs. +# + +sub _read_class_list { + my ($base_dir, $ext, @bugs) = @_; + my %results; + + foreach my $bug_id (@bugs) { + my $filename = "$PROJECTS_DIR/$base_dir/$bug_id$ext"; + open (IN, "<$filename") or die "Cannot open $filename"; + my $list = ; + chomp $list; + + # Read contents of file + while (my $line = ) { + chomp $line; + $list = $list.";".$line; + } + close IN; + $results{$bug_id} = "\"".$list."\""; + } + return %results; +} + +# +# Reads in a list of tests and stack traces (trigger/failing tests) +# and returns the results as a single string, associated with +# the requested bug IDs. +# + +sub _read_stack_traces { + my ($base_dir, @bugs) = @_; + my %results; + + foreach my $bug_id (@bugs) { + my $filename = "$PROJECTS_DIR/$base_dir/$bug_id"; + open (IN, "<$filename") or die "Cannot open $filename"; + my $list = ""; + + # Read contents of file + while (my $line = ) { + chomp $line; + if (grep /--- /, $line) { + $line =~ s/--- //; + if ($list eq "") { + $list = $line; + } else { + $list = $list.";".$line; + } + } + } + close IN; + $results{$bug_id} = "\"".$list."\""; + } + return %results; +} + + ########################################################## # Core Logic ########################################################## # All fields should be defined in Constants -my @ALL_FIELDS = ($BUGS_CSV_BUGID, $BUGS_CSV_COMMIT_BUGGY, $BUGS_CSV_COMMIT_FIXED, $BUGS_CSV_ISSUE_ID, $BUGS_CSV_ISSUE_URL, $BUGS_CSV_DEPRECATED_WHEN, $BUGS_CSV_DEPRECATED_WHY); +my @ALL_FIELDS = ($BUGS_CSV_BUGID, $BUGS_CSV_COMMIT_BUGGY, $BUGS_CSV_COMMIT_FIXED, $BUGS_CSV_ISSUE_ID, $BUGS_CSV_ISSUE_URL, $BUGS_CSV_DEPRECATED_WHEN, $BUGS_CSV_DEPRECATED_WHY, $METADATA_LOADED_CLASSES_SRC, $METADATA_LOADED_CLASSES_TEST, $METADATA_MODIFIED_CLASSES, $METADATA_RELEVANT_TESTS, $METADATA_TRIGGER_TESTS); # Process command line options my %cmd_opts; @@ -177,19 +264,68 @@ if ($ONLY_DEP and $ALL_BUGS) { my @requested = split /,/, $QUERY or die "Unable to parse query: $QUERY"; foreach my $field (@requested) { - unless ($field ~~ @ALL_FIELDS) { + unless (grep $_ eq $field, @ALL_FIELDS) { die "Requested field \"$field\" in query \"$QUERY\" is invalid."; } } # Gather results for the requested fields -# TODO: Read in active and deprecated depending on state of flags. Merge results together. -# TODO: Incorporate other metadata (loaded and modified classes, trigger and relevant tests) -# TODO: Add test case for CI system -# TODO: Add examples to documentation +# First, get results from the active and deprecated-bugs CSV files. +my %results; + +if (!$ONLY_DEP or $ALL_BUGS) { + %results = _read_bug_csv($ACTIVE_BUGS, @requested); +} + +if ($ONLY_DEP or $ALL_BUGS) { + my %dep_results = _read_bug_csv($DEPRECATED_BUGS, @requested); + foreach my $bug_id (sort { $a <=> $b } keys %dep_results) { + $results{$bug_id} = $dep_results{$bug_id}; + } +} + +# Now, get results from other metadata and associate with bug ID + +if (grep $_ eq $METADATA_LOADED_CLASSES_SRC, @requested) { + my %metadata = _read_class_list("$PID/loaded_classes", ".src", keys %results); + + foreach my $bug_id (keys %metadata) { + $results{$bug_id}{$METADATA_LOADED_CLASSES_SRC} = $metadata{$bug_id}; + } +} -my %results = _read_bug_csv($ACTIVE_BUGS, @requested); +if (grep $_ eq $METADATA_LOADED_CLASSES_TEST, @requested) { + my %metadata = _read_class_list("$PID/loaded_classes", ".test", keys %results); + + foreach my $bug_id (keys %metadata) { + $results{$bug_id}{$METADATA_LOADED_CLASSES_TEST} = $metadata{$bug_id}; + } +} + +if (grep $_ eq $METADATA_MODIFIED_CLASSES, @requested) { + my %metadata = _read_class_list("$PID/modified_classes", ".src", keys %results); + + foreach my $bug_id (keys %metadata) { + $results{$bug_id}{$METADATA_MODIFIED_CLASSES} = $metadata{$bug_id}; + } +} + +if (grep $_ eq $METADATA_RELEVANT_TESTS, @requested) { + my %metadata = _read_class_list("$PID/relevant_tests", "", keys %results); + + foreach my $bug_id (keys %metadata) { + $results{$bug_id}{$METADATA_RELEVANT_TESTS} = $metadata{$bug_id}; + } +} + +if (grep $_ eq $METADATA_TRIGGER_TESTS, @requested) { + my %metadata = _read_stack_traces("$PID/trigger_tests", keys %results); + + foreach my $bug_id (keys %metadata) { + $results{$bug_id}{$METADATA_TRIGGER_TESTS} = $metadata{$bug_id}; + } +} # Print the results in CSV format diff --git a/framework/core/Constants.pm b/framework/core/Constants.pm index f8ef8b804..3554fa096 100644 --- a/framework/core/Constants.pm +++ b/framework/core/Constants.pm @@ -287,6 +287,13 @@ our $DEPRECATED_DUPLICATE = "Duplicate"; our $DEPRECATED_JVM8_REPRO = "JVM8_Not_Reproducible"; our $DEPRECATED_JVM8_COMPILE = "JVM8_Does_Not_Compile"; +# Additional metadata fields that can be queried by d4j-query +our $METADATA_LOADED_CLASSES_SRC = "loaded_classes_src"; +our $METADATA_LOADED_CLASSES_TEST = "loaded_classes_test"; +our $METADATA_MODIFIED_CLASSES = "modified_classes"; +our $METADATA_RELEVANT_TESTS = "relevant_tests"; +our $METADATA_TRIGGER_TESTS = "trigger_tests"; + # Filenames for test results our $FILE_ALL_TESTS = "all_tests"; our $FILE_FAILING_TESTS = "failing_tests"; @@ -351,6 +358,12 @@ $DEPRECATED_DUPLICATE $DEPRECATED_JVM8_REPRO $DEPRECATED_JVM8_COMPILE +$METADATA_LOADED_CLASSES_SRC +$METADATA_LOADED_CLASSES_TEST +$METADATA_MODIFIED_CLASSES +$METADATA_RELEVANT_TESTS +$METADATA_TRIGGER_TESTS + $FILE_ALL_TESTS $FILE_FAILING_TESTS diff --git a/framework/test/resources/output/d4j-query/1 b/framework/test/resources/output/d4j-query/1 new file mode 100644 index 000000000..5cb91807f --- /dev/null +++ b/framework/test/resources/output/d4j-query/1 @@ -0,0 +1 @@ +Available fields: bug_id, revision_id_buggy, revision_id_fixed, bug_report_id, bug_report_url, deprecated_version, deprecated_reason, loaded_classes_src, loaded_classes_test, modified_classes, relevant_tests, trigger_tests diff --git a/framework/test/resources/output/d4j-query/2 b/framework/test/resources/output/d4j-query/2 new file mode 100644 index 000000000..6b5011dd9 --- /dev/null +++ b/framework/test/resources/output/d4j-query/2 @@ -0,0 +1,4 @@ +25 +26 +27 +28 diff --git a/framework/test/resources/output/d4j-query/3 b/framework/test/resources/output/d4j-query/3 new file mode 100644 index 000000000..e88f79b4d --- /dev/null +++ b/framework/test/resources/output/d4j-query/3 @@ -0,0 +1,4 @@ +25,7c99c6234c7b403449420b2688fff3d516662591,"org.apache.commons.collections4.IteratorUtils" +26,3a9c4718ee0fd2eeef8b3ce151ee829fadbef5ae,"org.apache.commons.collections4.keyvalue.MultiKey" +27,7a72b1983c03f7b33e397cdfc5e8f0636bcd924e,"org.apache.commons.collections4.map.MultiValueMap" +28,796114ea4a9cc57ab17170536e1caa5933520c47,"org.apache.commons.collections4.trie.AbstractPatriciaTrie" diff --git a/framework/test/resources/output/d4j-query/4 b/framework/test/resources/output/d4j-query/4 new file mode 100644 index 000000000..1a34e3163 --- /dev/null +++ b/framework/test/resources/output/d4j-query/4 @@ -0,0 +1,24 @@ +1,b1cd358495cae3df8e0e32147ef433cce83390c8,"org.apache.commons.collections.map.Flat3Map" +2,f8aa3e033c1fde4a434864f666315b433498d32c,"org.apache.commons.collections.ExtendedProperties" +3,3f09772b742d7886c5a18427c9838fb267cc335b,"org.apache.commons.collections.CollectionUtils" +4,139636b502dd144b7f6070a8f30b46913ef6965a,"org.apache.commons.collections.map.MultiValueMap" +5,d0128142ff08d9a9dc5c1ca483594abb21f90353,"org.apache.commons.collections.list.SetUniqueList" +6,95a3fecee0f7a87624e490f0026b391188f9aceb,"org.apache.commons.collections.map.Flat3Map" +7,142a6dd5eedf83e9bd5f077d64977969cc4be40c,"org.apache.commons.collections.ExtendedProperties" +8,b147d16e647c9fa54b4ad14a76fd532906cec558,"org.apache.commons.collections.buffer.UnboundedFifoBuffer" +9,7cf943172b154019d7c6a66f4290272b2144e29a,"org.apache.commons.collections.ExtendedProperties" +10,c1351569a7184caee4ed7eacdf948f6a79db160f,"org.apache.commons.collections.map.MultiValueMap" +11,7873bd62ee22efd0c32cddd94e388a80faab81b2,"org.apache.commons.collections.keyvalue.MultiKey" +12,441ed780ad999caf09ef5522983764977c8be45d,"org.apache.commons.collections.ExtendedProperties" +13,79ff10494b90ba99c339aadb87f6281c97aea966,"org.apache.commons.collections.ExtendedProperties" +14,f3eaf2ceae5d49c329ce8675d06b3003eb1ba389,"org.apache.commons.collections.map.CaseInsensitiveMap" +15,0725e476d4cc66e6331bdceb4e29a54a9ce7f462,"org.apache.commons.collections.list.SetUniqueList" +16,0122245f02ba7b22dd40f38c98aa2f08984707bd,"org.apache.commons.collections.list.SetUniqueList" +17,bb72bc51ce46c102124d09ac862860f44d169cb4,"org.apache.commons.collections.functors.EqualPredicate" +18,38bb9b4ac534abc95a83c75faf5e87cfe25319d4,"org.apache.commons.collections.set.ListOrderedSet" +19,89d8791f05f0d28199820e87c683696f96d42f40,"org.apache.commons.collections.list.SetUniqueList" +20,89ebfe8f921be807d40b3cecc504b05d56c0d898,"org.apache.commons.collections.list.TreeList" +21,4b9c68b55a6f82942d32c5149fa0363b8b6b39fc,"org.apache.commons.collections4.list.SetUniqueList" +22,62e69cf4f2fcb3ad8bdc44f75f8a9e3e20ca7337,"org.apache.commons.collections4.map.ListOrderedMap" +23,15ee56bd0f91ef807a3e729ab3410a834ef3fcef,"org.apache.commons.collections4.trie.UnmodifiableTrie" +24,72784c46f6a7d7644398db5c7ac8bd3822c523d4,"org.apache.commons.collections4.collection.UnmodifiableBoundedCollection" diff --git a/framework/test/resources/output/d4j-query/5 b/framework/test/resources/output/d4j-query/5 new file mode 100644 index 000000000..fb25350ac --- /dev/null +++ b/framework/test/resources/output/d4j-query/5 @@ -0,0 +1,28 @@ +1,b1cd358495cae3df8e0e32147ef433cce83390c8,"org.apache.commons.collections.map.Flat3Map" +2,f8aa3e033c1fde4a434864f666315b433498d32c,"org.apache.commons.collections.ExtendedProperties" +3,3f09772b742d7886c5a18427c9838fb267cc335b,"org.apache.commons.collections.CollectionUtils" +4,139636b502dd144b7f6070a8f30b46913ef6965a,"org.apache.commons.collections.map.MultiValueMap" +5,d0128142ff08d9a9dc5c1ca483594abb21f90353,"org.apache.commons.collections.list.SetUniqueList" +6,95a3fecee0f7a87624e490f0026b391188f9aceb,"org.apache.commons.collections.map.Flat3Map" +7,142a6dd5eedf83e9bd5f077d64977969cc4be40c,"org.apache.commons.collections.ExtendedProperties" +8,b147d16e647c9fa54b4ad14a76fd532906cec558,"org.apache.commons.collections.buffer.UnboundedFifoBuffer" +9,7cf943172b154019d7c6a66f4290272b2144e29a,"org.apache.commons.collections.ExtendedProperties" +10,c1351569a7184caee4ed7eacdf948f6a79db160f,"org.apache.commons.collections.map.MultiValueMap" +11,7873bd62ee22efd0c32cddd94e388a80faab81b2,"org.apache.commons.collections.keyvalue.MultiKey" +12,441ed780ad999caf09ef5522983764977c8be45d,"org.apache.commons.collections.ExtendedProperties" +13,79ff10494b90ba99c339aadb87f6281c97aea966,"org.apache.commons.collections.ExtendedProperties" +14,f3eaf2ceae5d49c329ce8675d06b3003eb1ba389,"org.apache.commons.collections.map.CaseInsensitiveMap" +15,0725e476d4cc66e6331bdceb4e29a54a9ce7f462,"org.apache.commons.collections.list.SetUniqueList" +16,0122245f02ba7b22dd40f38c98aa2f08984707bd,"org.apache.commons.collections.list.SetUniqueList" +17,bb72bc51ce46c102124d09ac862860f44d169cb4,"org.apache.commons.collections.functors.EqualPredicate" +18,38bb9b4ac534abc95a83c75faf5e87cfe25319d4,"org.apache.commons.collections.set.ListOrderedSet" +19,89d8791f05f0d28199820e87c683696f96d42f40,"org.apache.commons.collections.list.SetUniqueList" +20,89ebfe8f921be807d40b3cecc504b05d56c0d898,"org.apache.commons.collections.list.TreeList" +21,4b9c68b55a6f82942d32c5149fa0363b8b6b39fc,"org.apache.commons.collections4.list.SetUniqueList" +22,62e69cf4f2fcb3ad8bdc44f75f8a9e3e20ca7337,"org.apache.commons.collections4.map.ListOrderedMap" +23,15ee56bd0f91ef807a3e729ab3410a834ef3fcef,"org.apache.commons.collections4.trie.UnmodifiableTrie" +24,72784c46f6a7d7644398db5c7ac8bd3822c523d4,"org.apache.commons.collections4.collection.UnmodifiableBoundedCollection" +25,7c99c6234c7b403449420b2688fff3d516662591,"org.apache.commons.collections4.IteratorUtils" +26,3a9c4718ee0fd2eeef8b3ce151ee829fadbef5ae,"org.apache.commons.collections4.keyvalue.MultiKey" +27,7a72b1983c03f7b33e397cdfc5e8f0636bcd924e,"org.apache.commons.collections4.map.MultiValueMap" +28,796114ea4a9cc57ab17170536e1caa5933520c47,"org.apache.commons.collections4.trie.AbstractPatriciaTrie" diff --git a/framework/test/resources/output/d4j-query/6 b/framework/test/resources/output/d4j-query/6 new file mode 100644 index 000000000..3c5462de6 --- /dev/null +++ b/framework/test/resources/output/d4j-query/6 @@ -0,0 +1,28 @@ +1,JVM8_Does_Not_Compile +2,JVM8_Does_Not_Compile +3,JVM8_Does_Not_Compile +4,JVM8_Does_Not_Compile +5,JVM8_Does_Not_Compile +6,JVM8_Does_Not_Compile +7,JVM8_Does_Not_Compile +8,JVM8_Does_Not_Compile +9,JVM8_Does_Not_Compile +10,JVM8_Does_Not_Compile +11,JVM8_Does_Not_Compile +12,JVM8_Does_Not_Compile +13,JVM8_Does_Not_Compile +14,JVM8_Does_Not_Compile +15,JVM8_Does_Not_Compile +16,JVM8_Does_Not_Compile +17,JVM8_Does_Not_Compile +18,JVM8_Does_Not_Compile +19,JVM8_Does_Not_Compile +20,JVM8_Does_Not_Compile +21,JVM8_Does_Not_Compile +22,JVM8_Does_Not_Compile +23,JVM8_Does_Not_Compile +24,JVM8_Does_Not_Compile +25,NA +26,NA +27,NA +28,NA diff --git a/framework/test/test_d4j_query.sh b/framework/test/test_d4j_query.sh new file mode 100755 index 000000000..ca53cb116 --- /dev/null +++ b/framework/test/test_d4j_query.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +################################################################################ +# +# This script runs a set of basic queries against d4j-query and checks the results +# +################################################################################ +source test.include + +HERE=$(cd `dirname $0` && pwd) + +$BASE_DIR/framework/bin/defects4j query -p Collections -h >> $HERE"/temp" +result=`diff $HERE/temp $HERE/resources/output/d4j-query/1` + +[ "$result" == "" ] || die "query \"-p Collections\" -h failed: $result" + +rm $HERE"/temp" + +$BASE_DIR/framework/bin/defects4j query -p Collections >> $HERE"/temp" +result=`diff $HERE/temp $HERE/resources/output/d4j-query/2` + +[ "$result" == "" ] || die "query \"-p Collections\" failed: $result" + +rm $HERE"/temp" + +$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision_id_buggy,modified_classes" >> $HERE"/temp" +result=`diff $HERE/temp $HERE/resources/output/d4j-query/3` + +[ "$result" == "" ] || die "query \"-p Collections -q \"revision_id_buggy,modified_classes\"\" failed: $result" + +rm $HERE"/temp" + +$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision_id_buggy,modified_classes" -d >> $HERE"/temp" +result=`diff $HERE/temp $HERE/resources/output/d4j-query/4` + +[ "$result" == "" ] || die "query \"-p Collections -q \"revision_id_buggy,modified_classes\" -d\" failed: $result" + +rm $HERE"/temp" + +$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision_id_buggy,modified_classes" -a >> $HERE"/temp" +result=`diff $HERE/temp $HERE/resources/output/d4j-query/5` + +[ "$result" == "" ] || die "query \"-p Collections -q \"revision_id_buggy,modified_classes\" -a\" failed: $result" + +rm $HERE"/temp" + +$BASE_DIR/framework/bin/defects4j query -p Collections -q "deprecated_reason" -a >> $HERE"/temp" +result=`diff $HERE/temp $HERE/resources/output/d4j-query/6` + +[ "$result" == "" ] || die "query \"-p Collections -q \"deprecated_reason\" -a\" failed: $result" + +rm $HERE"/temp" From afc6b732a4a7b28e9a838f37bc554bf6a1e009b3 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Wed, 18 Mar 2020 11:29:03 +0100 Subject: [PATCH 18/35] Fixing a typo in d4j-query documentation --- framework/bin/d4j/d4j-query | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/bin/d4j/d4j-query b/framework/bin/d4j/d4j-query index 5d04a3ec5..7b223e231 100755 --- a/framework/bin/d4j/d4j-query +++ b/framework/bin/d4j/d4j-query @@ -69,7 +69,7 @@ queried. =item -C -Returns the list of active bug IDs for project Cli. +Returns the list of active bug IDs for project Collections. =item -C From e35fdce0384104c668f583b7f8fedad51ebee81e Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Wed, 18 Mar 2020 11:29:58 +0100 Subject: [PATCH 19/35] Fixing a typo in d4j-query documentation --- framework/bin/d4j/d4j-query | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/bin/d4j/d4j-query b/framework/bin/d4j/d4j-query index 7b223e231..5c0f7e1e7 100755 --- a/framework/bin/d4j/d4j-query +++ b/framework/bin/d4j/d4j-query @@ -88,7 +88,7 @@ version and the list of modified classes". =item -C Returns all bug IDs (active and deprecated), and for each, the revision hash -of the buggy version and the list of modified classes". +of the buggy version and the list of modified classes. =item -C From e64f4b91f9a9bdc5e40eac984f7d9d837e540563 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Wed, 18 Mar 2020 11:31:15 +0100 Subject: [PATCH 20/35] One more typo in d4j-query documentation --- framework/bin/d4j/d4j-query | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/framework/bin/d4j/d4j-query b/framework/bin/d4j/d4j-query index 5c0f7e1e7..74911fd79 100755 --- a/framework/bin/d4j/d4j-query +++ b/framework/bin/d4j/d4j-query @@ -78,12 +78,12 @@ Returns the list of available fields that can be queried. =item -C Returns all active bug IDs, and for each, the revision hash of the buggy -version and the list of modified classes". +version and the list of modified classes. =item -C Returns all deprecated bug IDs, and for each, the revision hash of the buggy -version and the list of modified classes". +version and the list of modified classes. =item -C From 6554bcb84708d8225d61d4a20ab4e2ff1147ed45 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Wed, 29 Apr 2020 10:43:12 +0200 Subject: [PATCH 21/35] Adding README for query and updating field names to better match d4j-export --- README.md | 26 ++++++++++ framework/bin/d4j/d4j-query | 10 ++-- framework/core/Constants.pm | 28 +++++------ framework/projects/Chart/active-bugs.csv | 2 +- framework/projects/Chart/deprecated-bugs.csv | 2 +- framework/projects/Cli/active-bugs.csv | 2 +- framework/projects/Cli/deprecated-bugs.csv | 4 +- framework/projects/Closure/active-bugs.csv | 2 +- .../projects/Closure/deprecated-bugs.csv | 2 +- framework/projects/Codec/active-bugs.csv | 2 +- framework/projects/Codec/deprecated-bugs.csv | 2 +- .../projects/Collections/active-bugs.csv | 2 +- .../projects/Collections/deprecated-bugs.csv | 50 +++++++++---------- framework/projects/Compress/active-bugs.csv | 2 +- .../projects/Compress/deprecated-bugs.csv | 2 +- framework/projects/Csv/active-bugs.csv | 2 +- framework/projects/Csv/deprecated-bugs.csv | 2 +- framework/projects/Gson/active-bugs.csv | 2 +- framework/projects/Gson/deprecated-bugs.csv | 2 +- .../projects/JacksonCore/active-bugs.csv | 2 +- .../projects/JacksonCore/deprecated-bugs.csv | 2 +- .../projects/JacksonDatabind/active-bugs.csv | 2 +- .../JacksonDatabind/deprecated-bugs.csv | 2 +- framework/projects/JacksonXml/active-bugs.csv | 2 +- .../projects/JacksonXml/deprecated-bugs.csv | 2 +- framework/projects/Jsoup/active-bugs.csv | 2 +- framework/projects/Jsoup/deprecated-bugs.csv | 2 +- framework/projects/JxPath/active-bugs.csv | 2 +- framework/projects/JxPath/deprecated-bugs.csv | 2 +- framework/projects/Lang/active-bugs.csv | 2 +- framework/projects/Lang/deprecated-bugs.csv | 4 +- framework/projects/Math/active-bugs.csv | 2 +- framework/projects/Math/deprecated-bugs.csv | 2 +- framework/projects/Mockito/active-bugs.csv | 2 +- .../projects/Mockito/deprecated-bugs.csv | 2 +- framework/projects/Time/active-bugs.csv | 2 +- framework/projects/Time/deprecated-bugs.csv | 4 +- framework/test/resources/output/d4j-query/1 | 2 +- framework/test/resources/output/d4j-query/6 | 48 +++++++++--------- framework/test/test_d4j_query.sh | 16 +++--- 40 files changed, 139 insertions(+), 113 deletions(-) diff --git a/README.md b/README.md index 8871a6c35..573010d81 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,7 @@ Use [`framework/bin/defects4j`](http://defects4j.org/html_doc/defects4j.html) to | [coverage](http://defects4j.org/html_doc/d4j/d4j-coverage.html) | Run code coverage analysis on a buggy or a fixed project version | | [monitor.test](http://defects4j.org/html_doc/d4j/d4j-monitor.test.html) | Monitor the class loader during the execution of a single test or a test suite | | [export](http://defects4j.org/html_doc/d4j/d4j-export.html) | Export version-specific properties such as classpaths, directories, or lists of tests | +| [query](http://defects4j.org/html_doc/d4j/d4j-query.html) | Query the metadata to generate a CSV file of requested information for a specific project | Export version-specific properties @@ -167,6 +168,31 @@ directory to export a version-specific property: | tests.relevant | List of relevant tests classes (a test class is relevant if, when executed, the JVM loads at least one of the modified classes) | | tests.trigger | List of test methods that trigger (expose) the bug | +Export project-specific metadata +-------------------------------- +Use `defects4j query -p -q [-d] [-a]` to generate +a CSV file containing the requested metadata for each bug in a project: + +| Property | Description | +|-----------------------|-------------------------------------------------------------------------------------| +| bug.id | Assigned bug IDs (included in all results) | +| revision.id.buggy | Commit hashes for the buggy version of each bug | +| revision.id.fixed | Commit hashes for the fixed version of each bug | +| report.id | Bug report ID from the version tracker for each bug | +| report.url | Bug report URL from the version tracker for each bug | +| classes.modified | Classes modified by the bug fix | +| classes.relevant.src | Source classes loaded by the JVM when executing all triggering tests | +| classes.relevant.test | Test classes loaded by the JVM when executing all triggering tests | +| tests.relevant | List of relevant tests classes (a test class is relevant if, when executed, the JVM loads at least one of the modified classes) | +| tests.trigger | List of test methods that trigger (expose) the bug | +| deprecated.version | (for deprecated bugs only) Version of Defects4J where a bug was deprecated | +| deprecated.reason | (for deprecated bugs only) Reason for deprecation | + +By default, `defects4j query` returns information on active bugs. The `[-d]` +flag returns information only on deprecated bugs, while the `[-a]` flag returns +information for all active and deprecated bugs. + + Test execution framework -------------------------- The test execution framework for generated test suites (`framework/bin`) diff --git a/framework/bin/d4j/d4j-query b/framework/bin/d4j/d4j-query index 74911fd79..da1970afd 100755 --- a/framework/bin/d4j/d4j-query +++ b/framework/bin/d4j/d4j-query @@ -49,7 +49,7 @@ must be provided to use this utility. =item -q C A comma-separated list of fields, encased in quotation marks. For example, -C<-q "bug_id,bug_report_id"> returns the list of bug IDs and issue tracker IDs +C<-q "bug.id,report.id"> returns the list of bug IDs and issue tracker IDs for the requested system. =item -h @@ -75,22 +75,22 @@ Returns the list of active bug IDs for project Collections. Returns the list of available fields that can be queried. -=item -C +=item -C Returns all active bug IDs, and for each, the revision hash of the buggy version and the list of modified classes. -=item -C +=item -C Returns all deprecated bug IDs, and for each, the revision hash of the buggy version and the list of modified classes. -=item -C +=item -C Returns all bug IDs (active and deprecated), and for each, the revision hash of the buggy version and the list of modified classes. -=item -C +=item -C Returns all bug IDs (active and deprecated) along with the reason for deprecation. For active bugs, the deprecation reason will be "NA", as diff --git a/framework/core/Constants.pm b/framework/core/Constants.pm index f114cfd47..1b070aa5e 100644 --- a/framework/core/Constants.pm +++ b/framework/core/Constants.pm @@ -272,25 +272,25 @@ our $BUGS_CSV_ACTIVE = "active-bugs.csv"; our $BUGS_CSV_DEPRECATED = "deprecated-bugs.csv"; # Columns in active-bugs and deprecated-bugs csvs -our $BUGS_CSV_BUGID = "bug_id"; -our $BUGS_CSV_COMMIT_BUGGY = "revision_id_buggy"; -our $BUGS_CSV_COMMIT_FIXED = "revision_id_fixed"; -our $BUGS_CSV_ISSUE_ID = "bug_report_id"; -our $BUGS_CSV_ISSUE_URL = "bug_report_url"; -our $BUGS_CSV_DEPRECATED_WHEN = "deprecated_version"; -our $BUGS_CSV_DEPRECATED_WHY = "deprecated_reason"; +our $BUGS_CSV_BUGID = "bug.id"; +our $BUGS_CSV_COMMIT_BUGGY = "revision.buggy"; +our $BUGS_CSV_COMMIT_FIXED = "revision.fixed"; +our $BUGS_CSV_ISSUE_ID = "report.id"; +our $BUGS_CSV_ISSUE_URL = "report.url"; +our $BUGS_CSV_DEPRECATED_WHEN = "deprecated.version"; +our $BUGS_CSV_DEPRECATED_WHY = "deprecated.reason"; # Reasons for deprecation our $DEPRECATED_DUPLICATE = "Duplicate"; -our $DEPRECATED_JVM8_REPRO = "JVM8_Not_Reproducible"; -our $DEPRECATED_JVM8_COMPILE = "JVM8_Does_Not_Compile"; +our $DEPRECATED_JVM8_REPRO = "JVM8.Not.Reproducible"; +our $DEPRECATED_JVM8_COMPILE = "JVM8.Does.Not.Compile"; # Additional metadata fields that can be queried by d4j-query -our $METADATA_LOADED_CLASSES_SRC = "loaded_classes_src"; -our $METADATA_LOADED_CLASSES_TEST = "loaded_classes_test"; -our $METADATA_MODIFIED_CLASSES = "modified_classes"; -our $METADATA_RELEVANT_TESTS = "relevant_tests"; -our $METADATA_TRIGGER_TESTS = "trigger_tests"; +our $METADATA_LOADED_CLASSES_SRC = "classes.relevant.src"; +our $METADATA_LOADED_CLASSES_TEST = "classes.relevant.test"; +our $METADATA_MODIFIED_CLASSES = "classes.modified"; +our $METADATA_RELEVANT_TESTS = "tests.relevant"; +our $METADATA_TRIGGER_TESTS = "tests.trigger"; # Filenames for test results our $FILE_ALL_TESTS = "all_tests"; diff --git a/framework/projects/Chart/active-bugs.csv b/framework/projects/Chart/active-bugs.csv index a01d9736d..ba0d15685 100644 --- a/framework/projects/Chart/active-bugs.csv +++ b/framework/projects/Chart/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 1,2264,2266,983,https://sourceforge.net/p/jfreechart/bugs/983 2,2240,2242,959,https://sourceforge.net/p/jfreechart/bugs/959 3,2225,2227,UNKNOWN,UNKNOWN diff --git a/framework/projects/Chart/deprecated-bugs.csv b/framework/projects/Chart/deprecated-bugs.csv index 90f7ed326..aab5d21db 100644 --- a/framework/projects/Chart/deprecated-bugs.csv +++ b/framework/projects/Chart/deprecated-bugs.csv @@ -1 +1 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/Cli/active-bugs.csv b/framework/projects/Cli/active-bugs.csv index 64bfd7355..e03010b8a 100644 --- a/framework/projects/Cli/active-bugs.csv +++ b/framework/projects/Cli/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 1,8f46f467a33ace44ccd9f394910940b6c48a3827,b0e1b80b6d4a10a9c9f46539bc4c7a3cce55886e,CLI-13,https://issues.apache.org/jira/browse/CLI-13 2,b0e1b80b6d4a10a9c9f46539bc4c7a3cce55886e,2ff9573ffb08dd52ec3a55a49f2d77a1e94efbdf,CLI-51,https://issues.apache.org/jira/browse/CLI-51 3,85248e8ae52232ed75c2b4c52d4071bdf192db37,d35f2fa7a06457469a617677eeb4c1dc21484006,cli-1,https://issues.apache.org/jira/browse/CLI-1 diff --git a/framework/projects/Cli/deprecated-bugs.csv b/framework/projects/Cli/deprecated-bugs.csv index c826f601d..ebd17b099 100644 --- a/framework/projects/Cli/deprecated-bugs.csv +++ b/framework/projects/Cli/deprecated-bugs.csv @@ -1,2 +1,2 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason -6,3880640ee6268a2ecb2912e1ae896153dc2229e5,6f972cf56d7a3054bac902fecb6d3dd5ee310dea,cli-1,https://issues.apache.org/jira/browse/CLI-1,2.0.0,JVM8_Not_Reproducible +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +6,3880640ee6268a2ecb2912e1ae896153dc2229e5,6f972cf56d7a3054bac902fecb6d3dd5ee310dea,cli-1,https://issues.apache.org/jira/browse/CLI-1,2.0.0,JVM8.Not.Reproducible diff --git a/framework/projects/Closure/active-bugs.csv b/framework/projects/Closure/active-bugs.csv index 41f2b13b5..a15633599 100644 --- a/framework/projects/Closure/active-bugs.csv +++ b/framework/projects/Closure/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 1,2353d807058bc2a20af279a480d6652cdf892f4d,1dfad5043a207e032a78ef50c3cba50488bcd300,253,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-253.json 2,61095090415cff7cae4f3645fa76ee7cdd3ee23d,d1cfe67977d8f3aaa85ec20c262171da394d5977,884,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-884.json 3,3cc85c3c37aa8bc834a4a86f91ddeb399d854024,d80fcc04239ab8c4cf781273c4f9bc54cf06f479,864,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-864.json diff --git a/framework/projects/Closure/deprecated-bugs.csv b/framework/projects/Closure/deprecated-bugs.csv index 1355e8483..1e5781439 100644 --- a/framework/projects/Closure/deprecated-bugs.csv +++ b/framework/projects/Closure/deprecated-bugs.csv @@ -1,3 +1,3 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason 63,7deaed51a2313dd3d5814cf3ed93d7140cf3b1b5,37b0e1b0b5860e6cd4f48519c1105623778dc44f,487,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-487.json,2.0.0,Duplicate 93,386ab6da410291c7b9b4880354dae764275a9518,9d1e18e87a41f2a610ed70f3a1d57abbce7a1cd7,261,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-261.json,2.0.0,Duplicate diff --git a/framework/projects/Codec/active-bugs.csv b/framework/projects/Codec/active-bugs.csv index 0af377c58..a22c45ae0 100644 --- a/framework/projects/Codec/active-bugs.csv +++ b/framework/projects/Codec/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 1,9c0cabead7cf075308b11362172ae1a48d41321c,52d82d1dfff8c2b2ded9d843e0b03017af6d747c,CODEC-65,https://issues.apache.org/jira/browse/CODEC-65 2,2f7454a01e4c2992bffc3d86137e632e80c5027f,b8c2d9d9dc9aab45f83cf49ac93cfa8546e4c08e,CODEC-77,https://issues.apache.org/jira/browse/CODEC-77 3,d7b01850ef418b1d261cdb2029f8f85ab4031553,a5dfe5cbc95d7f3ce0b4829756690c2cb8439f4c,CODEC-84,https://issues.apache.org/jira/browse/CODEC-84 diff --git a/framework/projects/Codec/deprecated-bugs.csv b/framework/projects/Codec/deprecated-bugs.csv index 90f7ed326..aab5d21db 100644 --- a/framework/projects/Codec/deprecated-bugs.csv +++ b/framework/projects/Codec/deprecated-bugs.csv @@ -1 +1 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/Collections/active-bugs.csv b/framework/projects/Collections/active-bugs.csv index a6cb18c3c..d5571d971 100644 --- a/framework/projects/Collections/active-bugs.csv +++ b/framework/projects/Collections/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 25,7c99c6234c7b403449420b2688fff3d516662591,73d69dfe8677210e44049bc1a2a7d1ff85bc1ca7,COLLECTIONS-566,https://issues.apache.org/jira/browse/COLLECTIONS-566 26,3a9c4718ee0fd2eeef8b3ce151ee829fadbef5ae,f8bd75d37ca12c5d49c1b628c33c0b45e2d082eb,COLLECTIONS-576,https://issues.apache.org/jira/browse/COLLECTIONS-576 27,7a72b1983c03f7b33e397cdfc5e8f0636bcd924e,3eee44cf63b1ebb0da6925e98b3dcc6ef1e4d610,COLLECTIONS-580,https://issues.apache.org/jira/browse/COLLECTIONS-580 diff --git a/framework/projects/Collections/deprecated-bugs.csv b/framework/projects/Collections/deprecated-bugs.csv index b23fd73a5..995c84b16 100644 --- a/framework/projects/Collections/deprecated-bugs.csv +++ b/framework/projects/Collections/deprecated-bugs.csv @@ -1,25 +1,25 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason -1,b1cd358495cae3df8e0e32147ef433cce83390c8,f8aa3e033c1fde4a434864f666315b433498d32c,COLLECTIONS-217,https://issues.apache.org/jira/browse/COLLECTIONS-217,2.0.0,JVM8_Does_Not_Compile -2,f8aa3e033c1fde4a434864f666315b433498d32c,3f09772b742d7886c5a18427c9838fb267cc335b,COLLECTIONS-214,https://issues.apache.org/jira/browse/COLLECTIONS-214,2.0.0,JVM8_Does_Not_Compile -3,3f09772b742d7886c5a18427c9838fb267cc335b,66c4b99ddc7daea806c1318a40736d0f5c8fa7bd,COLLECTIONS-219,https://issues.apache.org/jira/browse/COLLECTIONS-219,2.0.0,JVM8_Does_Not_Compile -4,139636b502dd144b7f6070a8f30b46913ef6965a,5e313d14b2a10ce0aea529ac4db50e183f0b1e49,COLLECTIONS-228,https://issues.apache.org/jira/browse/COLLECTIONS-228,2.0.0,JVM8_Does_Not_Compile -5,d0128142ff08d9a9dc5c1ca483594abb21f90353,f43e0a53c1f4d3335e720131973dfc8e1103f5f9,COLLECTIONS-249,https://issues.apache.org/jira/browse/COLLECTIONS-249,2.0.0,JVM8_Does_Not_Compile -6,95a3fecee0f7a87624e490f0026b391188f9aceb,1d5610521f5846c1d6f7d0a65f93c384dbf33e8d,COLLECTIONS-261,https://issues.apache.org/jira/browse/COLLECTIONS-261,2.0.0,JVM8_Does_Not_Compile -7,142a6dd5eedf83e9bd5f077d64977969cc4be40c,01086ef5b312d7aa5ad231277950618cb93664ee,COLLECTIONS-278,https://issues.apache.org/jira/browse/COLLECTIONS-278,2.0.0,JVM8_Does_Not_Compile -8,b147d16e647c9fa54b4ad14a76fd532906cec558,7cf943172b154019d7c6a66f4290272b2144e29a,COLLECTIONS-220,https://issues.apache.org/jira/browse/COLLECTIONS-220,2.0.0,JVM8_Does_Not_Compile -9,7cf943172b154019d7c6a66f4290272b2144e29a,8a5d3acab88bb2ef7416f3141d63f10b79d318cf,COLLECTIONS-271,https://issues.apache.org/jira/browse/COLLECTIONS-271,2.0.0,JVM8_Does_Not_Compile -10,c1351569a7184caee4ed7eacdf948f6a79db160f,e6d4f465446e5645f1a68f3d90964a6ade82f59e,COLLECTIONS-240,https://issues.apache.org/jira/browse/COLLECTIONS-240,2.0.0,JVM8_Does_Not_Compile -11,7873bd62ee22efd0c32cddd94e388a80faab81b2,d887c5913fddcecad8483ec9a0cbf407ed08c157,COLLECTIONS-266,https://issues.apache.org/jira/browse/COLLECTIONS-266,2.0.0,JVM8_Does_Not_Compile -12,441ed780ad999caf09ef5522983764977c8be45d,79ff10494b90ba99c339aadb87f6281c97aea966,COLLECTIONS-271,https://issues.apache.org/jira/browse/COLLECTIONS-271,2.0.0,JVM8_Does_Not_Compile -13,79ff10494b90ba99c339aadb87f6281c97aea966,f3eaf2ceae5d49c329ce8675d06b3003eb1ba389,COLLECTIONS-299,https://issues.apache.org/jira/browse/COLLECTIONS-299,2.0.0,JVM8_Does_Not_Compile -14,f3eaf2ceae5d49c329ce8675d06b3003eb1ba389,0725e476d4cc66e6331bdceb4e29a54a9ce7f462,COLLECTIONS-294,https://issues.apache.org/jira/browse/COLLECTIONS-294,2.0.0,JVM8_Does_Not_Compile -15,0725e476d4cc66e6331bdceb4e29a54a9ce7f462,0122245f02ba7b22dd40f38c98aa2f08984707bd,COLLECTIONS-304,https://issues.apache.org/jira/browse/COLLECTIONS-304,2.0.0,JVM8_Does_Not_Compile -16,0122245f02ba7b22dd40f38c98aa2f08984707bd,3290bbc85420176f53bad1968611bf53798b2770,COLLECTIONS-307,https://issues.apache.org/jira/browse/COLLECTIONS-307,2.0.0,JVM8_Does_Not_Compile -17,bb72bc51ce46c102124d09ac862860f44d169cb4,459f14b33c02509a4b9cc5360f3ff2f4edba9284,COLLECTIONS-239,https://issues.apache.org/jira/browse/COLLECTIONS-239,2.0.0,JVM8_Does_Not_Compile -18,38bb9b4ac534abc95a83c75faf5e87cfe25319d4,b10fa43d3e29af6c6e79577c305fad99df01dff0,COLLECTIONS-426,https://issues.apache.org/jira/browse/COLLECTIONS-426,2.0.0,JVM8_Does_Not_Compile -19,89d8791f05f0d28199820e87c683696f96d42f40,bb9952dbedc77f25fffda32d96e6494e2246bab3,COLLECTIONS-444,https://issues.apache.org/jira/browse/COLLECTIONS-444,2.0.0,JVM8_Does_Not_Compile -20,89ebfe8f921be807d40b3cecc504b05d56c0d898,b88692f83a938e31fd5f703c99db2a5720cd9f3e,COLLECTIONS-447,https://issues.apache.org/jira/browse/COLLECTIONS-447,2.0.0,JVM8_Does_Not_Compile -21,4b9c68b55a6f82942d32c5149fa0363b8b6b39fc,803a9c6c17efbc98bc9513e6bf7e6900d4dbae2c,COLLECTIONS-310,https://issues.apache.org/jira/browse/COLLECTIONS-310,2.0.0,JVM8_Does_Not_Compile -22,62e69cf4f2fcb3ad8bdc44f75f8a9e3e20ca7337,7df57879c92a467cd71860e6cfe14a04a49fd031,COLLECTIONS-474,https://issues.apache.org/jira/browse/COLLECTIONS-474,2.0.0,JVM8_Does_Not_Compile -23,15ee56bd0f91ef807a3e729ab3410a834ef3fcef,72784c46f6a7d7644398db5c7ac8bd3822c523d4,COLLECTIONS-495,https://issues.apache.org/jira/browse/COLLECTIONS-495,2.0.0,JVM8_Does_Not_Compile -24,72784c46f6a7d7644398db5c7ac8bd3822c523d4,539be680cd2b1a8f6833b28ee0cca22a88161466,COLLECTIONS-496,https://issues.apache.org/jira/browse/COLLECTIONS-496,2.0.0,JVM8_Does_Not_Compile +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +1,b1cd358495cae3df8e0e32147ef433cce83390c8,f8aa3e033c1fde4a434864f666315b433498d32c,COLLECTIONS-217,https://issues.apache.org/jira/browse/COLLECTIONS-217,2.0.0,JVM8.Does.Not.Compile +2,f8aa3e033c1fde4a434864f666315b433498d32c,3f09772b742d7886c5a18427c9838fb267cc335b,COLLECTIONS-214,https://issues.apache.org/jira/browse/COLLECTIONS-214,2.0.0,JVM8.Does.Not.Compile +3,3f09772b742d7886c5a18427c9838fb267cc335b,66c4b99ddc7daea806c1318a40736d0f5c8fa7bd,COLLECTIONS-219,https://issues.apache.org/jira/browse/COLLECTIONS-219,2.0.0,JVM8.Does.Not.Compile +4,139636b502dd144b7f6070a8f30b46913ef6965a,5e313d14b2a10ce0aea529ac4db50e183f0b1e49,COLLECTIONS-228,https://issues.apache.org/jira/browse/COLLECTIONS-228,2.0.0,JVM8.Does.Not.Compile +5,d0128142ff08d9a9dc5c1ca483594abb21f90353,f43e0a53c1f4d3335e720131973dfc8e1103f5f9,COLLECTIONS-249,https://issues.apache.org/jira/browse/COLLECTIONS-249,2.0.0,JVM8.Does.Not.Compile +6,95a3fecee0f7a87624e490f0026b391188f9aceb,1d5610521f5846c1d6f7d0a65f93c384dbf33e8d,COLLECTIONS-261,https://issues.apache.org/jira/browse/COLLECTIONS-261,2.0.0,JVM8.Does.Not.Compile +7,142a6dd5eedf83e9bd5f077d64977969cc4be40c,01086ef5b312d7aa5ad231277950618cb93664ee,COLLECTIONS-278,https://issues.apache.org/jira/browse/COLLECTIONS-278,2.0.0,JVM8.Does.Not.Compile +8,b147d16e647c9fa54b4ad14a76fd532906cec558,7cf943172b154019d7c6a66f4290272b2144e29a,COLLECTIONS-220,https://issues.apache.org/jira/browse/COLLECTIONS-220,2.0.0,JVM8.Does.Not.Compile +9,7cf943172b154019d7c6a66f4290272b2144e29a,8a5d3acab88bb2ef7416f3141d63f10b79d318cf,COLLECTIONS-271,https://issues.apache.org/jira/browse/COLLECTIONS-271,2.0.0,JVM8.Does.Not.Compile +10,c1351569a7184caee4ed7eacdf948f6a79db160f,e6d4f465446e5645f1a68f3d90964a6ade82f59e,COLLECTIONS-240,https://issues.apache.org/jira/browse/COLLECTIONS-240,2.0.0,JVM8.Does.Not.Compile +11,7873bd62ee22efd0c32cddd94e388a80faab81b2,d887c5913fddcecad8483ec9a0cbf407ed08c157,COLLECTIONS-266,https://issues.apache.org/jira/browse/COLLECTIONS-266,2.0.0,JVM8.Does.Not.Compile +12,441ed780ad999caf09ef5522983764977c8be45d,79ff10494b90ba99c339aadb87f6281c97aea966,COLLECTIONS-271,https://issues.apache.org/jira/browse/COLLECTIONS-271,2.0.0,JVM8.Does.Not.Compile +13,79ff10494b90ba99c339aadb87f6281c97aea966,f3eaf2ceae5d49c329ce8675d06b3003eb1ba389,COLLECTIONS-299,https://issues.apache.org/jira/browse/COLLECTIONS-299,2.0.0,JVM8.Does.Not.Compile +14,f3eaf2ceae5d49c329ce8675d06b3003eb1ba389,0725e476d4cc66e6331bdceb4e29a54a9ce7f462,COLLECTIONS-294,https://issues.apache.org/jira/browse/COLLECTIONS-294,2.0.0,JVM8.Does.Not.Compile +15,0725e476d4cc66e6331bdceb4e29a54a9ce7f462,0122245f02ba7b22dd40f38c98aa2f08984707bd,COLLECTIONS-304,https://issues.apache.org/jira/browse/COLLECTIONS-304,2.0.0,JVM8.Does.Not.Compile +16,0122245f02ba7b22dd40f38c98aa2f08984707bd,3290bbc85420176f53bad1968611bf53798b2770,COLLECTIONS-307,https://issues.apache.org/jira/browse/COLLECTIONS-307,2.0.0,JVM8.Does.Not.Compile +17,bb72bc51ce46c102124d09ac862860f44d169cb4,459f14b33c02509a4b9cc5360f3ff2f4edba9284,COLLECTIONS-239,https://issues.apache.org/jira/browse/COLLECTIONS-239,2.0.0,JVM8.Does.Not.Compile +18,38bb9b4ac534abc95a83c75faf5e87cfe25319d4,b10fa43d3e29af6c6e79577c305fad99df01dff0,COLLECTIONS-426,https://issues.apache.org/jira/browse/COLLECTIONS-426,2.0.0,JVM8.Does.Not.Compile +19,89d8791f05f0d28199820e87c683696f96d42f40,bb9952dbedc77f25fffda32d96e6494e2246bab3,COLLECTIONS-444,https://issues.apache.org/jira/browse/COLLECTIONS-444,2.0.0,JVM8.Does.Not.Compile +20,89ebfe8f921be807d40b3cecc504b05d56c0d898,b88692f83a938e31fd5f703c99db2a5720cd9f3e,COLLECTIONS-447,https://issues.apache.org/jira/browse/COLLECTIONS-447,2.0.0,JVM8.Does.Not.Compile +21,4b9c68b55a6f82942d32c5149fa0363b8b6b39fc,803a9c6c17efbc98bc9513e6bf7e6900d4dbae2c,COLLECTIONS-310,https://issues.apache.org/jira/browse/COLLECTIONS-310,2.0.0,JVM8.Does.Not.Compile +22,62e69cf4f2fcb3ad8bdc44f75f8a9e3e20ca7337,7df57879c92a467cd71860e6cfe14a04a49fd031,COLLECTIONS-474,https://issues.apache.org/jira/browse/COLLECTIONS-474,2.0.0,JVM8.Does.Not.Compile +23,15ee56bd0f91ef807a3e729ab3410a834ef3fcef,72784c46f6a7d7644398db5c7ac8bd3822c523d4,COLLECTIONS-495,https://issues.apache.org/jira/browse/COLLECTIONS-495,2.0.0,JVM8.Does.Not.Compile +24,72784c46f6a7d7644398db5c7ac8bd3822c523d4,539be680cd2b1a8f6833b28ee0cca22a88161466,COLLECTIONS-496,https://issues.apache.org/jira/browse/COLLECTIONS-496,2.0.0,JVM8.Does.Not.Compile diff --git a/framework/projects/Compress/active-bugs.csv b/framework/projects/Compress/active-bugs.csv index c5855415b..5fab74999 100644 --- a/framework/projects/Compress/active-bugs.csv +++ b/framework/projects/Compress/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 1,728b4e814ec88cab556533fa114be0efdde963be,004124ac5dbf5edbf925078652526267468821e7,COMPRESS-28,https://issues.apache.org/jira/browse/COMPRESS-28 2,1cde8827c953a56b2fcabad676f8cf2ddd6ec182,d09177b98f4e956c1d366110f73c3341ea110bee,COMPRESS-11,https://issues.apache.org/jira/browse/COMPRESS-11 3,ddbd61f0e75b7d98873b9a9bf6398218edcfd17b,d170f34fa65e19b604f5a9e04e6ed5f81d35658c,COMPRESS-64,https://issues.apache.org/jira/browse/COMPRESS-64 diff --git a/framework/projects/Compress/deprecated-bugs.csv b/framework/projects/Compress/deprecated-bugs.csv index 90f7ed326..aab5d21db 100644 --- a/framework/projects/Compress/deprecated-bugs.csv +++ b/framework/projects/Compress/deprecated-bugs.csv @@ -1 +1 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/Csv/active-bugs.csv b/framework/projects/Csv/active-bugs.csv index 8e14350ac..c8a6c7427 100644 --- a/framework/projects/Csv/active-bugs.csv +++ b/framework/projects/Csv/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 1,0833f45bffd40f44ba6f294d84e9bac8a9ba0a37,de1838ea067f3fbc4c7c21b9eeae077c739ecb73,CSV-75,https://issues.apache.org/jira/browse/CSV-75 2,5744ee8a1698687fe4acc0c269cbbbb1e234b06d,a0d975933d6fe9eb5f359088de43508c1d3109bf,CSV-96,https://issues.apache.org/jira/browse/CSV-96 3,e31980892ce9873047db98ab8ef1b3259607b988,2c6120826245f89fedf2f936ab4a0c3edd8717f3,CSV-58,https://issues.apache.org/jira/browse/CSV-58 diff --git a/framework/projects/Csv/deprecated-bugs.csv b/framework/projects/Csv/deprecated-bugs.csv index 90f7ed326..aab5d21db 100644 --- a/framework/projects/Csv/deprecated-bugs.csv +++ b/framework/projects/Csv/deprecated-bugs.csv @@ -1 +1 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/Gson/active-bugs.csv b/framework/projects/Gson/active-bugs.csv index df449d81d..6b7506ce1 100644 --- a/framework/projects/Gson/active-bugs.csv +++ b/framework/projects/Gson/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 1,4413c299ea09c57b94af8647eec901554c2f5c50,c6a4f55d1a9b191dbbd958c366091e567191ccab,40,https://github.com/google/gson/issues/40 2,10714ef0427536b679e9677f8417807e4cce017d,fe101c10bc3597d8e715a31d94d2cc0cc54b660f,719,https://github.com/google/gson/pull/719 3,9e5f86d10b3b3ff4ba0dfe7ba0722c9e640fcc20,64107353a37e623ed1f8fecb4422c24212cf6fe1,624,https://github.com/google/gson/issues/624 diff --git a/framework/projects/Gson/deprecated-bugs.csv b/framework/projects/Gson/deprecated-bugs.csv index 90f7ed326..aab5d21db 100644 --- a/framework/projects/Gson/deprecated-bugs.csv +++ b/framework/projects/Gson/deprecated-bugs.csv @@ -1 +1 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/JacksonCore/active-bugs.csv b/framework/projects/JacksonCore/active-bugs.csv index 3dd093eb5..8b5f959c8 100644 --- a/framework/projects/JacksonCore/active-bugs.csv +++ b/framework/projects/JacksonCore/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 1,a9e5c9f99bcc16d734251f682758004a3ecc3a1b,b40ac81d4a81736e2b7536b14db4ad070b598d2e,98,https://github.com/FasterXML/jackson-core/issues/98 2,098ece8564ed5d37f483c3bfb45be897ed8974cd,38d6e35d1f1a9b48193804925517500de8efee1f,105,https://github.com/FasterXML/jackson-core/issues/105 3,7ee38785ecdd2f5a56a41302d4482675ce0d7e68,911cca0254267decd90a4b6a9c0610549309a451,111,https://github.com/FasterXML/jackson-core/issues/111 diff --git a/framework/projects/JacksonCore/deprecated-bugs.csv b/framework/projects/JacksonCore/deprecated-bugs.csv index 90f7ed326..aab5d21db 100644 --- a/framework/projects/JacksonCore/deprecated-bugs.csv +++ b/framework/projects/JacksonCore/deprecated-bugs.csv @@ -1 +1 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/JacksonDatabind/active-bugs.csv b/framework/projects/JacksonDatabind/active-bugs.csv index d6585944a..d968b35bd 100644 --- a/framework/projects/JacksonDatabind/active-bugs.csv +++ b/framework/projects/JacksonDatabind/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 1,a1bb6f2dcb82eb9f880f87c480d6086a8e0bee34,88f44d87d4c2251d7cf55d9aa9c3452a397ae19b,223,https://github.com/FasterXML/jackson-databind/issues/223 2,01797b0794ac384f5f5ef49cc0cfab8347ae7930,9c5fec2302237ede0e797c13c0663a6bb52c798c,467,https://github.com/FasterXML/jackson-databind/issues/467 3,fd9b65dc45657bb7cd236df5396b901f36469c76,fa1d99255915f21c868f28307fd6e3adb2029ea0,479,https://github.com/FasterXML/jackson-databind/issues/479 diff --git a/framework/projects/JacksonDatabind/deprecated-bugs.csv b/framework/projects/JacksonDatabind/deprecated-bugs.csv index 90f7ed326..aab5d21db 100644 --- a/framework/projects/JacksonDatabind/deprecated-bugs.csv +++ b/framework/projects/JacksonDatabind/deprecated-bugs.csv @@ -1 +1 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/JacksonXml/active-bugs.csv b/framework/projects/JacksonXml/active-bugs.csv index 94b113c19..c14cd7a1a 100644 --- a/framework/projects/JacksonXml/active-bugs.csv +++ b/framework/projects/JacksonXml/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 1,81f38e1985bdfafdbe02e32dfb5ccb200fc64eae,2d7683ed820116b77cba9b4b290cd7ce7dfa5cf4,180,https://github.com/FasterXML/jackson-dataformat-xml/issues/180 2,a96d27d4c74707965b257b6ecced4d337357545e,37eb331acce08142ad027f127c355f9b462fe9e0,196,https://github.com/FasterXML/jackson-dataformat-xml/issues/196 3,23ab583c46a6a20b0c1232ebb91b16d4058c7502,79a4b57f2bbe08ce46e6dabb0a8b76f4a787141c,204,https://github.com/FasterXML/jackson-dataformat-xml/issues/204 diff --git a/framework/projects/JacksonXml/deprecated-bugs.csv b/framework/projects/JacksonXml/deprecated-bugs.csv index 90f7ed326..aab5d21db 100644 --- a/framework/projects/JacksonXml/deprecated-bugs.csv +++ b/framework/projects/JacksonXml/deprecated-bugs.csv @@ -1 +1 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/Jsoup/active-bugs.csv b/framework/projects/Jsoup/active-bugs.csv index ead8d6b7a..5096d537c 100644 --- a/framework/projects/Jsoup/active-bugs.csv +++ b/framework/projects/Jsoup/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 1,77add7946ea5bca622b1f4f654f97e62f6db1e95,27a52f90a25699bebe23ff1ff94d6db361fdb11d,23,https://github.com/jhy/jsoup/issues/23 2,27a52f90a25699bebe23ff1ff94d6db361fdb11d,bb4ead7c350695c1ed3c52d028090da4d4cecd1e,22,https://github.com/jhy/jsoup/issues/22 3,5599adfa2bd30d9784c1eed07b24a31f458f0a58,0081d162cca8ad23b500b53799195fec644f261b,21,https://github.com/jhy/jsoup/issues/21 diff --git a/framework/projects/Jsoup/deprecated-bugs.csv b/framework/projects/Jsoup/deprecated-bugs.csv index 90f7ed326..aab5d21db 100644 --- a/framework/projects/Jsoup/deprecated-bugs.csv +++ b/framework/projects/Jsoup/deprecated-bugs.csv @@ -1 +1 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/JxPath/active-bugs.csv b/framework/projects/JxPath/active-bugs.csv index 7e14302fd..b3b367e0d 100644 --- a/framework/projects/JxPath/active-bugs.csv +++ b/framework/projects/JxPath/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 1,932131e698e669cd7e0743a6999eab455f9de6b0,fab38abb27f2f92b9340cfc232eb5517434bf138,JXPATH-12,https://issues.apache.org/jira/browse/JXPATH-12 2,5eb29ba7901ab88e8388095a8696c4ae13a2c163,716c03b3b12ec106974898451b149f6eb79c65da,JXPATH-50,https://issues.apache.org/jira/browse/JXPATH-50 3,34e73b6483b08da2d793eb613520e23c3d6afeb1,984778f3c264df5d608eb9697df2a268122ac66f,JXPATH-68,https://issues.apache.org/jira/browse/JXPATH-68 diff --git a/framework/projects/JxPath/deprecated-bugs.csv b/framework/projects/JxPath/deprecated-bugs.csv index 90f7ed326..aab5d21db 100644 --- a/framework/projects/JxPath/deprecated-bugs.csv +++ b/framework/projects/JxPath/deprecated-bugs.csv @@ -1 +1 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/Lang/active-bugs.csv b/framework/projects/Lang/active-bugs.csv index dad34fb70..6c7fd2f31 100644 --- a/framework/projects/Lang/active-bugs.csv +++ b/framework/projects/Lang/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 1,2c454a4ce3fe771098746879b166ede2284b94f4,687b2e62b7c6e81cd9d5c872b7fa9cc8fd3f1509,LANG-747,https://issues.apache.org/jira/browse/LANG-747 3,1f001d06a2bde5ee4e3204ab38c4b1db8e95db0b,2c9c8753165dc7ce5dd1d5a6d741b445b33302c2,LANG-693,https://issues.apache.org/jira/browse/LANG-693 4,4ddbd99c5805781bd3c2287ab7920fecc23dab53,fb47b96ab635d7cc6e9edefdddc46f1baf63b117,LANG-882,https://issues.apache.org/jira/browse/LANG-882 diff --git a/framework/projects/Lang/deprecated-bugs.csv b/framework/projects/Lang/deprecated-bugs.csv index b0a438bd1..13bb0c6fe 100644 --- a/framework/projects/Lang/deprecated-bugs.csv +++ b/framework/projects/Lang/deprecated-bugs.csv @@ -1,2 +1,2 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason -2,aefc12c38171e1a84a90dc26e51b2c7aa111fdee,09d39029b16dee61022dc8afde4d84f523f37813,LANG-879,https://issues.apache.org/jira/browse/LANG-879,2.0.0,JVM8_Not_Reproducible +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +2,aefc12c38171e1a84a90dc26e51b2c7aa111fdee,09d39029b16dee61022dc8afde4d84f523f37813,LANG-879,https://issues.apache.org/jira/browse/LANG-879,2.0.0,JVM8.Not.Reproducible diff --git a/framework/projects/Math/active-bugs.csv b/framework/projects/Math/active-bugs.csv index 4ee131ab6..9bfc67b2a 100644 --- a/framework/projects/Math/active-bugs.csv +++ b/framework/projects/Math/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 1,1780da711d88f669e29e0517f83d692fb80099db,0da657a65c92b086a301a6ffe9e34ec272f8889c,MATH-996,https://issues.apache.org/jira/browse/MATH-996 2,ad5c90bbabdbce834068bc79d3eb00c823e97008,c0b655ace5665c0cd32e3f5e5b46edad4d223125,MATH-1021,https://issues.apache.org/jira/browse/MATH-1021 3,de4209544270def43e39db0d214d1564939f8e40,92c4697300e8ddf06152bc0838c738d50673c1d2,MATH-1005,https://issues.apache.org/jira/browse/MATH-1005 diff --git a/framework/projects/Math/deprecated-bugs.csv b/framework/projects/Math/deprecated-bugs.csv index 90f7ed326..aab5d21db 100644 --- a/framework/projects/Math/deprecated-bugs.csv +++ b/framework/projects/Math/deprecated-bugs.csv @@ -1 +1 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/Mockito/active-bugs.csv b/framework/projects/Mockito/active-bugs.csv index eab6a1285..66b035523 100644 --- a/framework/projects/Mockito/active-bugs.csv +++ b/framework/projects/Mockito/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 1,837fd054a0da2c8706732dcd4bc880a64b957c78,4e9d7607825c3c668fd43f19507bfead566c528c,188,https://github.com/mockito/mockito/issues/188 2,d30450fa1172d79cc051b2fe8064744c2ac7a003,80452c7a42777513c35fd30c4e12bcd7ee438fb9,197,https://github.com/mockito/mockito/issues/197 3,4e9d7607825c3c668fd43f19507bfead566c528c,3eec7451d6c83c280743c39b39c77a179abb30f9,188,https://github.com/mockito/mockito/issues/188 diff --git a/framework/projects/Mockito/deprecated-bugs.csv b/framework/projects/Mockito/deprecated-bugs.csv index 90f7ed326..aab5d21db 100644 --- a/framework/projects/Mockito/deprecated-bugs.csv +++ b/framework/projects/Mockito/deprecated-bugs.csv @@ -1 +1 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/Time/active-bugs.csv b/framework/projects/Time/active-bugs.csv index 3845c4096..5f0a66d12 100644 --- a/framework/projects/Time/active-bugs.csv +++ b/framework/projects/Time/active-bugs.csv @@ -1,4 +1,4 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url +bug.id,revision.buggy,revision.fixed,report.id,report.url 1,8612f9e5b88c1bea933ef9ab1e431f5db3006b48,9a62b06be5d0df8e833ff8583398cca386608cac,93,https://github.com/JodaOrg/joda-time/issues/93 2,8d109fe1a999a11b4557536dd96f9210460a5936,8612f9e5b88c1bea933ef9ab1e431f5db3006b48,93,https://github.com/JodaOrg/joda-time/issues/93 3,3ba9ba799b3261b7332a467a88be142c83b298fd,8d109fe1a999a11b4557536dd96f9210460a5936,77,https://github.com/JodaOrg/joda-time/issues/77 diff --git a/framework/projects/Time/deprecated-bugs.csv b/framework/projects/Time/deprecated-bugs.csv index 72b2ac76d..83f6f9bb4 100644 --- a/framework/projects/Time/deprecated-bugs.csv +++ b/framework/projects/Time/deprecated-bugs.csv @@ -1,2 +1,2 @@ -bug_id,revision_id_buggy,revision_id_fixed,bug_report_id,bug_report_url,deprecated_version,deprecated_reason -21,c5a5190e19c062405ae4825c36e2172ae64202fb,0973b46039c4db0be3a969d36c220dee1e1fb4da,122,https://sourceforge.net/p/joda-time/bugs/122,2.0.0,JVM8_Not_Reproducible +bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +21,c5a5190e19c062405ae4825c36e2172ae64202fb,0973b46039c4db0be3a969d36c220dee1e1fb4da,122,https://sourceforge.net/p/joda-time/bugs/122,2.0.0,JVM8.Not.Reproducible diff --git a/framework/test/resources/output/d4j-query/1 b/framework/test/resources/output/d4j-query/1 index 5cb91807f..a765c7c6c 100644 --- a/framework/test/resources/output/d4j-query/1 +++ b/framework/test/resources/output/d4j-query/1 @@ -1 +1 @@ -Available fields: bug_id, revision_id_buggy, revision_id_fixed, bug_report_id, bug_report_url, deprecated_version, deprecated_reason, loaded_classes_src, loaded_classes_test, modified_classes, relevant_tests, trigger_tests +Available fields: bug.id, revision.buggy, revision.fixed, report.id, report.url, deprecated.version, deprecated.reason, classes.relevant.src, classes.relevant.test, classes.modified, tests.relevant, tests.trigger diff --git a/framework/test/resources/output/d4j-query/6 b/framework/test/resources/output/d4j-query/6 index 3c5462de6..ea74a3b30 100644 --- a/framework/test/resources/output/d4j-query/6 +++ b/framework/test/resources/output/d4j-query/6 @@ -1,27 +1,27 @@ -1,JVM8_Does_Not_Compile -2,JVM8_Does_Not_Compile -3,JVM8_Does_Not_Compile -4,JVM8_Does_Not_Compile -5,JVM8_Does_Not_Compile -6,JVM8_Does_Not_Compile -7,JVM8_Does_Not_Compile -8,JVM8_Does_Not_Compile -9,JVM8_Does_Not_Compile -10,JVM8_Does_Not_Compile -11,JVM8_Does_Not_Compile -12,JVM8_Does_Not_Compile -13,JVM8_Does_Not_Compile -14,JVM8_Does_Not_Compile -15,JVM8_Does_Not_Compile -16,JVM8_Does_Not_Compile -17,JVM8_Does_Not_Compile -18,JVM8_Does_Not_Compile -19,JVM8_Does_Not_Compile -20,JVM8_Does_Not_Compile -21,JVM8_Does_Not_Compile -22,JVM8_Does_Not_Compile -23,JVM8_Does_Not_Compile -24,JVM8_Does_Not_Compile +1,JVM8.Does.Not.Compile +2,JVM8.Does.Not.Compile +3,JVM8.Does.Not.Compile +4,JVM8.Does.Not.Compile +5,JVM8.Does.Not.Compile +6,JVM8.Does.Not.Compile +7,JVM8.Does.Not.Compile +8,JVM8.Does.Not.Compile +9,JVM8.Does.Not.Compile +10,JVM8.Does.Not.Compile +11,JVM8.Does.Not.Compile +12,JVM8.Does.Not.Compile +13,JVM8.Does.Not.Compile +14,JVM8.Does.Not.Compile +15,JVM8.Does.Not.Compile +16,JVM8.Does.Not.Compile +17,JVM8.Does.Not.Compile +18,JVM8.Does.Not.Compile +19,JVM8.Does.Not.Compile +20,JVM8.Does.Not.Compile +21,JVM8.Does.Not.Compile +22,JVM8.Does.Not.Compile +23,JVM8.Does.Not.Compile +24,JVM8.Does.Not.Compile 25,NA 26,NA 27,NA diff --git a/framework/test/test_d4j_query.sh b/framework/test/test_d4j_query.sh index ca53cb116..e1a4d5232 100755 --- a/framework/test/test_d4j_query.sh +++ b/framework/test/test_d4j_query.sh @@ -22,30 +22,30 @@ result=`diff $HERE/temp $HERE/resources/output/d4j-query/2` rm $HERE"/temp" -$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision_id_buggy,modified_classes" >> $HERE"/temp" +$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision.buggy,classes.modified" >> $HERE"/temp" result=`diff $HERE/temp $HERE/resources/output/d4j-query/3` -[ "$result" == "" ] || die "query \"-p Collections -q \"revision_id_buggy,modified_classes\"\" failed: $result" +[ "$result" == "" ] || die "query \"-p Collections -q \"revision.buggy,classes.modified\"\" failed: $result" rm $HERE"/temp" -$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision_id_buggy,modified_classes" -d >> $HERE"/temp" +$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision.buggy,classes.modified" -d >> $HERE"/temp" result=`diff $HERE/temp $HERE/resources/output/d4j-query/4` -[ "$result" == "" ] || die "query \"-p Collections -q \"revision_id_buggy,modified_classes\" -d\" failed: $result" +[ "$result" == "" ] || die "query \"-p Collections -q \"revision.buggy,classes.modified\" -d\" failed: $result" rm $HERE"/temp" -$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision_id_buggy,modified_classes" -a >> $HERE"/temp" +$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision.buggy,classes.modified" -a >> $HERE"/temp" result=`diff $HERE/temp $HERE/resources/output/d4j-query/5` -[ "$result" == "" ] || die "query \"-p Collections -q \"revision_id_buggy,modified_classes\" -a\" failed: $result" +[ "$result" == "" ] || die "query \"-p Collections -q \"revision.buggy,classes.modified\" -a\" failed: $result" rm $HERE"/temp" -$BASE_DIR/framework/bin/defects4j query -p Collections -q "deprecated_reason" -a >> $HERE"/temp" +$BASE_DIR/framework/bin/defects4j query -p Collections -q "deprecated.reason" -a >> $HERE"/temp" result=`diff $HERE/temp $HERE/resources/output/d4j-query/6` -[ "$result" == "" ] || die "query \"-p Collections -q \"deprecated_reason\" -a\" failed: $result" +[ "$result" == "" ] || die "query \"-p Collections -q \"deprecated.reason\" -a\" failed: $result" rm $HERE"/temp" From eec8eda8892f575d0cec2028b8d51610eb1285d4 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Wed, 29 Apr 2020 11:07:30 +0200 Subject: [PATCH 22/35] Adds d4j-bugs shortcut command --- README.md | 1 + framework/bin/d4j/d4j-bugs | 99 ++++++++++++++++++++++++++++++++++++++ framework/bin/defects4j | 9 ++++ 3 files changed, 109 insertions(+) create mode 100755 framework/bin/d4j/d4j-bugs diff --git a/README.md b/README.md index 573010d81..d2adab135 100644 --- a/README.md +++ b/README.md @@ -142,6 +142,7 @@ Use [`framework/bin/defects4j`](http://defects4j.org/html_doc/defects4j.html) to | [checkout](http://defects4j.org/html_doc/d4j/d4j-checkout.html) | Checkout a buggy or a fixed project version | | [compile](http://defects4j.org/html_doc/d4j/d4j-compile.html) | Compile sources and developer-written tests of a buggy or a fixed project version | | [test](http://defects4j.org/html_doc/d4j/d4j-test.html) | Run a single test method or a test suite on a buggy or a fixed project version | +| [bugs](http://defects4j.org/html_doc/d4j/d4j-bugs.html) | Print the list of active bug IDs for a specific project | | [mutation](http://defects4j.org/html_doc/d4j/d4j-mutation.html) | Run mutation analysis on a buggy or a fixed project version | | [coverage](http://defects4j.org/html_doc/d4j/d4j-coverage.html) | Run code coverage analysis on a buggy or a fixed project version | | [monitor.test](http://defects4j.org/html_doc/d4j/d4j-monitor.test.html) | Monitor the class loader during the execution of a single test or a test suite | diff --git a/framework/bin/d4j/d4j-bugs b/framework/bin/d4j/d4j-bugs new file mode 100755 index 000000000..144030827 --- /dev/null +++ b/framework/bin/d4j/d4j-bugs @@ -0,0 +1,99 @@ +#------------------------------------------------------------------------------- +# Copyright (c) 2014-2019 René Just, Darioush Jalali, and Defects4J contributors. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +#------------------------------------------------------------------------------- + +=pod + +=head1 NAME + +d4j-bugs -- Lists all bug IDs for a project + +=head1 SYNOPSIS + + d4j-bugs -p project_id [-d] [-a] + +=head1 DESCRIPTION + +This script is a high level shortcut intended to give developers access +to a list of bug IDs for a chosen project. By default, the list of +available active bug IDs is returned. + +=head1 OPTIONS + +=over 4 + +=item -p C + +The ID of the project for which metadata is requested. A project ID +must be provided to use this utility. + +=item -d + +Include only deprecated bugs. By default, only active bugs are listed. + +=item -a + +Include both active and deprecated bugs. By default, only active bugs +are listed. + +=back + +=cut + +use strict; +use warnings; + +use Constants; +use Utils; +use Project; +use Getopt::Std; + +# +# Issue usage message and quit +# +sub _usage { + print "usage: $0 -p project_id [-d] [-a]\n"; + exit 1; +} + +# Process command line options +my %cmd_opts; +getopts('p:da', \%cmd_opts) or _usage(); + +_usage() unless defined $cmd_opts{p}; + +my $PID = $cmd_opts{p}; +my $ONLY_DEP = defined $cmd_opts{d} ? 1 : 0; +my $ALL_BUGS = defined $cmd_opts{a} ? 1 : 0; + +if ($ONLY_DEP and $ALL_BUGS) { + die "Only dependencies (-d) and all bugs (-a) cannot be concurrently set."; +} + +if ($ALL_BUGS) { + system('../defects4j','query','-p',$PID,'-a'); +} elsif ($ONLY_DEP) { + system('../defects4j','query','-p',$PID,'-d'); +} else { + system('../defects4j','query','-p',$PID); +} + +1; diff --git a/framework/bin/defects4j b/framework/bin/defects4j index d90589c0f..7be8fb141 100755 --- a/framework/bin/defects4j +++ b/framework/bin/defects4j @@ -138,6 +138,15 @@ query the metadata for a particular project for automation purposes. =cut $cmd_descr{query}="query the metadata for a particular project for automation purposes"; +=pod + +=item * L|d4j::d4j-bugs/> + +print all active bug IDs for a project. + +=cut +$cmd_descr{bugs}="print all active bug IDs for a project"; + # # Issue usage message and quit # From 4a7e3ccc71caac48a69445f24e00ae47de5f00fc Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Wed, 29 Apr 2020 14:46:05 +0200 Subject: [PATCH 23/35] Utils correctly handles header in active-bugs.csv now --- framework/core/Utils.pm | 1 + 1 file changed, 1 insertion(+) diff --git a/framework/core/Utils.pm b/framework/core/Utils.pm index 9211505a0..09a44ca72 100644 --- a/framework/core/Utils.pm +++ b/framework/core/Utils.pm @@ -276,6 +276,7 @@ sub bug_report_info { my $commit_db = "$PROJECTS_DIR/$pid/$BUGS_CSV_ACTIVE"; open (IN, "<$commit_db") or die "Cannot open $commit_db file: $!"; + my $header = ; while () { chomp; /([^,]+),[^,]+,[^,]+,(.+),(.+)/ or next; From 847f71976fcc00cce8bfa0e27fa754df5e4346fc Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Thu, 30 Apr 2020 10:31:21 +0200 Subject: [PATCH 24/35] d4j-query now offers all information surfaced in d4j-info --- README.md | 9 +++ framework/bin/d4j/d4j-query | 118 ++++++++++++++++++++++++++++++++---- framework/core/Constants.pm | 18 ++++++ 3 files changed, 134 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index d2adab135..3f08d4b94 100644 --- a/README.md +++ b/README.md @@ -177,15 +177,24 @@ a CSV file containing the requested metadata for each bug in a project: | Property | Description | |-----------------------|-------------------------------------------------------------------------------------| | bug.id | Assigned bug IDs (included in all results) | +| project.id | Assigned project ID | +| project.name | Original repository name | | revision.id.buggy | Commit hashes for the buggy version of each bug | | revision.id.fixed | Commit hashes for the fixed version of each bug | +| revision.buggy.date | Date of the buggy commit for each bug | +| revision.fixed.date | Date of the fixed commit for each bug | | report.id | Bug report ID from the version tracker for each bug | | report.url | Bug report URL from the version tracker for each bug | +| build.file | Location of the Defects4J build file for the project | +| vcs | Version control system used by the project | +| repository | Location of the project repository | +| commit.db | Location of the CSV containing information on that bug | | classes.modified | Classes modified by the bug fix | | classes.relevant.src | Source classes loaded by the JVM when executing all triggering tests | | classes.relevant.test | Test classes loaded by the JVM when executing all triggering tests | | tests.relevant | List of relevant tests classes (a test class is relevant if, when executed, the JVM loads at least one of the modified classes) | | tests.trigger | List of test methods that trigger (expose) the bug | +| tests.trigger.cause | List of test methods that trigger (expose) the bug, along with the root cause | | deprecated.version | (for deprecated bugs only) Version of Defects4J where a bug was deprecated | | deprecated.reason | (for deprecated bugs only) Reason for deprecation | diff --git a/framework/bin/d4j/d4j-query b/framework/bin/d4j/d4j-query index da1970afd..d46f7ca32 100755 --- a/framework/bin/d4j/d4j-query +++ b/framework/bin/d4j/d4j-query @@ -28,7 +28,7 @@ d4j-query -- query the metadata for a project to obtain CSV-formatted results. =head1 SYNOPSIS - d4j-query -p project_id [-q query] [-h] [-d] [-a] + d4j-query -p project_id [-q query] [-o output_file] [-h] [-d] [-a] =head1 DESCRIPTION @@ -52,6 +52,10 @@ A comma-separated list of fields, encased in quotation marks. For example, C<-q "bug.id,report.id"> returns the list of bug IDs and issue tracker IDs for the requested system. +=item -o C + +A file to output the extracted CSV to. By default, prints to the screen. + =item -h List the available fields. @@ -198,28 +202,39 @@ sub _read_class_list { # # Reads in a list of tests and stack traces (trigger/failing tests) # and returns the results as a single string, associated with -# the requested bug IDs. +# the requested bug IDs. The first argument determines whether +# the root cause is included or not. # sub _read_stack_traces { - my ($base_dir, @bugs) = @_; + my ($include_root, $base_dir, @bugs) = @_; my %results; foreach my $bug_id (@bugs) { my $filename = "$PROJECTS_DIR/$base_dir/$bug_id"; open (IN, "<$filename") or die "Cannot open $filename"; my $list = ""; + my $cause = 0; # Read contents of file while (my $line = ) { chomp $line; - if (grep /--- /, $line) { - $line =~ s/--- //; + if (grep /^--- /, $line) { + $line =~ s/^--- //; if ($list eq "") { $list = $line; } else { $list = $list.";".$line; } + $cause = 1; + next; + } + if ($cause == 1){ + $cause = 0; + if ($include_root == 1){ + $line =~ s/\"//g; + $list = $list." --> $line"; + } } } close IN; @@ -234,16 +249,17 @@ sub _read_stack_traces { ########################################################## # All fields should be defined in Constants -my @ALL_FIELDS = ($BUGS_CSV_BUGID, $BUGS_CSV_COMMIT_BUGGY, $BUGS_CSV_COMMIT_FIXED, $BUGS_CSV_ISSUE_ID, $BUGS_CSV_ISSUE_URL, $BUGS_CSV_DEPRECATED_WHEN, $BUGS_CSV_DEPRECATED_WHY, $METADATA_LOADED_CLASSES_SRC, $METADATA_LOADED_CLASSES_TEST, $METADATA_MODIFIED_CLASSES, $METADATA_RELEVANT_TESTS, $METADATA_TRIGGER_TESTS); +my @ALL_FIELDS = ($BUGS_CSV_BUGID, $BUGS_CSV_COMMIT_BUGGY, $BUGS_CSV_COMMIT_FIXED, $BUGS_CSV_ISSUE_ID, $BUGS_CSV_ISSUE_URL, $BUGS_CSV_DEPRECATED_WHEN, $BUGS_CSV_DEPRECATED_WHY, $METADATA_LOADED_CLASSES_SRC, $METADATA_LOADED_CLASSES_TEST, $METADATA_MODIFIED_CLASSES, $METADATA_RELEVANT_TESTS, $METADATA_TRIGGER_TESTS, $METADATA_TRIGGER_CAUSE, $METADATA_PROJECT_ID, $METADATA_PROJECT_NAME, $METADATA_BUILD_FILE, $METADATA_VCS, $METADATA_REPOSITORY, $METADATA_COMMIT_DB, $METADATA_DATE_BUGGY, $METADATA_DATE_FIXED); # Process command line options my %cmd_opts; -getopts('p:q:hda', \%cmd_opts) or _usage(); +getopts('p:q:o:hda', \%cmd_opts) or _usage(); _usage() unless defined $cmd_opts{p}; my $PID = $cmd_opts{p}; my $QUERY = defined $cmd_opts{q} ? $cmd_opts{q} : $BUGS_CSV_BUGID; +my $OUTPUT_FILE = defined $cmd_opts{o} ? $cmd_opts{o} : "none"; my $ONLY_DEP = defined $cmd_opts{d} ? 1 : 0; my $ALL_BUGS = defined $cmd_opts{a} ? 1 : 0; my $ACTIVE_BUGS = "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE"; @@ -273,13 +289,29 @@ foreach my $field (@requested) { # First, get results from the active and deprecated-bugs CSV files. my %results; +my $project = Project::create_project($PID); +my @necessary = @requested; +push @necessary, $BUGS_CSV_COMMIT_BUGGY; +push @necessary, $BUGS_CSV_COMMIT_FIXED; if (!$ONLY_DEP or $ALL_BUGS) { - %results = _read_bug_csv($ACTIVE_BUGS, @requested); + %results = _read_bug_csv($ACTIVE_BUGS, @necessary); + + if (grep $_ eq $METADATA_COMMIT_DB, @requested) { + foreach my $bug_id (keys %results) { + $results{$bug_id}{$METADATA_COMMIT_DB} = $ACTIVE_BUGS; + } + } } if ($ONLY_DEP or $ALL_BUGS) { - my %dep_results = _read_bug_csv($DEPRECATED_BUGS, @requested); + my %dep_results = _read_bug_csv($DEPRECATED_BUGS, @necessary); + if (grep $_ eq $METADATA_COMMIT_DB, @requested) { + foreach my $bug_id (keys %dep_results) { + $dep_results{$bug_id}{$METADATA_COMMIT_DB} = $DEPRECATED_BUGS; + } + } + foreach my $bug_id (sort { $a <=> $b } keys %dep_results) { $results{$bug_id} = $dep_results{$bug_id}; } @@ -320,15 +352,71 @@ if (grep $_ eq $METADATA_RELEVANT_TESTS, @requested) { } if (grep $_ eq $METADATA_TRIGGER_TESTS, @requested) { - my %metadata = _read_stack_traces("$PID/trigger_tests", keys %results); + my %metadata = _read_stack_traces(0, "$PID/trigger_tests", keys %results); foreach my $bug_id (keys %metadata) { $results{$bug_id}{$METADATA_TRIGGER_TESTS} = $metadata{$bug_id}; } } +if (grep $_ eq $METADATA_TRIGGER_CAUSE, @requested) { + my %metadata = _read_stack_traces(1, "$PID/trigger_tests", keys %results); + + foreach my $bug_id (keys %metadata) { + $results{$bug_id}{$METADATA_TRIGGER_CAUSE} = $metadata{$bug_id}; + } +} + +if (grep $_ eq $METADATA_PROJECT_ID, @requested) { + foreach my $bug_id (keys %results) { + $results{$bug_id}{$METADATA_PROJECT_ID} = $PID; + } +} + +if (grep $_ eq $METADATA_PROJECT_NAME, @requested) { + foreach my $bug_id (keys %results) { + $results{$bug_id}{$METADATA_PROJECT_NAME} = $project->{prog_name}; + } +} + +if (grep $_ eq $METADATA_BUILD_FILE, @requested) { + foreach my $bug_id (keys %results) { + $results{$bug_id}{$METADATA_BUILD_FILE} = $PROJECTS_DIR."/".$PID."/".$PID.".build.xml"; + } +} + +if (grep $_ eq $METADATA_VCS, @requested) { + foreach my $bug_id (keys %results) { + $results{$bug_id}{$METADATA_VCS} = ref $project->{_vcs}; + } +} + +if (grep $_ eq $METADATA_REPOSITORY, @requested) { + foreach my $bug_id (keys %results) { + $results{$bug_id}{$METADATA_REPOSITORY} = $project->{_vcs}->{repo}; + } +} + +if (grep $_ eq $METADATA_DATE_BUGGY, @requested) { + foreach my $bug_id (keys %results) { + $results{$bug_id}{$METADATA_DATE_BUGGY} = $project->{_vcs}->rev_date($results{$bug_id}{$BUGS_CSV_COMMIT_BUGGY}); + } +} + +if (grep $_ eq $METADATA_DATE_FIXED, @requested) { + foreach my $bug_id (keys %results) { + $results{$bug_id}{$METADATA_DATE_FIXED} = $project->{_vcs}->rev_date($results{$bug_id}{$BUGS_CSV_COMMIT_FIXED}); + } +} + # Print the results in CSV format +my $file; + +if ($OUTPUT_FILE ne "none") { + open($file, '>', $OUTPUT_FILE) or die "Could not open file '$OUTPUT_FILE' $!"; +} + foreach my $bug_id (sort { $a <=> $b } keys %results) { my $output = $bug_id; foreach my $field (@requested) { @@ -336,7 +424,15 @@ foreach my $bug_id (sort { $a <=> $b } keys %results) { $output = $output.",".$results{$bug_id}{$field}; } } - print "$output\n"; + if ($OUTPUT_FILE eq "none") { + print "$output\n"; + } else { + print $file "$output\n"; + } +} + +if ($OUTPUT_FILE ne "none") { + close $file; } 1; diff --git a/framework/core/Constants.pm b/framework/core/Constants.pm index 1b070aa5e..eb702ed1f 100644 --- a/framework/core/Constants.pm +++ b/framework/core/Constants.pm @@ -286,11 +286,20 @@ our $DEPRECATED_JVM8_REPRO = "JVM8.Not.Reproducible"; our $DEPRECATED_JVM8_COMPILE = "JVM8.Does.Not.Compile"; # Additional metadata fields that can be queried by d4j-query +our $METADATA_PROJECT_ID = "project.id"; +our $METADATA_PROJECT_NAME = "project.name"; +our $METADATA_BUILD_FILE = "build.file"; +our $METADATA_VCS = "vcs"; +our $METADATA_REPOSITORY = "repository"; our $METADATA_LOADED_CLASSES_SRC = "classes.relevant.src"; our $METADATA_LOADED_CLASSES_TEST = "classes.relevant.test"; our $METADATA_MODIFIED_CLASSES = "classes.modified"; our $METADATA_RELEVANT_TESTS = "tests.relevant"; our $METADATA_TRIGGER_TESTS = "tests.trigger"; +our $METADATA_TRIGGER_CAUSE = "tests.trigger.cause"; +our $METADATA_COMMIT_DB = "commit.db"; +our $METADATA_DATE_BUGGY = "revision.buggy.date"; +our $METADATA_DATE_FIXED = "revision.fixed.date"; # Filenames for test results our $FILE_ALL_TESTS = "all_tests"; @@ -361,6 +370,15 @@ $METADATA_LOADED_CLASSES_TEST $METADATA_MODIFIED_CLASSES $METADATA_RELEVANT_TESTS $METADATA_TRIGGER_TESTS +$METADATA_TRIGGER_CAUSE +$METADATA_PROJECT_ID +$METADATA_PROJECT_NAME +$METADATA_BUILD_FILE +$METADATA_VCS +$METADATA_REPOSITORY +$METADATA_COMMIT_DB +$METADATA_DATE_BUGGY +$METADATA_DATE_FIXED $FILE_ALL_TESTS $FILE_FAILING_TESTS From 7077628e3bcff11982d674bfe80d7ecf41abbbfa Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Thu, 30 Apr 2020 14:39:04 +0200 Subject: [PATCH 25/35] Clarifying README --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3f08d4b94..30645b0ed 100644 --- a/README.md +++ b/README.md @@ -172,7 +172,14 @@ directory to export a version-specific property: Export project-specific metadata -------------------------------- Use `defects4j query -p -q [-d] [-a]` to generate -a CSV file containing the requested metadata for each bug in a project: +a CSV file containing a set of requested metadata for each bug in a project. + +By default, `defects4j query` returns a list of active bug IDs for a project. +To request specific metadata, the `-q` flag should be provided with a +comma-separated list of variables from the list below. For example, +`defects4j query -p Chart -q "report.id,report.url" will provide the a list of +all active bug IDs, along with the bug report ID and bug report URL for each. + | Property | Description | |-----------------------|-------------------------------------------------------------------------------------| From bf7e8f3542763a3b0d5621672e8803d78fca1687 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Thu, 30 Apr 2020 14:40:05 +0200 Subject: [PATCH 26/35] Clarifying README further --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 30645b0ed..9676065c5 100644 --- a/README.md +++ b/README.md @@ -171,8 +171,9 @@ directory to export a version-specific property: Export project-specific metadata -------------------------------- -Use `defects4j query -p -q [-d] [-a]` to generate -a CSV file containing a set of requested metadata for each bug in a project. +Use `defects4j query -p -q [-o ] [-d] [-a]` +to generate a CSV file containing a set of requested metadata for each bug +in a project. By default, `defects4j query` returns a list of active bug IDs for a project. To request specific metadata, the `-q` flag should be provided with a From 1f1fac8894990118bff65499a9b378ddb4616180 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Mon, 29 Jun 2020 10:28:48 +0200 Subject: [PATCH 27/35] Refactoring variable names to be consistent --- README.md | 12 ++++++------ framework/core/Constants.pm | 16 ++++++++-------- framework/projects/Chart/active-bugs.csv | 2 +- framework/projects/Chart/deprecated-bugs.csv | 2 +- framework/projects/Cli/active-bugs.csv | 2 +- framework/projects/Cli/deprecated-bugs.csv | 2 +- framework/projects/Closure/active-bugs.csv | 2 +- framework/projects/Closure/deprecated-bugs.csv | 2 +- framework/projects/Codec/active-bugs.csv | 2 +- framework/projects/Codec/deprecated-bugs.csv | 2 +- framework/projects/Collections/active-bugs.csv | 2 +- .../projects/Collections/deprecated-bugs.csv | 2 +- framework/projects/Compress/active-bugs.csv | 2 +- framework/projects/Compress/deprecated-bugs.csv | 2 +- framework/projects/Csv/active-bugs.csv | 2 +- framework/projects/Csv/deprecated-bugs.csv | 2 +- framework/projects/Gson/active-bugs.csv | 2 +- framework/projects/Gson/deprecated-bugs.csv | 2 +- framework/projects/JacksonCore/active-bugs.csv | 2 +- .../projects/JacksonCore/deprecated-bugs.csv | 2 +- .../projects/JacksonDatabind/active-bugs.csv | 2 +- .../projects/JacksonDatabind/deprecated-bugs.csv | 2 +- framework/projects/JacksonXml/active-bugs.csv | 2 +- .../projects/JacksonXml/deprecated-bugs.csv | 2 +- framework/projects/Jsoup/active-bugs.csv | 2 +- framework/projects/Jsoup/deprecated-bugs.csv | 2 +- framework/projects/JxPath/active-bugs.csv | 2 +- framework/projects/JxPath/deprecated-bugs.csv | 2 +- framework/projects/Lang/active-bugs.csv | 2 +- framework/projects/Lang/deprecated-bugs.csv | 2 +- framework/projects/Math/active-bugs.csv | 2 +- framework/projects/Math/deprecated-bugs.csv | 2 +- framework/projects/Mockito/active-bugs.csv | 2 +- framework/projects/Mockito/deprecated-bugs.csv | 2 +- framework/projects/Time/active-bugs.csv | 2 +- framework/projects/Time/deprecated-bugs.csv | 2 +- framework/test/resources/output/d4j-query/1 | 2 +- framework/test/test_d4j_query.sh | 12 ++++++------ 38 files changed, 55 insertions(+), 55 deletions(-) diff --git a/README.md b/README.md index 9676065c5..5c2e3664b 100644 --- a/README.md +++ b/README.md @@ -187,16 +187,16 @@ all active bug IDs, along with the bug report ID and bug report URL for each. | bug.id | Assigned bug IDs (included in all results) | | project.id | Assigned project ID | | project.name | Original repository name | +| project.build.file | Location of the Defects4J build file for the project | +| project.vcs | Version control system used by the project | +| project.repository | Location of the project repository | +| project.commit.db | Location of the CSV containing information on that bug | | revision.id.buggy | Commit hashes for the buggy version of each bug | | revision.id.fixed | Commit hashes for the fixed version of each bug | -| revision.buggy.date | Date of the buggy commit for each bug | -| revision.fixed.date | Date of the fixed commit for each bug | +| revision.date.buggy | Date of the buggy commit for each bug | +| revision.date.fixed | Date of the fixed commit for each bug | | report.id | Bug report ID from the version tracker for each bug | | report.url | Bug report URL from the version tracker for each bug | -| build.file | Location of the Defects4J build file for the project | -| vcs | Version control system used by the project | -| repository | Location of the project repository | -| commit.db | Location of the CSV containing information on that bug | | classes.modified | Classes modified by the bug fix | | classes.relevant.src | Source classes loaded by the JVM when executing all triggering tests | | classes.relevant.test | Test classes loaded by the JVM when executing all triggering tests | diff --git a/framework/core/Constants.pm b/framework/core/Constants.pm index eb702ed1f..e1874ccb3 100644 --- a/framework/core/Constants.pm +++ b/framework/core/Constants.pm @@ -273,8 +273,8 @@ our $BUGS_CSV_DEPRECATED = "deprecated-bugs.csv"; # Columns in active-bugs and deprecated-bugs csvs our $BUGS_CSV_BUGID = "bug.id"; -our $BUGS_CSV_COMMIT_BUGGY = "revision.buggy"; -our $BUGS_CSV_COMMIT_FIXED = "revision.fixed"; +our $BUGS_CSV_COMMIT_BUGGY = "revision.id.buggy"; +our $BUGS_CSV_COMMIT_FIXED = "revision.id.fixed"; our $BUGS_CSV_ISSUE_ID = "report.id"; our $BUGS_CSV_ISSUE_URL = "report.url"; our $BUGS_CSV_DEPRECATED_WHEN = "deprecated.version"; @@ -288,18 +288,18 @@ our $DEPRECATED_JVM8_COMPILE = "JVM8.Does.Not.Compile"; # Additional metadata fields that can be queried by d4j-query our $METADATA_PROJECT_ID = "project.id"; our $METADATA_PROJECT_NAME = "project.name"; -our $METADATA_BUILD_FILE = "build.file"; -our $METADATA_VCS = "vcs"; -our $METADATA_REPOSITORY = "repository"; +our $METADATA_BUILD_FILE = "project.build.file"; +our $METADATA_VCS = "project.vcs"; +our $METADATA_REPOSITORY = "project.repository"; +our $METADATA_COMMIT_DB = "project.commit.db"; our $METADATA_LOADED_CLASSES_SRC = "classes.relevant.src"; our $METADATA_LOADED_CLASSES_TEST = "classes.relevant.test"; our $METADATA_MODIFIED_CLASSES = "classes.modified"; our $METADATA_RELEVANT_TESTS = "tests.relevant"; our $METADATA_TRIGGER_TESTS = "tests.trigger"; our $METADATA_TRIGGER_CAUSE = "tests.trigger.cause"; -our $METADATA_COMMIT_DB = "commit.db"; -our $METADATA_DATE_BUGGY = "revision.buggy.date"; -our $METADATA_DATE_FIXED = "revision.fixed.date"; +our $METADATA_DATE_BUGGY = "revision.date.buggy"; +our $METADATA_DATE_FIXED = "revision.date.fixed"; # Filenames for test results our $FILE_ALL_TESTS = "all_tests"; diff --git a/framework/projects/Chart/active-bugs.csv b/framework/projects/Chart/active-bugs.csv index ba0d15685..091a4075d 100644 --- a/framework/projects/Chart/active-bugs.csv +++ b/framework/projects/Chart/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 1,2264,2266,983,https://sourceforge.net/p/jfreechart/bugs/983 2,2240,2242,959,https://sourceforge.net/p/jfreechart/bugs/959 3,2225,2227,UNKNOWN,UNKNOWN diff --git a/framework/projects/Chart/deprecated-bugs.csv b/framework/projects/Chart/deprecated-bugs.csv index aab5d21db..c66e4b06e 100644 --- a/framework/projects/Chart/deprecated-bugs.csv +++ b/framework/projects/Chart/deprecated-bugs.csv @@ -1 +1 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/Cli/active-bugs.csv b/framework/projects/Cli/active-bugs.csv index e03010b8a..4a585d121 100644 --- a/framework/projects/Cli/active-bugs.csv +++ b/framework/projects/Cli/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 1,8f46f467a33ace44ccd9f394910940b6c48a3827,b0e1b80b6d4a10a9c9f46539bc4c7a3cce55886e,CLI-13,https://issues.apache.org/jira/browse/CLI-13 2,b0e1b80b6d4a10a9c9f46539bc4c7a3cce55886e,2ff9573ffb08dd52ec3a55a49f2d77a1e94efbdf,CLI-51,https://issues.apache.org/jira/browse/CLI-51 3,85248e8ae52232ed75c2b4c52d4071bdf192db37,d35f2fa7a06457469a617677eeb4c1dc21484006,cli-1,https://issues.apache.org/jira/browse/CLI-1 diff --git a/framework/projects/Cli/deprecated-bugs.csv b/framework/projects/Cli/deprecated-bugs.csv index ebd17b099..f53585f65 100644 --- a/framework/projects/Cli/deprecated-bugs.csv +++ b/framework/projects/Cli/deprecated-bugs.csv @@ -1,2 +1,2 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason 6,3880640ee6268a2ecb2912e1ae896153dc2229e5,6f972cf56d7a3054bac902fecb6d3dd5ee310dea,cli-1,https://issues.apache.org/jira/browse/CLI-1,2.0.0,JVM8.Not.Reproducible diff --git a/framework/projects/Closure/active-bugs.csv b/framework/projects/Closure/active-bugs.csv index a15633599..5b353cdc6 100644 --- a/framework/projects/Closure/active-bugs.csv +++ b/framework/projects/Closure/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 1,2353d807058bc2a20af279a480d6652cdf892f4d,1dfad5043a207e032a78ef50c3cba50488bcd300,253,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-253.json 2,61095090415cff7cae4f3645fa76ee7cdd3ee23d,d1cfe67977d8f3aaa85ec20c262171da394d5977,884,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-884.json 3,3cc85c3c37aa8bc834a4a86f91ddeb399d854024,d80fcc04239ab8c4cf781273c4f9bc54cf06f479,864,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-864.json diff --git a/framework/projects/Closure/deprecated-bugs.csv b/framework/projects/Closure/deprecated-bugs.csv index 1e5781439..24c2631c1 100644 --- a/framework/projects/Closure/deprecated-bugs.csv +++ b/framework/projects/Closure/deprecated-bugs.csv @@ -1,3 +1,3 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason 63,7deaed51a2313dd3d5814cf3ed93d7140cf3b1b5,37b0e1b0b5860e6cd4f48519c1105623778dc44f,487,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-487.json,2.0.0,Duplicate 93,386ab6da410291c7b9b4880354dae764275a9518,9d1e18e87a41f2a610ed70f3a1d57abbce7a1cd7,261,https://storage.googleapis.com/google-code-archive/v2/code.google.com/closure-compiler/issues/issue-261.json,2.0.0,Duplicate diff --git a/framework/projects/Codec/active-bugs.csv b/framework/projects/Codec/active-bugs.csv index a22c45ae0..d6fb365db 100644 --- a/framework/projects/Codec/active-bugs.csv +++ b/framework/projects/Codec/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 1,9c0cabead7cf075308b11362172ae1a48d41321c,52d82d1dfff8c2b2ded9d843e0b03017af6d747c,CODEC-65,https://issues.apache.org/jira/browse/CODEC-65 2,2f7454a01e4c2992bffc3d86137e632e80c5027f,b8c2d9d9dc9aab45f83cf49ac93cfa8546e4c08e,CODEC-77,https://issues.apache.org/jira/browse/CODEC-77 3,d7b01850ef418b1d261cdb2029f8f85ab4031553,a5dfe5cbc95d7f3ce0b4829756690c2cb8439f4c,CODEC-84,https://issues.apache.org/jira/browse/CODEC-84 diff --git a/framework/projects/Codec/deprecated-bugs.csv b/framework/projects/Codec/deprecated-bugs.csv index aab5d21db..c66e4b06e 100644 --- a/framework/projects/Codec/deprecated-bugs.csv +++ b/framework/projects/Codec/deprecated-bugs.csv @@ -1 +1 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/Collections/active-bugs.csv b/framework/projects/Collections/active-bugs.csv index d5571d971..c0e5ff448 100644 --- a/framework/projects/Collections/active-bugs.csv +++ b/framework/projects/Collections/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 25,7c99c6234c7b403449420b2688fff3d516662591,73d69dfe8677210e44049bc1a2a7d1ff85bc1ca7,COLLECTIONS-566,https://issues.apache.org/jira/browse/COLLECTIONS-566 26,3a9c4718ee0fd2eeef8b3ce151ee829fadbef5ae,f8bd75d37ca12c5d49c1b628c33c0b45e2d082eb,COLLECTIONS-576,https://issues.apache.org/jira/browse/COLLECTIONS-576 27,7a72b1983c03f7b33e397cdfc5e8f0636bcd924e,3eee44cf63b1ebb0da6925e98b3dcc6ef1e4d610,COLLECTIONS-580,https://issues.apache.org/jira/browse/COLLECTIONS-580 diff --git a/framework/projects/Collections/deprecated-bugs.csv b/framework/projects/Collections/deprecated-bugs.csv index 995c84b16..7b19b60c1 100644 --- a/framework/projects/Collections/deprecated-bugs.csv +++ b/framework/projects/Collections/deprecated-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason 1,b1cd358495cae3df8e0e32147ef433cce83390c8,f8aa3e033c1fde4a434864f666315b433498d32c,COLLECTIONS-217,https://issues.apache.org/jira/browse/COLLECTIONS-217,2.0.0,JVM8.Does.Not.Compile 2,f8aa3e033c1fde4a434864f666315b433498d32c,3f09772b742d7886c5a18427c9838fb267cc335b,COLLECTIONS-214,https://issues.apache.org/jira/browse/COLLECTIONS-214,2.0.0,JVM8.Does.Not.Compile 3,3f09772b742d7886c5a18427c9838fb267cc335b,66c4b99ddc7daea806c1318a40736d0f5c8fa7bd,COLLECTIONS-219,https://issues.apache.org/jira/browse/COLLECTIONS-219,2.0.0,JVM8.Does.Not.Compile diff --git a/framework/projects/Compress/active-bugs.csv b/framework/projects/Compress/active-bugs.csv index 5fab74999..fa0d9a68a 100644 --- a/framework/projects/Compress/active-bugs.csv +++ b/framework/projects/Compress/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 1,728b4e814ec88cab556533fa114be0efdde963be,004124ac5dbf5edbf925078652526267468821e7,COMPRESS-28,https://issues.apache.org/jira/browse/COMPRESS-28 2,1cde8827c953a56b2fcabad676f8cf2ddd6ec182,d09177b98f4e956c1d366110f73c3341ea110bee,COMPRESS-11,https://issues.apache.org/jira/browse/COMPRESS-11 3,ddbd61f0e75b7d98873b9a9bf6398218edcfd17b,d170f34fa65e19b604f5a9e04e6ed5f81d35658c,COMPRESS-64,https://issues.apache.org/jira/browse/COMPRESS-64 diff --git a/framework/projects/Compress/deprecated-bugs.csv b/framework/projects/Compress/deprecated-bugs.csv index aab5d21db..c66e4b06e 100644 --- a/framework/projects/Compress/deprecated-bugs.csv +++ b/framework/projects/Compress/deprecated-bugs.csv @@ -1 +1 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/Csv/active-bugs.csv b/framework/projects/Csv/active-bugs.csv index c8a6c7427..96f457340 100644 --- a/framework/projects/Csv/active-bugs.csv +++ b/framework/projects/Csv/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 1,0833f45bffd40f44ba6f294d84e9bac8a9ba0a37,de1838ea067f3fbc4c7c21b9eeae077c739ecb73,CSV-75,https://issues.apache.org/jira/browse/CSV-75 2,5744ee8a1698687fe4acc0c269cbbbb1e234b06d,a0d975933d6fe9eb5f359088de43508c1d3109bf,CSV-96,https://issues.apache.org/jira/browse/CSV-96 3,e31980892ce9873047db98ab8ef1b3259607b988,2c6120826245f89fedf2f936ab4a0c3edd8717f3,CSV-58,https://issues.apache.org/jira/browse/CSV-58 diff --git a/framework/projects/Csv/deprecated-bugs.csv b/framework/projects/Csv/deprecated-bugs.csv index aab5d21db..c66e4b06e 100644 --- a/framework/projects/Csv/deprecated-bugs.csv +++ b/framework/projects/Csv/deprecated-bugs.csv @@ -1 +1 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/Gson/active-bugs.csv b/framework/projects/Gson/active-bugs.csv index 6b7506ce1..749715eb7 100644 --- a/framework/projects/Gson/active-bugs.csv +++ b/framework/projects/Gson/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 1,4413c299ea09c57b94af8647eec901554c2f5c50,c6a4f55d1a9b191dbbd958c366091e567191ccab,40,https://github.com/google/gson/issues/40 2,10714ef0427536b679e9677f8417807e4cce017d,fe101c10bc3597d8e715a31d94d2cc0cc54b660f,719,https://github.com/google/gson/pull/719 3,9e5f86d10b3b3ff4ba0dfe7ba0722c9e640fcc20,64107353a37e623ed1f8fecb4422c24212cf6fe1,624,https://github.com/google/gson/issues/624 diff --git a/framework/projects/Gson/deprecated-bugs.csv b/framework/projects/Gson/deprecated-bugs.csv index aab5d21db..c66e4b06e 100644 --- a/framework/projects/Gson/deprecated-bugs.csv +++ b/framework/projects/Gson/deprecated-bugs.csv @@ -1 +1 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/JacksonCore/active-bugs.csv b/framework/projects/JacksonCore/active-bugs.csv index 8b5f959c8..a4b31672c 100644 --- a/framework/projects/JacksonCore/active-bugs.csv +++ b/framework/projects/JacksonCore/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 1,a9e5c9f99bcc16d734251f682758004a3ecc3a1b,b40ac81d4a81736e2b7536b14db4ad070b598d2e,98,https://github.com/FasterXML/jackson-core/issues/98 2,098ece8564ed5d37f483c3bfb45be897ed8974cd,38d6e35d1f1a9b48193804925517500de8efee1f,105,https://github.com/FasterXML/jackson-core/issues/105 3,7ee38785ecdd2f5a56a41302d4482675ce0d7e68,911cca0254267decd90a4b6a9c0610549309a451,111,https://github.com/FasterXML/jackson-core/issues/111 diff --git a/framework/projects/JacksonCore/deprecated-bugs.csv b/framework/projects/JacksonCore/deprecated-bugs.csv index aab5d21db..c66e4b06e 100644 --- a/framework/projects/JacksonCore/deprecated-bugs.csv +++ b/framework/projects/JacksonCore/deprecated-bugs.csv @@ -1 +1 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/JacksonDatabind/active-bugs.csv b/framework/projects/JacksonDatabind/active-bugs.csv index d968b35bd..afe620da7 100644 --- a/framework/projects/JacksonDatabind/active-bugs.csv +++ b/framework/projects/JacksonDatabind/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 1,a1bb6f2dcb82eb9f880f87c480d6086a8e0bee34,88f44d87d4c2251d7cf55d9aa9c3452a397ae19b,223,https://github.com/FasterXML/jackson-databind/issues/223 2,01797b0794ac384f5f5ef49cc0cfab8347ae7930,9c5fec2302237ede0e797c13c0663a6bb52c798c,467,https://github.com/FasterXML/jackson-databind/issues/467 3,fd9b65dc45657bb7cd236df5396b901f36469c76,fa1d99255915f21c868f28307fd6e3adb2029ea0,479,https://github.com/FasterXML/jackson-databind/issues/479 diff --git a/framework/projects/JacksonDatabind/deprecated-bugs.csv b/framework/projects/JacksonDatabind/deprecated-bugs.csv index aab5d21db..c66e4b06e 100644 --- a/framework/projects/JacksonDatabind/deprecated-bugs.csv +++ b/framework/projects/JacksonDatabind/deprecated-bugs.csv @@ -1 +1 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/JacksonXml/active-bugs.csv b/framework/projects/JacksonXml/active-bugs.csv index c14cd7a1a..8c4f465ab 100644 --- a/framework/projects/JacksonXml/active-bugs.csv +++ b/framework/projects/JacksonXml/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 1,81f38e1985bdfafdbe02e32dfb5ccb200fc64eae,2d7683ed820116b77cba9b4b290cd7ce7dfa5cf4,180,https://github.com/FasterXML/jackson-dataformat-xml/issues/180 2,a96d27d4c74707965b257b6ecced4d337357545e,37eb331acce08142ad027f127c355f9b462fe9e0,196,https://github.com/FasterXML/jackson-dataformat-xml/issues/196 3,23ab583c46a6a20b0c1232ebb91b16d4058c7502,79a4b57f2bbe08ce46e6dabb0a8b76f4a787141c,204,https://github.com/FasterXML/jackson-dataformat-xml/issues/204 diff --git a/framework/projects/JacksonXml/deprecated-bugs.csv b/framework/projects/JacksonXml/deprecated-bugs.csv index aab5d21db..c66e4b06e 100644 --- a/framework/projects/JacksonXml/deprecated-bugs.csv +++ b/framework/projects/JacksonXml/deprecated-bugs.csv @@ -1 +1 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/Jsoup/active-bugs.csv b/framework/projects/Jsoup/active-bugs.csv index 5096d537c..4e3e4a36d 100644 --- a/framework/projects/Jsoup/active-bugs.csv +++ b/framework/projects/Jsoup/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 1,77add7946ea5bca622b1f4f654f97e62f6db1e95,27a52f90a25699bebe23ff1ff94d6db361fdb11d,23,https://github.com/jhy/jsoup/issues/23 2,27a52f90a25699bebe23ff1ff94d6db361fdb11d,bb4ead7c350695c1ed3c52d028090da4d4cecd1e,22,https://github.com/jhy/jsoup/issues/22 3,5599adfa2bd30d9784c1eed07b24a31f458f0a58,0081d162cca8ad23b500b53799195fec644f261b,21,https://github.com/jhy/jsoup/issues/21 diff --git a/framework/projects/Jsoup/deprecated-bugs.csv b/framework/projects/Jsoup/deprecated-bugs.csv index aab5d21db..c66e4b06e 100644 --- a/framework/projects/Jsoup/deprecated-bugs.csv +++ b/framework/projects/Jsoup/deprecated-bugs.csv @@ -1 +1 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/JxPath/active-bugs.csv b/framework/projects/JxPath/active-bugs.csv index b3b367e0d..b53501a0e 100644 --- a/framework/projects/JxPath/active-bugs.csv +++ b/framework/projects/JxPath/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 1,932131e698e669cd7e0743a6999eab455f9de6b0,fab38abb27f2f92b9340cfc232eb5517434bf138,JXPATH-12,https://issues.apache.org/jira/browse/JXPATH-12 2,5eb29ba7901ab88e8388095a8696c4ae13a2c163,716c03b3b12ec106974898451b149f6eb79c65da,JXPATH-50,https://issues.apache.org/jira/browse/JXPATH-50 3,34e73b6483b08da2d793eb613520e23c3d6afeb1,984778f3c264df5d608eb9697df2a268122ac66f,JXPATH-68,https://issues.apache.org/jira/browse/JXPATH-68 diff --git a/framework/projects/JxPath/deprecated-bugs.csv b/framework/projects/JxPath/deprecated-bugs.csv index aab5d21db..c66e4b06e 100644 --- a/framework/projects/JxPath/deprecated-bugs.csv +++ b/framework/projects/JxPath/deprecated-bugs.csv @@ -1 +1 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/Lang/active-bugs.csv b/framework/projects/Lang/active-bugs.csv index 6c7fd2f31..19f50eba9 100644 --- a/framework/projects/Lang/active-bugs.csv +++ b/framework/projects/Lang/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 1,2c454a4ce3fe771098746879b166ede2284b94f4,687b2e62b7c6e81cd9d5c872b7fa9cc8fd3f1509,LANG-747,https://issues.apache.org/jira/browse/LANG-747 3,1f001d06a2bde5ee4e3204ab38c4b1db8e95db0b,2c9c8753165dc7ce5dd1d5a6d741b445b33302c2,LANG-693,https://issues.apache.org/jira/browse/LANG-693 4,4ddbd99c5805781bd3c2287ab7920fecc23dab53,fb47b96ab635d7cc6e9edefdddc46f1baf63b117,LANG-882,https://issues.apache.org/jira/browse/LANG-882 diff --git a/framework/projects/Lang/deprecated-bugs.csv b/framework/projects/Lang/deprecated-bugs.csv index 13bb0c6fe..f04289713 100644 --- a/framework/projects/Lang/deprecated-bugs.csv +++ b/framework/projects/Lang/deprecated-bugs.csv @@ -1,2 +1,2 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason 2,aefc12c38171e1a84a90dc26e51b2c7aa111fdee,09d39029b16dee61022dc8afde4d84f523f37813,LANG-879,https://issues.apache.org/jira/browse/LANG-879,2.0.0,JVM8.Not.Reproducible diff --git a/framework/projects/Math/active-bugs.csv b/framework/projects/Math/active-bugs.csv index 9bfc67b2a..57ae4c58b 100644 --- a/framework/projects/Math/active-bugs.csv +++ b/framework/projects/Math/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 1,1780da711d88f669e29e0517f83d692fb80099db,0da657a65c92b086a301a6ffe9e34ec272f8889c,MATH-996,https://issues.apache.org/jira/browse/MATH-996 2,ad5c90bbabdbce834068bc79d3eb00c823e97008,c0b655ace5665c0cd32e3f5e5b46edad4d223125,MATH-1021,https://issues.apache.org/jira/browse/MATH-1021 3,de4209544270def43e39db0d214d1564939f8e40,92c4697300e8ddf06152bc0838c738d50673c1d2,MATH-1005,https://issues.apache.org/jira/browse/MATH-1005 diff --git a/framework/projects/Math/deprecated-bugs.csv b/framework/projects/Math/deprecated-bugs.csv index aab5d21db..c66e4b06e 100644 --- a/framework/projects/Math/deprecated-bugs.csv +++ b/framework/projects/Math/deprecated-bugs.csv @@ -1 +1 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/Mockito/active-bugs.csv b/framework/projects/Mockito/active-bugs.csv index 66b035523..8c1ce55e2 100644 --- a/framework/projects/Mockito/active-bugs.csv +++ b/framework/projects/Mockito/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 1,837fd054a0da2c8706732dcd4bc880a64b957c78,4e9d7607825c3c668fd43f19507bfead566c528c,188,https://github.com/mockito/mockito/issues/188 2,d30450fa1172d79cc051b2fe8064744c2ac7a003,80452c7a42777513c35fd30c4e12bcd7ee438fb9,197,https://github.com/mockito/mockito/issues/197 3,4e9d7607825c3c668fd43f19507bfead566c528c,3eec7451d6c83c280743c39b39c77a179abb30f9,188,https://github.com/mockito/mockito/issues/188 diff --git a/framework/projects/Mockito/deprecated-bugs.csv b/framework/projects/Mockito/deprecated-bugs.csv index aab5d21db..c66e4b06e 100644 --- a/framework/projects/Mockito/deprecated-bugs.csv +++ b/framework/projects/Mockito/deprecated-bugs.csv @@ -1 +1 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason diff --git a/framework/projects/Time/active-bugs.csv b/framework/projects/Time/active-bugs.csv index 5f0a66d12..7e641acdf 100644 --- a/framework/projects/Time/active-bugs.csv +++ b/framework/projects/Time/active-bugs.csv @@ -1,4 +1,4 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url 1,8612f9e5b88c1bea933ef9ab1e431f5db3006b48,9a62b06be5d0df8e833ff8583398cca386608cac,93,https://github.com/JodaOrg/joda-time/issues/93 2,8d109fe1a999a11b4557536dd96f9210460a5936,8612f9e5b88c1bea933ef9ab1e431f5db3006b48,93,https://github.com/JodaOrg/joda-time/issues/93 3,3ba9ba799b3261b7332a467a88be142c83b298fd,8d109fe1a999a11b4557536dd96f9210460a5936,77,https://github.com/JodaOrg/joda-time/issues/77 diff --git a/framework/projects/Time/deprecated-bugs.csv b/framework/projects/Time/deprecated-bugs.csv index 83f6f9bb4..072687334 100644 --- a/framework/projects/Time/deprecated-bugs.csv +++ b/framework/projects/Time/deprecated-bugs.csv @@ -1,2 +1,2 @@ -bug.id,revision.buggy,revision.fixed,report.id,report.url,deprecated.version,deprecated.reason +bug.id,revision.id.buggy,revision.id.fixed,report.id,report.url,deprecated.version,deprecated.reason 21,c5a5190e19c062405ae4825c36e2172ae64202fb,0973b46039c4db0be3a969d36c220dee1e1fb4da,122,https://sourceforge.net/p/joda-time/bugs/122,2.0.0,JVM8.Not.Reproducible diff --git a/framework/test/resources/output/d4j-query/1 b/framework/test/resources/output/d4j-query/1 index a765c7c6c..71512a434 100644 --- a/framework/test/resources/output/d4j-query/1 +++ b/framework/test/resources/output/d4j-query/1 @@ -1 +1 @@ -Available fields: bug.id, revision.buggy, revision.fixed, report.id, report.url, deprecated.version, deprecated.reason, classes.relevant.src, classes.relevant.test, classes.modified, tests.relevant, tests.trigger +Available fields: bug.id, revision.id.buggy, revision.id.fixed, report.id, report.url, deprecated.version, deprecated.reason, classes.relevant.src, classes.relevant.test, classes.modified, tests.relevant, tests.trigger, tests.trigger.cause, project.id, project.name, project.build.file, project.vcs, project.repository, project.commit.db, revision.date.buggy, revision.date.fixed diff --git a/framework/test/test_d4j_query.sh b/framework/test/test_d4j_query.sh index e1a4d5232..7c272a4de 100755 --- a/framework/test/test_d4j_query.sh +++ b/framework/test/test_d4j_query.sh @@ -22,24 +22,24 @@ result=`diff $HERE/temp $HERE/resources/output/d4j-query/2` rm $HERE"/temp" -$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision.buggy,classes.modified" >> $HERE"/temp" +$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision.id.buggy,classes.modified" >> $HERE"/temp" result=`diff $HERE/temp $HERE/resources/output/d4j-query/3` -[ "$result" == "" ] || die "query \"-p Collections -q \"revision.buggy,classes.modified\"\" failed: $result" +[ "$result" == "" ] || die "query \"-p Collections -q \"revision.id.buggy,classes.modified\"\" failed: $result" rm $HERE"/temp" -$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision.buggy,classes.modified" -d >> $HERE"/temp" +$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision.id.buggy,classes.modified" -d >> $HERE"/temp" result=`diff $HERE/temp $HERE/resources/output/d4j-query/4` -[ "$result" == "" ] || die "query \"-p Collections -q \"revision.buggy,classes.modified\" -d\" failed: $result" +[ "$result" == "" ] || die "query \"-p Collections -q \"revision.id.buggy,classes.modified\" -d\" failed: $result" rm $HERE"/temp" -$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision.buggy,classes.modified" -a >> $HERE"/temp" +$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision.id.buggy,classes.modified" -a >> $HERE"/temp" result=`diff $HERE/temp $HERE/resources/output/d4j-query/5` -[ "$result" == "" ] || die "query \"-p Collections -q \"revision.buggy,classes.modified\" -a\" failed: $result" +[ "$result" == "" ] || die "query \"-p Collections -q \"revision.id.buggy,classes.modified\" -a\" failed: $result" rm $HERE"/temp" From 3b261ee1ecb6afaf234890a7d7f2b7de478ea25a Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Mon, 29 Jun 2020 10:46:14 +0200 Subject: [PATCH 28/35] Capitalizing flags without arguments, clarifying documentation, renaming d4j-bugs --- README.md | 6 ++-- .../bin/d4j/{d4j-bugs => d4j-print-bugs} | 29 ++++++++++--------- framework/bin/d4j/d4j-query | 27 ++++++++--------- framework/test/test_d4j_query.sh | 16 +++++----- 4 files changed, 40 insertions(+), 38 deletions(-) rename framework/bin/d4j/{d4j-bugs => d4j-print-bugs} (76%) diff --git a/README.md b/README.md index 5c2e3664b..efc0e47b7 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ Use [`framework/bin/defects4j`](http://defects4j.org/html_doc/defects4j.html) to | [checkout](http://defects4j.org/html_doc/d4j/d4j-checkout.html) | Checkout a buggy or a fixed project version | | [compile](http://defects4j.org/html_doc/d4j/d4j-compile.html) | Compile sources and developer-written tests of a buggy or a fixed project version | | [test](http://defects4j.org/html_doc/d4j/d4j-test.html) | Run a single test method or a test suite on a buggy or a fixed project version | -| [bugs](http://defects4j.org/html_doc/d4j/d4j-bugs.html) | Print the list of active bug IDs for a specific project | +| [print.bugs](http://defects4j.org/html_doc/d4j/d4j-print-bugs.html) | Print the list of active bug IDs for a specific project | | [mutation](http://defects4j.org/html_doc/d4j/d4j-mutation.html) | Run mutation analysis on a buggy or a fixed project version | | [coverage](http://defects4j.org/html_doc/d4j/d4j-coverage.html) | Run code coverage analysis on a buggy or a fixed project version | | [monitor.test](http://defects4j.org/html_doc/d4j/d4j-monitor.test.html) | Monitor the class loader during the execution of a single test or a test suite | @@ -206,8 +206,8 @@ all active bug IDs, along with the bug report ID and bug report URL for each. | deprecated.version | (for deprecated bugs only) Version of Defects4J where a bug was deprecated | | deprecated.reason | (for deprecated bugs only) Reason for deprecation | -By default, `defects4j query` returns information on active bugs. The `[-d]` -flag returns information only on deprecated bugs, while the `[-a]` flag returns +By default, `defects4j query` returns information on active bugs. The `[-D]` +flag returns information only on deprecated bugs, while the `[-A]` flag returns information for all active and deprecated bugs. diff --git a/framework/bin/d4j/d4j-bugs b/framework/bin/d4j/d4j-print-bugs similarity index 76% rename from framework/bin/d4j/d4j-bugs rename to framework/bin/d4j/d4j-print-bugs index 144030827..324d32390 100755 --- a/framework/bin/d4j/d4j-bugs +++ b/framework/bin/d4j/d4j-print-bugs @@ -24,11 +24,11 @@ =head1 NAME -d4j-bugs -- Lists all bug IDs for a project +d4j-print-bugs -- Lists all bug IDs for a project =head1 SYNOPSIS - d4j-bugs -p project_id [-d] [-a] + d4j-print-bugs -p project_id [-D|-A] =head1 DESCRIPTION @@ -45,14 +45,15 @@ available active bug IDs is returned. The ID of the project for which metadata is requested. A project ID must be provided to use this utility. -=item -d +=item -D -Include only deprecated bugs. By default, only active bugs are listed. +Include only deprecated bugs. By default, only active bugs are queried. +Cannot be used in conjunction with "all bugs" (-A). -=item -a +=item -A -Include both active and deprecated bugs. By default, only active bugs -are listed. +Include both active and deprecated bugs. By default, only active bugs are +queried. Cannot be used in conjunction with "only deprecated bugs" (-D). =back @@ -70,28 +71,28 @@ use Getopt::Std; # Issue usage message and quit # sub _usage { - print "usage: $0 -p project_id [-d] [-a]\n"; + print "usage: $0 -p project_id [-D|-A]\n"; exit 1; } # Process command line options my %cmd_opts; -getopts('p:da', \%cmd_opts) or _usage(); +getopts('p:DA', \%cmd_opts) or _usage(); _usage() unless defined $cmd_opts{p}; my $PID = $cmd_opts{p}; -my $ONLY_DEP = defined $cmd_opts{d} ? 1 : 0; -my $ALL_BUGS = defined $cmd_opts{a} ? 1 : 0; +my $ONLY_DEP = defined $cmd_opts{D} ? 1 : 0; +my $ALL_BUGS = defined $cmd_opts{A} ? 1 : 0; if ($ONLY_DEP and $ALL_BUGS) { - die "Only dependencies (-d) and all bugs (-a) cannot be concurrently set."; + die "Only deprecated bugs (-D) and all bugs (-A) cannot be concurrently set."; } if ($ALL_BUGS) { - system('../defects4j','query','-p',$PID,'-a'); + system('../defects4j','query','-p',$PID,'-A'); } elsif ($ONLY_DEP) { - system('../defects4j','query','-p',$PID,'-d'); + system('../defects4j','query','-p',$PID,'-D'); } else { system('../defects4j','query','-p',$PID); } diff --git a/framework/bin/d4j/d4j-query b/framework/bin/d4j/d4j-query index d46f7ca32..dcc8f64e4 100755 --- a/framework/bin/d4j/d4j-query +++ b/framework/bin/d4j/d4j-query @@ -28,7 +28,7 @@ d4j-query -- query the metadata for a project to obtain CSV-formatted results. =head1 SYNOPSIS - d4j-query -p project_id [-q query] [-o output_file] [-h] [-d] [-a] + d4j-query -p project_id [-q query] [-o output_file] [-h] [-D|-A] =head1 DESCRIPTION @@ -60,14 +60,15 @@ A file to output the extracted CSV to. By default, prints to the screen. List the available fields. -=item -d +=item -D Include only deprecated bugs. By default, only active bugs are queried. +Cannot be used in conjunction with "all bugs" (-A). -=item -a +=item -A Include both active and deprecated bugs. By default, only active bugs are -queried. +queried. Cannot be used in conjunction with "only deprecated bugs" (-D). =head1 EXAMPLES @@ -84,17 +85,17 @@ Returns the list of available fields that can be queried. Returns all active bug IDs, and for each, the revision hash of the buggy version and the list of modified classes. -=item -C +=item -C Returns all deprecated bug IDs, and for each, the revision hash of the buggy version and the list of modified classes. -=item -C +=item -C Returns all bug IDs (active and deprecated), and for each, the revision hash of the buggy version and the list of modified classes. -=item -C +=item -C Returns all bug IDs (active and deprecated) along with the reason for deprecation. For active bugs, the deprecation reason will be "NA", as @@ -120,7 +121,7 @@ use Getopt::Std; # Issue usage message and quit # sub _usage { - print "usage: $0 -p project_id [-q query] [-h] [-d] [-a]\n"; + print "usage: $0 -p project_id [-q query] [-o output_file] [-H] [-D|-A]\n"; exit 1; } @@ -253,26 +254,26 @@ my @ALL_FIELDS = ($BUGS_CSV_BUGID, $BUGS_CSV_COMMIT_BUGGY, $BUGS_CSV_COMMIT_FIXE # Process command line options my %cmd_opts; -getopts('p:q:o:hda', \%cmd_opts) or _usage(); +getopts('p:q:o:HDA', \%cmd_opts) or _usage(); _usage() unless defined $cmd_opts{p}; my $PID = $cmd_opts{p}; my $QUERY = defined $cmd_opts{q} ? $cmd_opts{q} : $BUGS_CSV_BUGID; my $OUTPUT_FILE = defined $cmd_opts{o} ? $cmd_opts{o} : "none"; -my $ONLY_DEP = defined $cmd_opts{d} ? 1 : 0; -my $ALL_BUGS = defined $cmd_opts{a} ? 1 : 0; +my $ONLY_DEP = defined $cmd_opts{D} ? 1 : 0; +my $ALL_BUGS = defined $cmd_opts{A} ? 1 : 0; my $ACTIVE_BUGS = "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE"; my $DEPRECATED_BUGS = "$PROJECTS_DIR/$PID/$BUGS_CSV_DEPRECATED"; -if (defined $cmd_opts{h}) { +if (defined $cmd_opts{H}) { my $joined_fields = join(", ", @ALL_FIELDS); print "Available fields: $joined_fields\n"; exit 1; } if ($ONLY_DEP and $ALL_BUGS) { - die "Only dependencies (-d) and all bugs (-a) cannot be concurrently set."; + die "Only deprecated bugs (-D) and all bugs (-A) cannot be concurrently set."; } # Check query for unavailable fields diff --git a/framework/test/test_d4j_query.sh b/framework/test/test_d4j_query.sh index 7c272a4de..ade96fccf 100755 --- a/framework/test/test_d4j_query.sh +++ b/framework/test/test_d4j_query.sh @@ -8,10 +8,10 @@ source test.include HERE=$(cd `dirname $0` && pwd) -$BASE_DIR/framework/bin/defects4j query -p Collections -h >> $HERE"/temp" +$BASE_DIR/framework/bin/defects4j query -p Collections -H >> $HERE"/temp" result=`diff $HERE/temp $HERE/resources/output/d4j-query/1` -[ "$result" == "" ] || die "query \"-p Collections\" -h failed: $result" +[ "$result" == "" ] || die "query \"-p Collections\" -H failed: $result" rm $HERE"/temp" @@ -29,23 +29,23 @@ result=`diff $HERE/temp $HERE/resources/output/d4j-query/3` rm $HERE"/temp" -$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision.id.buggy,classes.modified" -d >> $HERE"/temp" +$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision.id.buggy,classes.modified" -D >> $HERE"/temp" result=`diff $HERE/temp $HERE/resources/output/d4j-query/4` -[ "$result" == "" ] || die "query \"-p Collections -q \"revision.id.buggy,classes.modified\" -d\" failed: $result" +[ "$result" == "" ] || die "query \"-p Collections -q \"revision.id.buggy,classes.modified\" -D\" failed: $result" rm $HERE"/temp" -$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision.id.buggy,classes.modified" -a >> $HERE"/temp" +$BASE_DIR/framework/bin/defects4j query -p Collections -q "revision.id.buggy,classes.modified" -A >> $HERE"/temp" result=`diff $HERE/temp $HERE/resources/output/d4j-query/5` -[ "$result" == "" ] || die "query \"-p Collections -q \"revision.id.buggy,classes.modified\" -a\" failed: $result" +[ "$result" == "" ] || die "query \"-p Collections -q \"revision.id.buggy,classes.modified\" -A\" failed: $result" rm $HERE"/temp" -$BASE_DIR/framework/bin/defects4j query -p Collections -q "deprecated.reason" -a >> $HERE"/temp" +$BASE_DIR/framework/bin/defects4j query -p Collections -q "deprecated.reason" -A >> $HERE"/temp" result=`diff $HERE/temp $HERE/resources/output/d4j-query/6` -[ "$result" == "" ] || die "query \"-p Collections -q \"deprecated.reason\" -a\" failed: $result" +[ "$result" == "" ] || die "query \"-p Collections -q \"deprecated.reason\" -A\" failed: $result" rm $HERE"/temp" From 6a377f4d280c1a8b5bcf402ba1b8e7ad05245a85 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Mon, 29 Jun 2020 10:48:36 +0200 Subject: [PATCH 29/35] Renames bugs to print-bugs --- framework/bin/defects4j | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/framework/bin/defects4j b/framework/bin/defects4j index 7be8fb141..2803a3081 100755 --- a/framework/bin/defects4j +++ b/framework/bin/defects4j @@ -140,12 +140,12 @@ $cmd_descr{query}="query the metadata for a particular project for automation pu =pod -=item * L|d4j::d4j-bugs/> +=item * L|d4j::d4j-print-bugs/> print all active bug IDs for a project. =cut -$cmd_descr{bugs}="print all active bug IDs for a project"; +$cmd_descr{"print-bugs"}="print all active bug IDs for a project"; # # Issue usage message and quit From ed041f5d7a7a609e818288005f95f886f659c02c Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Mon, 29 Jun 2020 13:20:31 +0200 Subject: [PATCH 30/35] Refactors d4j-query functionality into a separate API within Defects4J that can be used throughout the framework --- framework/bin/d4j/d4j-print-bugs | 21 +- framework/bin/d4j/d4j-query | 276 +---------------------- framework/core/Query.pm | 371 +++++++++++++++++++++++++++++++ 3 files changed, 393 insertions(+), 275 deletions(-) create mode 100644 framework/core/Query.pm diff --git a/framework/bin/d4j/d4j-print-bugs b/framework/bin/d4j/d4j-print-bugs index 324d32390..e88d74b79 100755 --- a/framework/bin/d4j/d4j-print-bugs +++ b/framework/bin/d4j/d4j-print-bugs @@ -63,9 +63,8 @@ use strict; use warnings; use Constants; -use Utils; -use Project; use Getopt::Std; +use Query; # # Issue usage message and quit @@ -89,12 +88,18 @@ if ($ONLY_DEP and $ALL_BUGS) { die "Only deprecated bugs (-D) and all bugs (-A) cannot be concurrently set."; } -if ($ALL_BUGS) { - system('../defects4j','query','-p',$PID,'-A'); -} elsif ($ONLY_DEP) { - system('../defects4j','query','-p',$PID,'-D'); -} else { - system('../defects4j','query','-p',$PID); +my %results; +my @requested = $BUGS_CSV_BUGID; +if ($ONLY_DEP) { + %results = Query::query_metadata($PID, "D", @requested); +} elsif ($ALL_BUGS) { + %results = Query::query_metadata($PID, "A", @requested); +} else{ + %results = Query::query_metadata($PID, "C", @requested); +} + +foreach my $bug_id (sort { $a <=> $b } keys %results) { + print "$bug_id\n"; } 1; diff --git a/framework/bin/d4j/d4j-query b/framework/bin/d4j/d4j-query index dcc8f64e4..6b86327a2 100755 --- a/framework/bin/d4j/d4j-query +++ b/framework/bin/d4j/d4j-query @@ -109,13 +109,8 @@ use strict; use warnings; use Constants; -use Utils; -use Project; use Getopt::Std; - -########################################################## -# Helper Subroutines -########################################################## +use Query; # # Issue usage message and quit @@ -125,133 +120,6 @@ sub _usage { exit 1; } -# -# Gathers requested data from a designated bugs CSV file. -# Returns a hash RESULTS [bug_id] = DATA [field] [value] -# That is, we associate fields with their respective bug_id. -# - -sub _read_bug_csv { - my ($filename, @fields) = @_; - open (IN, "<$filename") or die "Cannot open $filename"; - - my $head = ; - chomp $head; - my @header = split /,/, $head; - my %cols; - my %results; - - my ($bug_id_col) = grep { $header[$_] eq $BUGS_CSV_BUGID } (0 .. @header-1); - unless (defined $bug_id_col) { - die "Bug IDs are not included in $filename."; - } - - - # Associate fields with columns using the header - foreach my $item (@fields) { - ($cols{$item}) = grep { $header[$_] eq $item } (0 .. @header -1); - unless (defined $cols{$item}) { - $cols{$item} = -1; - } - } - - # Read contents of file, associate each line with the bug ID. - while (my $line = ) { - chomp $line; - my @columns = split /,/, $line; - my $bug_id = $columns[$bug_id_col]; - foreach my $item (@fields) { - if ($cols{$item} != -1) { - $results{$bug_id}{$item} = $columns[$cols{$item}]; - } else { - $results{$bug_id}{$item} = "NA"; - } - } - } - close IN; - - return %results; -} - -# -# Reads in a class list (loaded/modified classes, relevant tests) -# and returns the results as a single string, associated with -# the requested bug IDs. -# - -sub _read_class_list { - my ($base_dir, $ext, @bugs) = @_; - my %results; - - foreach my $bug_id (@bugs) { - my $filename = "$PROJECTS_DIR/$base_dir/$bug_id$ext"; - open (IN, "<$filename") or die "Cannot open $filename"; - my $list = ; - chomp $list; - - # Read contents of file - while (my $line = ) { - chomp $line; - $list = $list.";".$line; - } - close IN; - $results{$bug_id} = "\"".$list."\""; - } - return %results; -} - -# -# Reads in a list of tests and stack traces (trigger/failing tests) -# and returns the results as a single string, associated with -# the requested bug IDs. The first argument determines whether -# the root cause is included or not. -# - -sub _read_stack_traces { - my ($include_root, $base_dir, @bugs) = @_; - my %results; - - foreach my $bug_id (@bugs) { - my $filename = "$PROJECTS_DIR/$base_dir/$bug_id"; - open (IN, "<$filename") or die "Cannot open $filename"; - my $list = ""; - my $cause = 0; - - # Read contents of file - while (my $line = ) { - chomp $line; - if (grep /^--- /, $line) { - $line =~ s/^--- //; - if ($list eq "") { - $list = $line; - } else { - $list = $list.";".$line; - } - $cause = 1; - next; - } - if ($cause == 1){ - $cause = 0; - if ($include_root == 1){ - $line =~ s/\"//g; - $list = $list." --> $line"; - } - } - } - close IN; - $results{$bug_id} = "\"".$list."\""; - } - return %results; -} - - -########################################################## -# Core Logic -########################################################## - -# All fields should be defined in Constants -my @ALL_FIELDS = ($BUGS_CSV_BUGID, $BUGS_CSV_COMMIT_BUGGY, $BUGS_CSV_COMMIT_FIXED, $BUGS_CSV_ISSUE_ID, $BUGS_CSV_ISSUE_URL, $BUGS_CSV_DEPRECATED_WHEN, $BUGS_CSV_DEPRECATED_WHY, $METADATA_LOADED_CLASSES_SRC, $METADATA_LOADED_CLASSES_TEST, $METADATA_MODIFIED_CLASSES, $METADATA_RELEVANT_TESTS, $METADATA_TRIGGER_TESTS, $METADATA_TRIGGER_CAUSE, $METADATA_PROJECT_ID, $METADATA_PROJECT_NAME, $METADATA_BUILD_FILE, $METADATA_VCS, $METADATA_REPOSITORY, $METADATA_COMMIT_DB, $METADATA_DATE_BUGGY, $METADATA_DATE_FIXED); - # Process command line options my %cmd_opts; getopts('p:q:o:HDA', \%cmd_opts) or _usage(); @@ -260,14 +128,13 @@ _usage() unless defined $cmd_opts{p}; my $PID = $cmd_opts{p}; my $QUERY = defined $cmd_opts{q} ? $cmd_opts{q} : $BUGS_CSV_BUGID; +my @requested = split /,/, $QUERY or die "Unable to parse query: $QUERY"; my $OUTPUT_FILE = defined $cmd_opts{o} ? $cmd_opts{o} : "none"; my $ONLY_DEP = defined $cmd_opts{D} ? 1 : 0; my $ALL_BUGS = defined $cmd_opts{A} ? 1 : 0; -my $ACTIVE_BUGS = "$PROJECTS_DIR/$PID/$BUGS_CSV_ACTIVE"; -my $DEPRECATED_BUGS = "$PROJECTS_DIR/$PID/$BUGS_CSV_DEPRECATED"; if (defined $cmd_opts{H}) { - my $joined_fields = join(", ", @ALL_FIELDS); + my $joined_fields = join(", ", Query::get_fields()); print "Available fields: $joined_fields\n"; exit 1; } @@ -276,138 +143,13 @@ if ($ONLY_DEP and $ALL_BUGS) { die "Only deprecated bugs (-D) and all bugs (-A) cannot be concurrently set."; } -# Check query for unavailable fields - -my @requested = split /,/, $QUERY or die "Unable to parse query: $QUERY"; - -foreach my $field (@requested) { - unless (grep $_ eq $field, @ALL_FIELDS) { - die "Requested field \"$field\" in query \"$QUERY\" is invalid."; - } -} - -# Gather results for the requested fields - -# First, get results from the active and deprecated-bugs CSV files. my %results; -my $project = Project::create_project($PID); -my @necessary = @requested; -push @necessary, $BUGS_CSV_COMMIT_BUGGY; -push @necessary, $BUGS_CSV_COMMIT_FIXED; - -if (!$ONLY_DEP or $ALL_BUGS) { - %results = _read_bug_csv($ACTIVE_BUGS, @necessary); - - if (grep $_ eq $METADATA_COMMIT_DB, @requested) { - foreach my $bug_id (keys %results) { - $results{$bug_id}{$METADATA_COMMIT_DB} = $ACTIVE_BUGS; - } - } -} - -if ($ONLY_DEP or $ALL_BUGS) { - my %dep_results = _read_bug_csv($DEPRECATED_BUGS, @necessary); - if (grep $_ eq $METADATA_COMMIT_DB, @requested) { - foreach my $bug_id (keys %dep_results) { - $dep_results{$bug_id}{$METADATA_COMMIT_DB} = $DEPRECATED_BUGS; - } - } - - foreach my $bug_id (sort { $a <=> $b } keys %dep_results) { - $results{$bug_id} = $dep_results{$bug_id}; - } -} - -# Now, get results from other metadata and associate with bug ID - -if (grep $_ eq $METADATA_LOADED_CLASSES_SRC, @requested) { - my %metadata = _read_class_list("$PID/loaded_classes", ".src", keys %results); - - foreach my $bug_id (keys %metadata) { - $results{$bug_id}{$METADATA_LOADED_CLASSES_SRC} = $metadata{$bug_id}; - } -} - -if (grep $_ eq $METADATA_LOADED_CLASSES_TEST, @requested) { - my %metadata = _read_class_list("$PID/loaded_classes", ".test", keys %results); - - foreach my $bug_id (keys %metadata) { - $results{$bug_id}{$METADATA_LOADED_CLASSES_TEST} = $metadata{$bug_id}; - } -} - -if (grep $_ eq $METADATA_MODIFIED_CLASSES, @requested) { - my %metadata = _read_class_list("$PID/modified_classes", ".src", keys %results); - - foreach my $bug_id (keys %metadata) { - $results{$bug_id}{$METADATA_MODIFIED_CLASSES} = $metadata{$bug_id}; - } -} - -if (grep $_ eq $METADATA_RELEVANT_TESTS, @requested) { - my %metadata = _read_class_list("$PID/relevant_tests", "", keys %results); - - foreach my $bug_id (keys %metadata) { - $results{$bug_id}{$METADATA_RELEVANT_TESTS} = $metadata{$bug_id}; - } -} - -if (grep $_ eq $METADATA_TRIGGER_TESTS, @requested) { - my %metadata = _read_stack_traces(0, "$PID/trigger_tests", keys %results); - - foreach my $bug_id (keys %metadata) { - $results{$bug_id}{$METADATA_TRIGGER_TESTS} = $metadata{$bug_id}; - } -} - -if (grep $_ eq $METADATA_TRIGGER_CAUSE, @requested) { - my %metadata = _read_stack_traces(1, "$PID/trigger_tests", keys %results); - - foreach my $bug_id (keys %metadata) { - $results{$bug_id}{$METADATA_TRIGGER_CAUSE} = $metadata{$bug_id}; - } -} - -if (grep $_ eq $METADATA_PROJECT_ID, @requested) { - foreach my $bug_id (keys %results) { - $results{$bug_id}{$METADATA_PROJECT_ID} = $PID; - } -} - -if (grep $_ eq $METADATA_PROJECT_NAME, @requested) { - foreach my $bug_id (keys %results) { - $results{$bug_id}{$METADATA_PROJECT_NAME} = $project->{prog_name}; - } -} - -if (grep $_ eq $METADATA_BUILD_FILE, @requested) { - foreach my $bug_id (keys %results) { - $results{$bug_id}{$METADATA_BUILD_FILE} = $PROJECTS_DIR."/".$PID."/".$PID.".build.xml"; - } -} - -if (grep $_ eq $METADATA_VCS, @requested) { - foreach my $bug_id (keys %results) { - $results{$bug_id}{$METADATA_VCS} = ref $project->{_vcs}; - } -} - -if (grep $_ eq $METADATA_REPOSITORY, @requested) { - foreach my $bug_id (keys %results) { - $results{$bug_id}{$METADATA_REPOSITORY} = $project->{_vcs}->{repo}; - } -} - -if (grep $_ eq $METADATA_DATE_BUGGY, @requested) { - foreach my $bug_id (keys %results) { - $results{$bug_id}{$METADATA_DATE_BUGGY} = $project->{_vcs}->rev_date($results{$bug_id}{$BUGS_CSV_COMMIT_BUGGY}); - } -} - -if (grep $_ eq $METADATA_DATE_FIXED, @requested) { - foreach my $bug_id (keys %results) { - $results{$bug_id}{$METADATA_DATE_FIXED} = $project->{_vcs}->rev_date($results{$bug_id}{$BUGS_CSV_COMMIT_FIXED}); - } +if ($ONLY_DEP) { + %results = Query::query_metadata($PID, "D", @requested); +} elsif ($ALL_BUGS) { + %results = Query::query_metadata($PID, "A", @requested); +} else{ + %results = Query::query_metadata($PID, "C", @requested); } # Print the results in CSV format diff --git a/framework/core/Query.pm b/framework/core/Query.pm new file mode 100644 index 000000000..0537f5472 --- /dev/null +++ b/framework/core/Query.pm @@ -0,0 +1,371 @@ +#------------------------------------------------------------------------------- +# Copyright (c) 2014-2019 René Just, Darioush Jalali, and Defects4J contributors. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +#------------------------------------------------------------------------------- + +=pod + +=head1 NAME + +Query.pm -- Infrastructure for querying the metadata for project and +version-specific properties. + +=head1 DESCRIPTION + +This module provides an internal API for querying the metadata. This +functionality externally surfaces through the C interface, +as well as C. + +=cut +package Query; + +use strict; +use warnings; + +use Constants; +use Utils; +use Project; + +=pod + +=head2 External API + +=over 4 + +=item C + +Used to retrieve a list of legal metadata fields. The current value of each field +is defined in L. This method must be modified to add or remove legal +fields. + +=cut +sub get_fields { + # All fields should be defined in Constants + my @fields = ($BUGS_CSV_BUGID, $BUGS_CSV_COMMIT_BUGGY, $BUGS_CSV_COMMIT_FIXED, $BUGS_CSV_ISSUE_ID, $BUGS_CSV_ISSUE_URL, $BUGS_CSV_DEPRECATED_WHEN, $BUGS_CSV_DEPRECATED_WHY, $METADATA_LOADED_CLASSES_SRC, $METADATA_LOADED_CLASSES_TEST, $METADATA_MODIFIED_CLASSES, $METADATA_RELEVANT_TESTS, $METADATA_TRIGGER_TESTS, $METADATA_TRIGGER_CAUSE, $METADATA_PROJECT_ID, $METADATA_PROJECT_NAME, $METADATA_BUILD_FILE, $METADATA_VCS, $METADATA_REPOSITORY, $METADATA_COMMIT_DB, $METADATA_DATE_BUGGY, $METADATA_DATE_FIXED); + return @fields; +} + +=pod + +=item C + +Checks whether an array of requested fields contains only legal entries. +If illegal fields are in the list, the query is killed. The list of legal +fields is defined by C. + +=cut +sub check_fields { + my @requested = @_; + my @all_fields = get_fields(); + foreach my $field (@requested) { + unless (grep $_ eq $field, @all_fields) { + die "Requested field \"$field\" is invalid"; + } + } +} + +=pod + +=item C + +Queries are executed through this subroutine. Accepts a project ID, +accepts a project ID, a flag indicating which bugs to query, and a set +of fields. The flag can have values C (only active bugs), D (only deprecated +bugs), or A (all bugs). Returns a dictionary associating bug IDs with a +dictionary containing values for each requested metadata field. +For examples of usage, see C and C. + +=cut +sub query_metadata { + my ($pid, $flag, @requested) = @_; + my $active_bugs = "$PROJECTS_DIR/$pid/$BUGS_CSV_ACTIVE"; + my $deprecated_bugs = "$PROJECTS_DIR/$pid/$BUGS_CSV_DEPRECATED"; + + # Check query for unavailable fields + check_fields(@requested); + + my %results; + my $project = Project::create_project($pid); + my @necessary = @requested; + push @necessary, $BUGS_CSV_BUGID; + push @necessary, $BUGS_CSV_COMMIT_BUGGY; + push @necessary, $BUGS_CSV_COMMIT_FIXED; + + # First, get results from the active and deprecated-bugs CSV files. + + if ($flag ne "D") { + %results = _read_bug_csv($active_bugs, @necessary); + + if (grep $_ eq $METADATA_COMMIT_DB, @requested) { + foreach my $bug_id (keys %results) { + $results{$bug_id}{$METADATA_COMMIT_DB} = $active_bugs; + } + } + } + + if ($flag eq "D" || $flag eq "A") { + my %dep_results = _read_bug_csv($deprecated_bugs, @necessary); + if (grep $_ eq $METADATA_COMMIT_DB, @requested) { + foreach my $bug_id (keys %dep_results) { + $dep_results{$bug_id}{$METADATA_COMMIT_DB} = $deprecated_bugs; + } + } + + foreach my $bug_id (sort { $a <=> $b } keys %dep_results) { + $results{$bug_id} = $dep_results{$bug_id}; + } + } + + # Now, get results from other metadata and associate with bug ID + + if (grep $_ eq $METADATA_LOADED_CLASSES_SRC, @requested) { + my %metadata = _read_class_list("$pid/loaded_classes", ".src", keys %results); + + foreach my $bug_id (keys %metadata) { + $results{$bug_id}{$METADATA_LOADED_CLASSES_SRC} = $metadata{$bug_id}; + } + } + + if (grep $_ eq $METADATA_LOADED_CLASSES_TEST, @requested) { + my %metadata = _read_class_list("$pid/loaded_classes", ".test", keys %results); + + foreach my $bug_id (keys %metadata) { + $results{$bug_id}{$METADATA_LOADED_CLASSES_TEST} = $metadata{$bug_id}; + } + } + + if (grep $_ eq $METADATA_MODIFIED_CLASSES, @requested) { + my %metadata = _read_class_list("$pid/modified_classes", ".src", keys %results); + + foreach my $bug_id (keys %metadata) { + $results{$bug_id}{$METADATA_MODIFIED_CLASSES} = $metadata{$bug_id}; + } + } + + if (grep $_ eq $METADATA_RELEVANT_TESTS, @requested) { + my %metadata = _read_class_list("$pid/relevant_tests", "", keys %results); + + foreach my $bug_id (keys %metadata) { + $results{$bug_id}{$METADATA_RELEVANT_TESTS} = $metadata{$bug_id}; + } + } + + if (grep $_ eq $METADATA_TRIGGER_TESTS, @requested) { + my %metadata = _read_stack_traces(0, "$pid/trigger_tests", keys %results); + + foreach my $bug_id (keys %metadata) { + $results{$bug_id}{$METADATA_TRIGGER_TESTS} = $metadata{$bug_id}; + } + } + + if (grep $_ eq $METADATA_TRIGGER_CAUSE, @requested) { + my %metadata = _read_stack_traces(1, "$pid/trigger_tests", keys %results); + + foreach my $bug_id (keys %metadata) { + $results{$bug_id}{$METADATA_TRIGGER_CAUSE} = $metadata{$bug_id}; + } + } + + if (grep $_ eq $METADATA_PROJECT_ID, @requested) { + foreach my $bug_id (keys %results) { + $results{$bug_id}{$METADATA_PROJECT_ID} = $pid; + } + } + + if (grep $_ eq $METADATA_PROJECT_NAME, @requested) { + foreach my $bug_id (keys %results) { + $results{$bug_id}{$METADATA_PROJECT_NAME} = $project->{prog_name}; + } + } + + if (grep $_ eq $METADATA_BUILD_FILE, @requested) { + foreach my $bug_id (keys %results) { + $results{$bug_id}{$METADATA_BUILD_FILE} = $PROJECTS_DIR."/".$pid."/".$pid.".build.xml"; + } + } + + if (grep $_ eq $METADATA_VCS, @requested) { + foreach my $bug_id (keys %results) { + $results{$bug_id}{$METADATA_VCS} = ref $project->{_vcs}; + } + } + + if (grep $_ eq $METADATA_REPOSITORY, @requested) { + foreach my $bug_id (keys %results) { + $results{$bug_id}{$METADATA_REPOSITORY} = $project->{_vcs}->{repo}; + } + } + + if (grep $_ eq $METADATA_DATE_BUGGY, @requested) { + foreach my $bug_id (keys %results) { + $results{$bug_id}{$METADATA_DATE_BUGGY} = $project->{_vcs}->rev_date($results{$bug_id}{$BUGS_CSV_COMMIT_BUGGY}); + } + } + + if (grep $_ eq $METADATA_DATE_FIXED, @requested) { + foreach my $bug_id (keys %results) { + $results{$bug_id}{$METADATA_DATE_FIXED} = $project->{_vcs}->rev_date($results{$bug_id}{$BUGS_CSV_COMMIT_FIXED}); + } + } + + return %results; +} + +=pod + +=back + +=cut +################################################################################ + +=pod + +=head2 Internal Helper Subroutines + +=over 4 + +=item C + +Gathers requested data from a designated bugs CSV file. +Returns a hash RESULTS [bug_id] = DATA [field] [value] +That is, we associate fields with their respective bug_id. +Arguments: filename of bugs CSV file, a set of requested fields. + +=cut +sub _read_bug_csv { + my ($filename, @fields) = @_; + open (IN, "<$filename") or die "Cannot open $filename"; + + my $head = ; + chomp $head; + my @header = split /,/, $head; + my %cols; + my %results; + + my ($bug_id_col) = grep { $header[$_] eq $BUGS_CSV_BUGID } (0 .. @header-1); + unless (defined $bug_id_col) { + die "Bug IDs are not included in $filename."; + } + + # Associate fields with columns using the header + foreach my $item (@fields) { + ($cols{$item}) = grep { $header[$_] eq $item } (0 .. @header -1); + unless (defined $cols{$item}) { + $cols{$item} = -1; + } + } + + # Read contents of file, associate each line with the bug ID. + while (my $line = ) { + chomp $line; + my @columns = split /,/, $line; + my $bug_id = $columns[$bug_id_col]; + foreach my $item (@fields) { + if ($cols{$item} != -1) { + $results{$bug_id}{$item} = $columns[$cols{$item}]; + } else { + $results{$bug_id}{$item} = "NA"; + } + } + } + close IN; + + return %results; +} + +=pod + +=item C + +Reads in a class list (loaded/modified classes, relevant tests) +and returns the results as a single string, associated with +the requested bug IDs. + +=cut +sub _read_class_list { + my ($base_dir, $ext, @bugs) = @_; + my %results; + + foreach my $bug_id (@bugs) { + my $filename = "$PROJECTS_DIR/$base_dir/$bug_id$ext"; + open (IN, "<$filename") or die "Cannot open $filename"; + my $list = ; + chomp $list; + + # Read contents of file + while (my $line = ) { + chomp $line; + $list = $list.";".$line; + } + close IN; + $results{$bug_id} = "\"".$list."\""; + } + return %results; +} + +=pod + +=item C + +Reads in a list of tests and stack traces (trigger/failing tests) +and returns the results as a single string, associated with +the requested bug IDs. The first argument determines whether +the root cause is included or not. + +=cut + +sub _read_stack_traces { + my ($include_root, $base_dir, @bugs) = @_; + my %results; + + foreach my $bug_id (@bugs) { + my $filename = "$PROJECTS_DIR/$base_dir/$bug_id"; + open (IN, "<$filename") or die "Cannot open $filename"; + my $list = ""; + my $cause = 0; + + # Read contents of file + while (my $line = ) { + chomp $line; + if (grep /^--- /, $line) { + $line =~ s/^--- //; + if ($list eq "") { + $list = $line; + } else { + $list = $list.";".$line; + } + $cause = 1; + next; + } + if ($cause == 1){ + $cause = 0; + if ($include_root == 1){ + $line =~ s/\"//g; + $list = $list." --> $line"; + } + } + } + close IN; + $results{$bug_id} = "\"".$list."\""; + } + return %results; +} + +1; From a626c14318112fe86b057729b366fc3d2576565e Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Wed, 1 Jul 2020 10:34:59 +0200 Subject: [PATCH 31/35] Renaming print-bugs to bids following conversation with @rjust --- README.md | 2 +- framework/bin/d4j/{d4j-print-bugs => d4j-bids} | 8 ++++---- framework/bin/d4j/d4j-query | 4 ++-- framework/bin/defects4j | 6 +++--- 4 files changed, 10 insertions(+), 10 deletions(-) rename framework/bin/d4j/{d4j-print-bugs => d4j-bids} (94%) diff --git a/README.md b/README.md index efc0e47b7..dff1409be 100644 --- a/README.md +++ b/README.md @@ -142,10 +142,10 @@ Use [`framework/bin/defects4j`](http://defects4j.org/html_doc/defects4j.html) to | [checkout](http://defects4j.org/html_doc/d4j/d4j-checkout.html) | Checkout a buggy or a fixed project version | | [compile](http://defects4j.org/html_doc/d4j/d4j-compile.html) | Compile sources and developer-written tests of a buggy or a fixed project version | | [test](http://defects4j.org/html_doc/d4j/d4j-test.html) | Run a single test method or a test suite on a buggy or a fixed project version | -| [print.bugs](http://defects4j.org/html_doc/d4j/d4j-print-bugs.html) | Print the list of active bug IDs for a specific project | | [mutation](http://defects4j.org/html_doc/d4j/d4j-mutation.html) | Run mutation analysis on a buggy or a fixed project version | | [coverage](http://defects4j.org/html_doc/d4j/d4j-coverage.html) | Run code coverage analysis on a buggy or a fixed project version | | [monitor.test](http://defects4j.org/html_doc/d4j/d4j-monitor.test.html) | Monitor the class loader during the execution of a single test or a test suite | +| [bids](http://defects4j.org/html_doc/d4j/d4j-bids.html) | Print the list of active bug IDs for a specific project | | [export](http://defects4j.org/html_doc/d4j/d4j-export.html) | Export version-specific properties such as classpaths, directories, or lists of tests | | [query](http://defects4j.org/html_doc/d4j/d4j-query.html) | Query the metadata to generate a CSV file of requested information for a specific project | diff --git a/framework/bin/d4j/d4j-print-bugs b/framework/bin/d4j/d4j-bids similarity index 94% rename from framework/bin/d4j/d4j-print-bugs rename to framework/bin/d4j/d4j-bids index e88d74b79..72e208a91 100755 --- a/framework/bin/d4j/d4j-print-bugs +++ b/framework/bin/d4j/d4j-bids @@ -24,11 +24,11 @@ =head1 NAME -d4j-print-bugs -- Lists all bug IDs for a project +d4j-bids -- Lists all bug IDs for a project =head1 SYNOPSIS - d4j-print-bugs -p project_id [-D|-A] + d4j-bids -p pid [-D|-A] =head1 DESCRIPTION @@ -40,7 +40,7 @@ available active bug IDs is returned. =over 4 -=item -p C +=item -p C The ID of the project for which metadata is requested. A project ID must be provided to use this utility. @@ -70,7 +70,7 @@ use Query; # Issue usage message and quit # sub _usage { - print "usage: $0 -p project_id [-D|-A]\n"; + print "usage: $0 -p pid [-D|-A]\n"; exit 1; } diff --git a/framework/bin/d4j/d4j-query b/framework/bin/d4j/d4j-query index 6b86327a2..ce0e2bda9 100755 --- a/framework/bin/d4j/d4j-query +++ b/framework/bin/d4j/d4j-query @@ -28,7 +28,7 @@ d4j-query -- query the metadata for a project to obtain CSV-formatted results. =head1 SYNOPSIS - d4j-query -p project_id [-q query] [-o output_file] [-h] [-D|-A] + d4j-query -p pid [-q query] [-o output_file] [-h] [-D|-A] =head1 DESCRIPTION @@ -41,7 +41,7 @@ the list of available active bug IDs is returned. =over 4 -=item -p C +=item -p C The ID of the project for which metadata is requested. A project ID must be provided to use this utility. diff --git a/framework/bin/defects4j b/framework/bin/defects4j index 2803a3081..fa59e794a 100755 --- a/framework/bin/defects4j +++ b/framework/bin/defects4j @@ -140,12 +140,12 @@ $cmd_descr{query}="query the metadata for a particular project for automation pu =pod -=item * L|d4j::d4j-print-bugs/> +=item * L|d4j::d4j-bids/> -print all active bug IDs for a project. +print all active bug IDs for a specific project. =cut -$cmd_descr{"print-bugs"}="print all active bug IDs for a project"; +$cmd_descr{bids}="print all active bug IDs for a specific project"; # # Issue usage message and quit From ef3c4862a1acc257ff2a322e0b1427daa35e2dc3 Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Wed, 1 Jul 2020 10:37:47 +0200 Subject: [PATCH 32/35] Consistent terminology in README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index dff1409be..73008c117 100644 --- a/README.md +++ b/README.md @@ -171,9 +171,9 @@ directory to export a version-specific property: Export project-specific metadata -------------------------------- -Use `defects4j query -p -q [-o ] [-d] [-a]` +Use `defects4j query -p -q [-o ] [-D|-A]` to generate a CSV file containing a set of requested metadata for each bug -in a project. +in a specific project. By default, `defects4j query` returns a list of active bug IDs for a project. To request specific metadata, the `-q` flag should be provided with a From e7e8b710aeba85d7105f0f476fda3c7ad05539bb Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Wed, 1 Jul 2020 10:44:39 +0200 Subject: [PATCH 33/35] Fixing typo in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 73008c117..1fa87cfb2 100644 --- a/README.md +++ b/README.md @@ -178,7 +178,7 @@ in a specific project. By default, `defects4j query` returns a list of active bug IDs for a project. To request specific metadata, the `-q` flag should be provided with a comma-separated list of variables from the list below. For example, -`defects4j query -p Chart -q "report.id,report.url" will provide the a list of +`defects4j query -p Chart -q "report.id,report.url"` will provide the a list of all active bug IDs, along with the bug report ID and bug report URL for each. From 0793afbcb791faba56d8e6a30a6059a890c8629c Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Thu, 2 Jul 2020 09:19:20 +0200 Subject: [PATCH 34/35] Minor documentation and field name adjustments --- README.md | 6 +++--- framework/core/Constants.pm | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1fa87cfb2..c2aebfd52 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,7 @@ Use [`framework/bin/defects4j`](http://defects4j.org/html_doc/defects4j.html) to | [mutation](http://defects4j.org/html_doc/d4j/d4j-mutation.html) | Run mutation analysis on a buggy or a fixed project version | | [coverage](http://defects4j.org/html_doc/d4j/d4j-coverage.html) | Run code coverage analysis on a buggy or a fixed project version | | [monitor.test](http://defects4j.org/html_doc/d4j/d4j-monitor.test.html) | Monitor the class loader during the execution of a single test or a test suite | -| [bids](http://defects4j.org/html_doc/d4j/d4j-bids.html) | Print the list of active bug IDs for a specific project | +| [bids](http://defects4j.org/html_doc/d4j/d4j-bids.html) | Print the list of active or deprecated bug IDs for a specific project | | [export](http://defects4j.org/html_doc/d4j/d4j-export.html) | Export version-specific properties such as classpaths, directories, or lists of tests | | [query](http://defects4j.org/html_doc/d4j/d4j-query.html) | Query the metadata to generate a CSV file of requested information for a specific project | @@ -186,11 +186,11 @@ all active bug IDs, along with the bug report ID and bug report URL for each. |-----------------------|-------------------------------------------------------------------------------------| | bug.id | Assigned bug IDs (included in all results) | | project.id | Assigned project ID | -| project.name | Original repository name | +| project.name | Original project name | | project.build.file | Location of the Defects4J build file for the project | | project.vcs | Version control system used by the project | | project.repository | Location of the project repository | -| project.commit.db | Location of the CSV containing information on that bug | +| project.bugs.csv | Location of the CSV containing information on that bug | | revision.id.buggy | Commit hashes for the buggy version of each bug | | revision.id.fixed | Commit hashes for the fixed version of each bug | | revision.date.buggy | Date of the buggy commit for each bug | diff --git a/framework/core/Constants.pm b/framework/core/Constants.pm index 9b8c7c4bb..500943a38 100644 --- a/framework/core/Constants.pm +++ b/framework/core/Constants.pm @@ -292,7 +292,7 @@ our $METADATA_PROJECT_NAME = "project.name"; our $METADATA_BUILD_FILE = "project.build.file"; our $METADATA_VCS = "project.vcs"; our $METADATA_REPOSITORY = "project.repository"; -our $METADATA_COMMIT_DB = "project.commit.db"; +our $METADATA_COMMIT_DB = "project.bugs.csv"; our $METADATA_LOADED_CLASSES_SRC = "classes.relevant.src"; our $METADATA_LOADED_CLASSES_TEST = "classes.relevant.test"; our $METADATA_MODIFIED_CLASSES = "classes.modified"; From 5e5b9a97faa00bead4437ff47cbfa024c7e7371f Mon Sep 17 00:00:00 2001 From: Greg4cr Date: Thu, 2 Jul 2020 09:20:39 +0200 Subject: [PATCH 35/35] Adjustment to d4j-query test output --- framework/test/resources/output/d4j-query/1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/test/resources/output/d4j-query/1 b/framework/test/resources/output/d4j-query/1 index 71512a434..48996a7c9 100644 --- a/framework/test/resources/output/d4j-query/1 +++ b/framework/test/resources/output/d4j-query/1 @@ -1 +1 @@ -Available fields: bug.id, revision.id.buggy, revision.id.fixed, report.id, report.url, deprecated.version, deprecated.reason, classes.relevant.src, classes.relevant.test, classes.modified, tests.relevant, tests.trigger, tests.trigger.cause, project.id, project.name, project.build.file, project.vcs, project.repository, project.commit.db, revision.date.buggy, revision.date.fixed +Available fields: bug.id, revision.id.buggy, revision.id.fixed, report.id, report.url, deprecated.version, deprecated.reason, classes.relevant.src, classes.relevant.test, classes.modified, tests.relevant, tests.trigger, tests.trigger.cause, project.id, project.name, project.build.file, project.vcs, project.repository, project.bugs.csv, revision.date.buggy, revision.date.fixed