Inputs: names starting with '-' become tool options, --static with --invoke runs a tool twice, missing inputs found late
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 50/100
Research direction
Start with src/Process/Tools/FlawfinderToolImplementation.cpp near line 18 and include/Process/Tools/AnalysisTools.hpp lines 212-213, where input paths are passed to tools without a -- separator, and compare with how the cppcheck and runtime-analyzer paths are built. Then find where --static and --invoke selections are combined, and check the input-resolution step for missing files and --compile-commands. Done means each acceptance item in the issue has a test: a -x.c input is analyzed, cppcheck runs once, and a missing path exits 1 with that path named.
Written by the indexing model from the issue text.
Description
Three problems with how inputs reach the tools, found by the resilience campaign (docs/quality/resilience.md).
1. File names that start with - are read as options (C37)
ctrace --input ./-F.c --invoke flawfinder
The path is normalized to -F.c and passed to flawfinder as an argument, which reads it as an option: *** getopt error: option -. not recognized, exit 3. A repository can name its files freely, and flawfinder and ikos have options that write files. src/Process/Tools/FlawfinderToolImplementation.cpp:18 and include/Process/Tools/AnalysisTools.hpp:212-213 pass paths without a -- separator; cppcheck and tscancode use --file-list, and the runtime analyzer already passes --.
Fix: pass -- before the file paths, or ./ before a path that starts with -.
2. --static with --invoke runs a tool twice (C36)
ctrace --input ok.c --static --invoke cppcheck runs cppcheck twice and counts each of its findings twice.
Fix: merge the selections into one set of tools before running them.
3. Missing inputs are found late (C07, C08, C23)
A missing input file is passed to the tools, which fail: the run ends with exit 3, "cppcheck could not run", instead of saying that the file does not exist. A --compile-commands that does not exist gives "No input files resolved" without naming it.
Fix: check that each input exists before running any tool, and exit 1 naming the missing path.
Acceptance
- An input named
-x.cis analyzed by every tool. --static --invoke cppcheckruns cppcheck once.- A missing input or compile database exits 1 with its path in the message.
- A test for each.
- Dominant language
- C++
- Stars
- 5
- Forks
- 4
- Avg merge
- 1h 10m
- Merged PRs (30d)
- 79
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from CoreTrace/coretrace
-
chore good first issue severity/minor
Difficulty 1/5 Under an hour Newbie friendliness 90/100
Maintainers usually reply within 1 day
-
build severity/minor
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
CoreTrace/coretrace#176 · 1 comment ·
Maintainers usually reply within 1 day
-
build good first issue severity/minor
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
test: add unit tests for ctrace::RunDirectoryPossibly taken @tecnolgd claimed this 2 days ago. Opengood first issue test
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
CoreTrace/coretrace#164 · 2 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Builds without a build type are unoptimized: the README's commands and CI's main jobPossibly taken @SizzleUnrlsd claimed this 1 day ago. Openbuild severity/minor
CoreTrace/coretrace#192 · 1 assignee ·
Maintainers usually reply within 1 day
All issues in CoreTrace/coretrace
Similar issues
-
agent:Windows bug code-review LOW testing
Difficulty 2/5 1-3 hours Newbie friendliness 63/100
Maintainers usually reply within 1 day
-
[Cleanup] Include the public header in work_split.cppPossibly taken @blozano-tt claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
tenstorrent/tt-metal#60850 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
beehive-lab/TornadoVM#1248 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SimVascular/svZeroDSolver#253 ·
-
core: RAC_LLM_OPTIONS_DEFAULT.min_p disagrees with the IDL's annotated defaultPossibly taken A pull request linked to this issue is open or already merged. Openbug core p3
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
RunanywhereAI/runanywhere-sdks#1083 ·
Maintainers usually reply within 5 days