징크스 디버거

Jinx Debugger

Jinx는 공유 메모리 상호작용에 초점을 맞추어 프로세서 코어에 걸친 워크로드 인터리빙을 결정적으로 제어하는 동시성 디버거였습니다.이 결정론적 접근법을 사용하여, 징크스는 하이젠벅스라고도 불리는 찾기 어려운 공유 메모리 버그의 발생 빈도를 증가시키는 것을 목표로 했다.징크스는 더 이상 사용할 수 없습니다.Jinx를 개발하던 회사인 Corensic은 F5 Networks에 인수되었고 Jinx 프로젝트는 [1]취소되었다.

징크스는 동시성 결함이 발생할 가능성이 가장 높은 일련의 잠재적 인터리빙(즉, 미래 조건에서 발생할 대체 결과 또는 실행 시나리오)을 동적으로 구축하여 작동하며, 교착 상태, 레이스 조건 및 원자성 비올라와 같은 표면 동시성 문제에 대한 실행 경로를 신속하게 테스트했다.멀티프로세싱 어플리케이션에서 찾을 수 있습니다.

모델 체커와 달리 징크스는 모델 사양이 필요 없었다.동적 및 정적 코드 분석 방법과는 달리, 징크스는 잘못된 긍정(스플리어스 버그 리포트)을 생성하지 않았다는 점에서 두드러졌다.이는 진크스가 단순히 소스 코드를 분석하거나 프로그램의 실행을 관찰함으로써 그러한 시나리오를 추론하는 것이 아니라 버그일 가능성이 있는 시나리오를 테스트했기 때문이다.

Jinx는 하이퍼바이저로 구현되어 소프트웨어 환경의 모든 요소가 스레드 인터리빙에 미치는 영향을 관찰할 수 있게 되었습니다.Jinx는 프로그래밍 언어나 스레드 라이브러리 또는 도구와는 독립적으로 운영되었습니다.

징크스는 워싱턴 대학에서[2] 수행된 연구를 바탕으로 워싱턴 주 시애틀에 있는 코렌식이라는 (현재는 없어진) 회사에 의해 개발되었으며 2009년 ASPLOS 컨퍼런스에서 처음 발표되었습니다.

레퍼런스

  1. ^ Bartosz Milewski [@BartoszMilewski] (23 September 2014). "@double_thunk Corensic was bought by F5 and Jinx got cancelled. Sorry!" (Tweet) – via Twitter.
  2. ^ "Sampa: Research Projects".