-
Notifications
You must be signed in to change notification settings - Fork 0
Replaying Body Experiments
저장된 실험을 현재 컴퓨터에서 확인하는 안내입니다. Go1.27.1을 사용합니다. 실험 저장소 #19가 병합됐고, 로컬 실행과 Linux CI에서 두 재현 경로를 확인했습니다.
git clone https://github.com/kimjooyoon/gooo-metaprogramming-experiments.git
cd gooo-metaprogramming-experiments/tools/baseline-replay
go run . --root ../.. --output /tmp/gooo-baseline-new
go run . --revision2 --root ../.. --output /tmp/gooo-candidates-new출력 폴더는 새 이름을 사용합니다. --output을 생략하면 임시 폴더를 만들고 경로를
출력합니다. 첫 명령은 앞선 컴파일러 두 버전에서 저장한 생성 프로그램 52개를
다시 컴파일·실행합니다. 두 번째는 기준 함수 두 묶음과 원래·수정 후보를 실행합니다.
모델 호출과 새 코드 생성은 0회이며, 준비 스크립트는 자료로 읽습니다.
새 바디를 직접 작성하려면 여러 줄 바디 작성, 모델과 결정론적 조립을 비교하려면 파일에서 바디 조립·실행을 참고합니다.
| 먼저 볼 것 | 의미 | 이번 후보 재현 |
|---|---|---|
| 선언한 후보 수 | 확인할 전체 후보 | 각 버전 96 |
| 컴파일·실행 수 | 실제 결과를 낸 후보 | 원래 93, 수정 96 |
| 컴파일 실패 | 실행 전에 실패한 후보 | 원래 3, 수정 0 |
| 선택 입력 충족 | 조립 경로를 판단하는 입력의 동작 | 후보별 training.passed / training.total
|
| 평가 입력 충족 | 선택 뒤 별도로 확인할 입력의 동작 | 후보별 evaluation.passed / evaluation.total
|
| 소스 완전성 | 받아들인 Gooo 구조가 생성물에 반영됐는가 | 별도 컴파일러 기록 |
컴파일에 통과한 후보도 기대값과 다르게 동작할 수 있습니다. 두 번째 명령의
independent-replay-report.json에서 original.design_results와
revision_2.design_results를 열면 과제·후보별 두 충족 수를 볼 수 있습니다.
independent-replay-report.md는 전체 요약입니다.
이번 수정 후보에서 지정된 정답 후보는 선택 입력 137/137, 평가 입력 95/95를 충족했습니다. 32개 선택 입력 묶음은 모두 정답 후보와 두 대안을 구분합니다. 이는 실험에서 지정한 후보의 유한 동작 관측입니다. 실제 모델 판단의 충족률은 모델을 호출한 별도 기록에서 읽습니다. 양쪽 버전은 같은 32개 의도를 사용합니다.
임시 복사본의 결과 189개를 지우고 후보 테스트를 실제 실행합니다. 새 파일을 원래 파일 해시와 대조하므로 이전 결과가 남아 있는 상태로 성공하지 않습니다. 원래 세 컴파일 실패도 확인하며, 그 후보들의 예정 입력행 24개에는 실행 결과가 없습니다.
실패 피드백 32묶음은 원본 소스와 선택 입력의 해시, 후보 ID, 새 실행 결과를 함께 확인합니다. 평가 입력은 피드백 관측에 들어가지 않습니다. 시간 제한에 걸리면 자식 프로세스 그룹을 정리하고, 완료된 원문과 실패 기록을 출력 폴더에 남깁니다.
원래 고정 파일·수정 전 실패·새 실행·도구 소스와 실행파일 해시를 함께 보존합니다. 과거와 현재의 문서나 도구 버전이 달라도 어떤 조건의 관측인지 다시 확인하기 위한 장치입니다. 공개 원본과 실행 비용.