Hacker News 의견
  • 한 사용자는 파일을 줄이는 방법을 공유하고, RustPython과 scrapscript를 사용하여 설정하는 방법을 설명함

    • git clone 명령어를 사용하여 RustPython과 scrapscript를 클론하고, cargo build --release로 빌드함
    • interesting.sh 파일을 다운로드하고 실행 권한을 부여함
    • nix run nixpkgs#creduce 명령어를 사용하여 파일을 줄임
  • C-Reduce의 사용을 추천하며, Shrinkray라는 도구도 함께 사용해볼 것을 권장함

    • Shrinkray는 포맷에 독립적이며 C-Reduce가 잘 작동하지 않는 경우에도 유용함
  • C-Reduce에 대한 논문이 2012년에 발표되었음을 언급함

    • John Regehr et al.의 논문을 통해 C-Reduce의 작동 방식을 설명함
  • C-Reduce를 처음 알게 되었고, git bisect를 처음 발견했을 때와 같은 흥미로움을 느낌

    • 나중에 필요할 때 사용하기 위해 기억해 두기로 함
  • C-Reduce의 예시를 보여주는 기사를 발견했으나, 각 반복에서 무엇을 제거할지 결정하는 방법에 대한 이해가 어려움

    • 토큰화 과정이 있을 것으로 추측되지만, 프로그래밍 언어 간에 어떻게 작동하는지 이해하기 어려움
  • C-Reduce가 매우 유용하다고 평가함

    • CSmith를 사용하여 무작위 테스트 프로그램을 생성하고, 충돌 시 자동으로 C-Reduce를 사용하여 문제를 줄임
  • 델타 디버깅은 새로운 개념이 아님

    • "delta"라는 델타 디버깅 구현은 19년 이상 되었으며, 오픈 소스로 공개됨
    • LLVM 소개에서는 표준 델타 디버깅 도구로 언급됨
  • SQL에서도 잘 작동하며, 직장에서 사용 중임

    • SQLancer를 통해 발견함
  • C 언어 외의 언어에서도 작동하는 이유에 대한 설명이 없으면 믿기 어려움

    • LLM을 사용하지 않기 때문에 더욱 혼란스러움
  • C-Reduce의 좋은 후속 도구로 cvise를 추천함

    • 어셈블리 프로그램을 최소한의 집합으로 줄이는 데 여러 번 사용했으며, 매우 유용한 프로그램임