본문 바로가기

Home > 열린마당 > 공개SW 소식

공개SW 소식

2017년 10월 18일 (수)

ⓒ CIO Korea, Paul Krill | InfoWorld



페이스북이 '레이서D(RacerD)'를 일반에 공개하기 시작했다. 소프트웨어 개발의 오래된 골칫거리인 '레이스 컨디션(race conditions)’ 문제를 해결하는 툴이다.

레이스 컨디션은 여러 프로세스가 같은 데이터에 동시에 접근하려 할 때 프로그램이 충돌 상태에 빠지는 것을 가리킨다. 이러한 오류는 다시 현상을 재현하기 매우 까다로워 버그를 찾아 수정하기도 어렵다. 레이서D의 공동 개발자 중 한 명인 피터 오혼은 “이 문제는 컴퓨팅 분야에서 지난 50년간 가장 큰 골칫거리였다”라고 말했다.

또다른 레이서D의 공동 개발자인 샘 블랙쉐어에 따르면, 그전에도 레이서D를 사용할 수는 있었다. 단, 페이스북의 오픈소스 코드 베이스에서 일종의 백도어를 통해서만 프로토타입 버전을 다운로드할 수 있었다. 그러나 이제는 페이스북의 오픈소스 버그 탐지 툴인 '인퍼 스테틱 애널리시스(Infer static analysis tool)'에서 기본으로 실행할 수 있게 됐다. 레이서D는 현재 자바 코드용으로만 사용할 수 있다. 앞으로 C++를 포함해 더 많은 언어를 지원할 예정이다.

페이스북에 따르면, 레이서D는 페이스북의 뉴스 피드 애플리케이션 테스트에 실제 사용돼 1000개 이상의 버그를 잡았다. 코드 수천 라인의 동시성 문제를 해결했다. 레이서D는 애플리케이션이 실행되기 전에 코드 문제와 잠재적 시스템 오류를 해결하는 새로운 알고리즘 기술을 사용한다. 오혼이 만든 동시 분리 논리 이론과 여러 수학 이론을 바탕으로 개발됐다.

레이서D는 인퍼 리포지토리를 통해 깃허브에서 다운로드할 수 있다. 라이선스는 BSD+를 따른다. 아파치 소프트웨어 재단이 일부 조건을 문제 삼아 페이스북의 리액트 자바스크립트 라이브러리를 배제했던 그 라이선스다. 이에 따라 페이스북은 최근 리액트 라이선스를 더 유연한 MIT 라이선스로 변경해 다시 배포했다. 레이서D의 라이선스도 변경하는 것을 검토하고 있다.



※ 본 내용은 한국IDG(주)(http://www.ciokorea.com)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒCIO. 무단전재 및 재배포 금지


[원문출처 : http://www.ciokorea.com/news/35943]

맨 위로
맨 위로