Repository navigation
Conversation
|
Warning Review limit reached
This review includes 73 billable files and costs up to $18.25. Or wait 38 minutes for your next included review. View limit detailsLimit details: You’ve used all 2 included reviews currently available. Review configuration: ⚙️ Run configuration
⛔ Files ignored due to path filters (2)
📒 Files selected for processing (73)
Comment |
This was referenced Oct 6, 2026
…t-support-old-format
…are-hierarchy # Conflicts: # java/daikon/Daikon.java # java/daikon/PptRelation.java
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
….pl unescaping, remove version 1 leftovers * developer.texinfo: release snippets no longer test for the deleted front-end/ directory; example .decls is now in version 2 format; clarify that a file with no decl-version record is read as version 2. * CHANGELOG.md: accurately describe what identifies a version 1 file. * convertcsv.pl: unescapeDecl now handles \n and \r like FileIO.unescape_decl. * Remove lwpp-init.pl (only used with the removed lwpp.pl) and unused version 1 Kvasir goal files for SimpleDisambigStructTest. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…trace, cluster scripts - ppt_perc: never exclude GLOBAL/OBJECT/CLASS ppts (they are parents of included ppts); read ppt names via FileIO.declared_ppt_name, which applies user_mod_ppt_name. - MergeInvariants with a .decls file: create combined exits before init_hierarchy, and clean the ppt map for merging on both paths. - SplitDtrace: handle traces without declarations; pass header records through. - decls-add-cluster.pl: link the cluster variable to its parents. - dtrace-count.pl, dtrace-indent.pl: match declaration records exactly. - Remove simplify_expression/simplify_variable_names and the unused return value of read_decl_version. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tDtrace comments - FileIO.is_parent_only_ppt_name: use PptName rather than a substring match on "GLOBAL". - read_ppt_decl: reuse declared_ppt_name to parse the ppt name. - SplitDtrace: use new FileIO.is_header_record, which also recognizes comment records. - MergeInvariants: clean ppts for merge only when reading .inv files. - developer manual: there is no longer a Perl front end. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ion 2 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add DaikonGetopt, a Getopt subclass that throws a UserError describing an unrecognized, ambiguous, or malformed option and handles -h and --help. Use it in Daikon and in the other tools that use Getopt. Remove Diff's -u and -z options, which had no effect. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Tools that take no options other than -h and --help now use DaikonGetopt, so they print a usage message for -h and --help and reject other options. Tools that use plume-lib Options exit with status 0 after printing help. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…per call Report a UserError for missing or non-integer num_reps and sample_size and for a malformed -SEED. Pass every argument that is not a TraceSelect option to Daikon rather than silently dropping some. mainHelper resets its static state on each call. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd --help Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The instrumenter and WriteViolationFile use DaikonGetopt. The instrument command reports a bad option and its usage message rather than ignoring the option. A missing .doc file is reported as a bug. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…onditions
* Write "pkg.Foo.bar(int):::" for an entry or exit program point, so that
SplitterList.get applies the splitters to every program point of the
method (not, say, "Foo.bar():::EXIT1" to "Foo.bar():::EXIT12"), and so
that conditions found at different program points of one method are
output once.
* Group conditions over orig(cluster) with those over cluster.
* Omit "b == i" where exactly one operand is a boolean.
* Parenthesize conjuncts that contain "?:", "==>", or other operators of
lower precedence than conjunction.
* Do not treat names such as "borig(" as pre-state values.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Treat a lexical error (TokenMgrError) in a splitter condition like a parse error. - Include compiler standard output in the error output only when compilation fails. - Normalize paths when matching javac error output against source files. - Compute splitter source and class paths in one place, in SplitterObject. - Remove the redundant nonexistent-file filter from FileCompiler. - Test unwritable splitter files and lexical errors; clean up SplitterList after tests.
QuantFixer now runs after the StatementReplacer and the name fixers, and it uses the VarInfos to produce type-correct Java code that matches daikon.Quant semantics: a null array yields Quant's default value, the index may be a long, boolean elements are stored as longs, and char arrays are Strings. PrefixFixer leaves alone any name that does not start with a variable name, such as java.lang.Math.abs. The QuantCalls splitter test covers the new cases.
Test the .spinfo program point name, parenthesization of conjuncts, the pre-state pattern, the filter for numeric invariants over booleans, and the grouping of orig(cluster) with cluster. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit b694105)
(cherry picked from commit b694105)
(cherry picked from commit b694105)
# Conflicts: # doc/CHANGELOG.md
# Conflicts: # doc/CHANGELOG.md # java/daikon/DaikonGetopt.java # java/daikon/SplitDtrace.java # java/daikon/test/BadOptionTest.java # java/daikon/tools/DtraceNonceFixer.java # java/daikon/tools/ReadTrace.java
…rmat # Conflicts: # java/daikon/SplitDtrace.java
# Conflicts: # doc/CHANGELOG.md # java/daikon/SplitDtrace.java
# Conflicts: # doc/CHANGELOG.md # java/daikon/SplitDtrace.java
# Conflicts: # java/daikon/DaikonGetopt.java # java/daikon/test/BadOptionTest.java
# Conflicts: # java/daikon/DaikonGetopt.java
…n-files # Conflicts: # java/daikon/test/AllTestsSuite.java
# Conflicts: # java/daikon/test/AllTestsSuite.java # java/daikon/tools/DtraceNonceFixer.java
# Conflicts: # doc/CHANGELOG.md
…litter-quant-calls # Conflicts: # java/daikon/test/split/SplitterFactoryTestUpdater.java
…are-hierarchy # Conflicts: # doc/CHANGELOG.md
# Conflicts: # doc/CHANGELOG.md # java/daikon/PptTopLevel.java
…6-integration # Conflicts: # java/daikon/test/split/targets/DataStructures_QueueAr_dequeue_25.java.goal # java/daikon/test/split/targets/DataStructures_QueueAr_dequeue_27.java.goal # java/daikon/test/split/targets/DataStructures_QueueAr_enqueue_29.java.goal # java/daikon/test/split/targets/DataStructures_QueueAr_enqueue_30.java.goal # java/daikon/test/split/targets/DataStructures_QueueAr_enqueue_31.java.goal # java/daikon/test/split/targets/DataStructures_QueueAr_enqueue_32.java.goal # java/daikon/test/split/targets/DataStructures_QueueAr_isFull_21.java.goal # java/daikon/test/split/targets/DataStructures_QueueAr_isFull_22.java.goal # java/daikon/test/split/targets/Math__BigFloat_bdiv__39.java.goal
…tion # Conflicts: # java/daikon/test/AllTestsSuite.java
…integration # Conflicts: # java/daikon/VarInfo.java # java/daikon/split/SplitterList.java
…tegration # Conflicts: # java/daikon/test/AllTestsSuite.java
# Conflicts: # doc/CHANGELOG.md # java/daikon/DaikonGetopt.java # java/daikon/test/AllTestsSuite.java # java/daikon/test/BadOptionTest.java # java/daikon/tools/jtb/CreateSpinfoC.java # java/daikon/tools/runtimechecker/CommandHandler.java # java/daikon/tools/runtimechecker/InstrumentHandler.java # java/daikon/tools/runtimechecker/Main.java # java/daikon/tools/runtimechecker/WriteViolationFile.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merge #885, #886, #887, #888, #880, #876, #875, #877, #867, #868, #870, and #869 first. (#880 is required because #875 depends on it, and #870 because #869 depends on it.) This pull request includes their changes, because its tests depend on them. After they are merged, this PR changes only the runcluster scripts, their tests, and the manual.
Fixes #365.
Fixes #537.
runcluster.plfailed on every input, and on a malformed trace it gave no useful error message.Scripts:
runcluster.pl:DtraceNonceFixeronce, into a temporary copy of each trace that bothextract_vars.planddtrace-add-cluster.plread, instead of overwriting the user's dtrace file.:::OBJECTprogram points.--var-omit-patterncorrectly.extract_vars.plrejects a trace, say which input file the temporary copy came from.extract_vars.pl:outfile_2a_runcluster_temp_nonces.dtrace line 4: expected variable Time, got 179.736000 for program point 0x305programpoint:::POINT.$value =~ -5, which should be an assignment.dtrace-add-cluster.pl: escape.in filename regexes.s/.cluster//matched "ncluster" in "runcluster_temp", so every record was discarded and Daikon reported "No samples found". Skip declarations in dtrace files.decls-add-cluster.pl: support the version 2 declaration format, gzipped files, dtrace files that contain declarations, and a decls file in the current directory.Tests are in
tests/script-tests/runcluster/, run byscripts/test-misc.sh. They cover declarations in a decls file and in the dtrace file, a malformed trace, and a check that Daikon loads every splitter in the resulting .spinfo file.