[Benchmark] add sort - #38
suhdonghwi wants to merge 1 commit into
Conversation
|
Could you review the scope in |
|
안녕하세요. Dafnyutils 프로젝트에 참여해 주셔서 감사드립니다. 현재 구현 절차가 변경되어 draft PR 없이 현재 IO modeling이 허용하는 범위 내에서 최대한 상세한명세를 작성하고 구현과 증명을 작성하시면 됩니다. 여기서 상세한 명세란,
감사합니다. 추가로 질문이 있으시면 편하게 댓글을 남겨 주세요. Hello. Thank you for participating in the Dafnyutils project. The implementation procedure has recently changed. You no longer need to create a draft PR. Instead, please write the most precise specification possible within the scope currently supported by IO modeling, and then implement the code and provide the corresponding proofs. By a detailed specification, we mean aiming for a specification that is sound while being as complete as possible:
You can think of the provided fuzzer as a tool for checking soundness. Thank you. If you have any additional questions, please feel free to leave a comment. |
Draft for scope review before implementation (refs #28).
This PR adds the
sortscaffold and its scope inbench/utils/sort/sort.md. This PR uses the sort row of TODOLIST.csv without changes:Whole-line C byte order; -r, -u, -s, -c, -C, -z; file/stdin operands, stdout output (check mode uses regular files)..Change and scope
sort, coreutils.8bd205f, no uncommitted changes./workspace/dafnyutilsin the contributor dev container (Ubuntu 24.04),dafny-benchmark4.11.1+1eb9fc5fa, Python 3.12.3, ruff 0.15.12.2cf491412(v9.10-13-g2cf491412),src/sort.c, https://www.gnu.org/software/coreutils/, GPL-3.0-or-later. Upstream test scenarios will be selected during implementation.sort.md. Linux, C locale,TZ=UTC0; stdout, stderr, exit status and standard input consumption;bench/coreata98d11a.coreutils/src/sort.cat2cf491412-r -u -s -c -C -zand their long spellings, grouped short options,--,--helpand--version; zero or more file operands or-; arbitrary bytes in newline or NUL records. Check mode takes one regular file.TZ=UTC0, fixed non-root user, stable files in the test tree, stdout captured by the evaluatorbench/core/IO.dfyread, write, errno-text and quoting contracts ata98d11a-u); first disorder in check mode; diagnostics and exit policyOptions left out due to IO.dfy
-c/-Creading standard input (no operand, or-)IO.dfyprovides only whole-input standard input reads (ReadStdinAll,ReadStdinWithOutcome), so the consumed prefix cannot be matched.1. Test results
2. Fuzzing results
3. Verification results
python3 -m benchmarks validate sort, exit 0.Progress notes
ruff format --check .,ruff check .andpython3 -m benchmarks validate sortpass.bench/utils/sort/sort.md.SortSpec.dfyafter the scope review.AI usage
I wrote this PR with the help of Claude Opus 5.5. It helped me probe the pinned GNU sort source code and assisted with writing the body of this draft. I reviewed the content.