- SIGBOVIK 2019 논문은 벽에 페인트를 문질러도 Perl 프로그램이 되지 않을 수 있는가를 OCR 실험으로 확인했고, 100개 얼룩 중 93%가 Perl로 파싱됨
- 실험은 페인트 얼룩 이미지를 OCR 문자열로 변환한 뒤, 그 결과가 유효한 Perl 프로그램인지 검사하는 방식으로 진행됨
- 93%가 유효했지만 나머지 7개 얼룩은 Perl로 파싱되지 않아, “항상 Perl이 된다”는 식의 농담에는 예외가 남아 있음
- 공개 자료에는 모든 얼룩 이미지와 대응하는 Perl 소스가 포함되며, 유효하지 않은 이미지는 빨간색 “Not valid” 표시로 구분됨
- 제출 이후 확인된 일부 OCR 결과는 Perl에서 숫자
0이나 문자열c,E__로 평가되어, 우연히 만들어진 코드의 기묘함을 보여줌
페인트 얼룩으로 검증한 Perl 파싱 가능성
- 이 논문은 프로그래밍 언어 커뮤니티의 오래된 공개 문제처럼 포장한 질문, 즉 벽에 페인트를 문질러도 유효한 Perl을 만들지 않을 수 있는가를 실험 대상으로 삼음
- 결론은 “가능하다”에 가까움
- OCR 소프트웨어를 사용한 실험에서 페인트 얼룩의 93% 만 유효한 Perl로 파싱됨
- 따라서 일부 페인트 얼룩은 유효한 Perl 프로그램이 아님
- 논문은 페인트 얼룩 Perl 프로그램의 성질을 분석하고, 유효한 Perl 프로그램이 아닌 얼룩 7개 예시를 함께 제시함
SIGBOVIK 2019 논문과 공개 자료
- 논문은 2019년 4월 1일 Pittsburgh에서 열린 SIGBOVIK 2019에 채택됨
- “Unwitting Participation Ribbon”도 받음
- 이 리본은 “진짜 산출물”을 포함한 논문에 붙는 것으로 소개됨
- 논문과 프로시딩은 여러 형태로 공개되어 있음
- Google Docs: 논문 보기
- PDF: 논문 다운로드
- SIGBOVIK 2019 proceedings: 전체 프로시딩, 해당 논문은 174쪽
얼룩 갤러리와 100개 이미지 데이터셋
- all the paint splatters는 모든 페인트 얼룩을 한 페이지에 모아 보여주며, 각 이미지에 대응하는 유효한 Perl 소스 코드도 함께 제공함
- 유효한 Perl 프로그램으로 파싱되지 않은 이미지는 빨간색 “Not valid” 표시로 구분됨
- 서로 다른 OCR 설정에서 여러 유효한 Perl 프로그램이 인식된 경우, 가장 “흥미롭다”고 느낀 결과 하나가 선택됨
- tarball of 100 paint-splatter images는 논문의 주요 데이터셋으로 쓰인 100개 페인트 얼룩 이미지를 담고 있음
제출 이후 확인된 추가 사례
- SIGBOVIK 제출 마감 이후에도 흥미로운 페인트 얼룩 Perl 프로그램이 추가로 확인됨
- OCR이
lerzfijglpFiji-j로 인식한 얼룩은 Perl에서 숫자0으로 평가됨 -*?로 인식된 얼룩 역시 Perl에서 숫자0으로 평가됨;i;c;;#\\?z{;?;;fn':.;로 인식된 이미지는 Perl에서 문자열c가 됨;E,'__'로 인식된 이미지는 Perl에서 문자열E__로 평가됨