본문 바로가기
AI · 인공지능/AI 뉴스

Amazon이 AI를 활용한 코드 리뷰 도구 'CodeGuru'를 일반에 공개

by 두우우부 2020. 7. 3.
반응형

 

AWS는 코드 품질 향상 및 버그 방지를 위한 권장 AI를 탑재한 개발자 도구 「CodeGuru」를 일반에 공개했습니다.

 

CodeGuru는 라스베이거스에서 2019년 12월에 개최된 Amazon Web Services(AWS) re : Invent 2019 콘퍼런스에서 처음 공개되어, 2020년 6월 30일부터, 사용량에 따른 가격정책으로 사용이 가능하도록 일반에 공개되었습니다.

 

코드 리뷰 시점에 배포된 응용 프로그램을 모니터링할 개발자를 찾는 것은 매우 어려운 일입니다. 또한 개발자의 실수를 놓치지 않고, 버그와 성능 문제도 일으키지 않는다는 보장도 없습니다.

 

CodeGuru는, 표면적으로 기존의 통합개발환경(IDE)과 통합하여 가장 인기 있는 오픈소스 프로젝트 10,000개 이상의 AI 알고리즘을 이용하여, 개발자가 작성한 코드를 평가하고 이를 해결할 수 있습니다.

 

 

문제가 있을 경우, CodeGuru는 의견을 제시하고, 문제가 무엇인지 설명하며 잠재적인 개선 방안을 제안합니다. 이 도구는 대기시간과 프로세서 사용률 등을 고려하여 프로파일을 작성하여 가장 비효율적이고 비생산적인 코드 라인을 찾아냅니다.

 

CodeGuru는 CodeGuru Reviewer와 CodeGuru Profiler의 2개 시스템으로 구성되어 있습니다.

 

Reviewer는, Rule 마이닝과 지도 학습 모델을 함께 사용하여 AWS API 또는 SDK를 사용하기 위한 모범사례의 편차를 검출하고, 페이지네이션 누락, 배치의 오류 처리 등 실행 시 문제로 이어질 수 있는 문제들에 플래그를 답니다.

 

개발자는 코드를 임의의 저장소(GitHub, GitHub Enterprise, Bitbucket Cloud, AWS CodeCommit 등)에 커밋하고, 코드 리뷰어의 한 사람으로서 Reviewer를 추가합니다.

 

그 후, Reviewer는 저장소에 있는 기존의 코드 베이스를 분석하고 버그나 문제점을 파악하여 전부 리퀘스트하는 것으로, 연속적으로 코드 리뷰를 하기 위한 베이스라인을 만듭니다. 또한 이 서비스는 개발자로부터 수집한 의견을 반영하여 모든 코드 리뷰 정보를 표시하는 대시보드를 제공합니다.

 

 

Profiler는 개체의 과도한 재현, 비효율적인 라이브러리의 사용, 과도한 로깅 등의 문제에 대한 구체적인 권장 사항을 제공합니다.

 

사용자는 응용 프로그램에 에이전트를 설치하고 응용 프로그램의 실행 시간을 관찰하여 응용 프로그램을 프로파일 하고 코드의 품질 문제를 발견합니다. Profiler는 기계 학습을 사용하여 대기 시간과 CPU 사용률에 가장 영향을 미치는 코드와 이상 동작을 자동으로 식별합니다.

 

이러한 정보는 프로파일에 정리되어 가장 비효율적인 코드의 영역이 표시됩니다. 이 프로파일은 개발자가 성능을 향상하기 위해 문제를 해결하는 방법에 대한 권장사항이 포함되어 있으며, 비효율적인 코드를 계속 실행할 경우의 비용 견적도 포함되어 있습니다.

 

 

Amazon에 따르면, AWS의 모범 사례를 코드화 한 CodeGuru는 사내에서 8만 건의 애플리케이션 최적화에 이용되었고, 수천만 달러의 비용 절감으로 이어졌습니다. 팀은 불과 1년 만에 프로세서 사용률을 325% 줄이고 비용을 39% 절감할 수 있었다고 Amazon은 주장하고 있습니다.

 

 

Amazon CodeGuru - Amazon Web Services

수십 년간 축적된 지식과 경험을 바탕으로 교육된 Amazon CodeGuru 리뷰어는 기계 학습, 모범 사례 및 수백만 건의 코드 검토와 오픈소스 프로젝트와 Amazon.com 내부에서 프로파일링된 수천 개 애플리�

aws.amazon.com

 

반응형