인텔, 기계학습 디버깅툴 ‘컨트롤플래그’ 오픈소스로 공개

컴퓨팅입력 :2021/10/25 19:29

인텔이 인공지능(AI) 디버깅 도구 ‘컨트롤플래그’를 오픈소스로 공개했다.

소프트웨어 개발 과정에서 디버깅에 어려움을 겪은 개발자들에게 도움을 줄 수 있을 것으로 기대된다.

미국 지디넷에 따르면 인텔이 컨트롤플래그를 깃허브를 통해 최근 공개했다.

기계학습 디버깅 도구 컨트롤플래그(이미지=인텔)

인텔은 지난해 말 컨트롤플래그를 공개 후 사내 프로젝트에만 적용해왔으나, 오픈소스 전환과 함께 모든 개발자에게 무료로 공개한 것이다.

컨트롤플래그는 기계학습을 활용해 소프트웨어 및 펌웨어 코드의 버그를 자동으로 식별하며, 시스템의 품질과 보안을 높이기 위한 개발 도구다.

소프트웨어 개발 중 코드에서 버그를 찾는 디버깅 작업은 개발 과정에서 반드시 거쳐야한다. 특히 IT 기술 발전으로 소프트웨어의 구조가 복잡해지고 작성하는 코드의 양도 급증하면서 버그가 발생할 가능성도 늘어나는 추세다.

이로 인해 소프트웨어 결함을 수정하는 데 소모되는 시간이 짧게는 몇시간에서 길게는 몇 달이 소모되기도 한다. 소프트웨어 개발 시간의 약 50%가 디버깅에 사용된다는 추정치도 나오고 있다.

특히 디버깅은 개발자가 직접 근본 원인을 식별하고 분석해야 하는 등 업무 부담을 높이는 요인 중 하나였다.

컨트롤플래그는 이러한 문제를 해결하기 위해 이상 감지라고 하는 기능을 적용했다. 예제를 통해 정상적인 코딩 패턴을 학습한 후 이를 바탕으로 프로그래밍 언어에 관계없이 버그를 일으킬 가능성이 있는 이상 현상을 식별 및 감지한다.

인텔 랩스팀은 컨트롤 플래그의 정확성을 높이기 위해 레이블이 지정되지 않은 10억 줄 이상의 소스 코드에서 코딩 패턴을 학습시켰다.

또한 양질의 프로그래밍을 제시하기 위해 깃허브 리포지토리에서 최소 별점 100개를 받은 상위 6천 개의 오픈 소스를 선택해 코드의 품질을 높였다.

학습을 거친 컨트롤 플래그는 프로덕션 품질의 프로그램에서 300개 이상의 결함을 식별했으며, 하루에 10억 번 이상 다양한 네트워크 프로토콜을 사용하여 데이터를 전송하는 클라이언트 URL에서 코드 이상을 감지하기도 했다.

관련기사

인텔 랩스의 수석 AI과학자 저스틴 고슬릭은 “처음 시스템을 설계할 때 복잡한 결함을 찾을 수 있을 거라고 예상하지 못했지만, 컨트롤 플래그는 고도로 복잡하고 미묘한 소프트웨어 결함을 찾는 능력에서 구축한 우리조차 놀라게 했다”며 “이러한 발전은 소프트웨어, 하드웨어의 발전과 함께 멈추지 않을 것”이라고 강조했다.

인텔은 컨트롤플래그가 소프트웨어 개발 시간을 1천 분의 1로 줄이는 기계 프로그래밍 연구(MPR) 프로젝트의 일부라고 밝혔다. 이를 위해 컨트롤 플래그 외에도 소프트웨어 개발을 쉽게 만들기 위한 도구를 지속적으로 선보일 예정이다.