저자:
(1) Gaurav Kolhatkar, SCTR의 푸네 컴퓨터 기술 연구소, 인도 푸네([email protected]);
(2) Akshit Madan, 인도 푸네에 있는 SCTR의 푸네 컴퓨터 기술 연구소 ([email protected]);
(3) 인도 푸네에 위치한 SCTR의 푸네 컴퓨터 기술 연구소 Nidhi Kowtal([email protected]);
(4) Satyajit Roy, 인도 푸네에 있는 SCTR의 푸네 컴퓨터 기술 연구소 ([email protected]).
개요 - 사용자 서사시나 스토리를 유사 코드 또는 코드로 적절하게 표현한 것으로 변환하는 것은 시간이 많이 걸리는 작업이며, 이는 산업 프로젝트에서 많은 시간을 차지할 수 있습니다. 이 연구 논문을 통해 우리는 산업 프로젝트에 소요되는 전체 시간을 줄이기 위해 주어진 작은 기능의 민첩한 사용자 스토리에서 의사 코드를 생성하는 방법론을 제시하는 것을 목표로 합니다. 유사 코드는 컴퓨터 프로그램과 관련된 단계를 프로그래밍 언어에 구애받지 않고 표현한 것으로, 어떤 프로그래밍 언어로도 쉽게 변환할 수 있습니다. 자연어 처리의 잠재력을 활용하여 Agile 소프트웨어 개발 모델을 사용하는 조직의 개발 프로세스를 단순화하고자 합니다. 영어로 설명된 문제를 의사코드로 변환하는 방법론을 제시합니다. 이 방법론은 텍스트를 의사 코드로 변환하는 작업을 두 단계 또는 하위 작업으로 나누며, 각 단계는 개별 기계 번역 작업처럼 처리됩니다. 1단계는 텍스트를 코드로 변환하는 단계이고 2단계는 코드를 의사코드로 변환하는 단계입니다. CodeT5 모델은 위에서 언급한 두 가지 하위 작업에 대해 개별적으로 훈련할 때 BLEU 점수 측면에서 최상의 결과를 제공하는 것으로 나타났습니다. BLEU 점수는 기계 번역된 텍스트와 참조 번역 집합 간의 유사성을 측정하는 데 사용되는 지표입니다.
색인 용어 - 텍스트에서 코드 생성, 코드에서 의사 코드 생성, 변환기
업무의 효율성은 현대 조직과 기업에서 가장 중요합니다. 오늘날 대부분의 직장에서는 소프트웨어 개발을 위해 Agile 모델을 사용합니다. Agile은 작업을 더 작은 반복 또는 스프린트로 나누는 반복 개발을 기반으로 하는 소프트웨어 개발 접근 방식입니다. Agile에서는 Jira와 같은 프로젝트 관리 도구를 사용하여 사용자 요구 사항을 서사시 또는 사용자 스토리 형식으로 문서화합니다. 개발자는 이러한 요구 사항을 이해하고 이에 대한 코드를 작성해야 합니다. 그러나 특히 이전에 해결했던 단순하거나 반복적인 문제의 경우 코드/의사 코드 생성 프로세스를 자동화하면 상당한 개발 시간과 노력을 절약할 수 있습니다. 우리 연구 논문의 동기는 개발자의 작업을 단순화하여 개발자가 더 복잡한 작업과 프로세스에 집중할 수 있도록 하고 소프트웨어 개발 수명주기를 최적화하는 것입니다.
Jira는 문제 추적 및 프로젝트 관리에 사용되는 소프트웨어 애플리케이션입니다. 이는 민첩한 개발 팀에서 버그, 스토리, 에픽 및 기타 작업을 추적하는 데 널리 사용됩니다. 에픽은 여러 개의 작은 작업(스토리라고 함)으로 나눌 수 있는 대규모 작업체입니다. "사용자 스토리"라고도 하는 스토리는 최종 사용자의 관점에서 작성된 짧은 요구 사항 또는 요청입니다. 우리의 목표는 서사시/스토리를 의사 코드로 변환하는 것입니다.
Agile 모델의 장점에도 불구하고 소프트웨어 개발은 여전히 어렵고 지루한 프로세스일 수 있습니다. 특히 사용자 요구 사항을 기능 코드로 변환하는 경우 더욱 그렇습니다. 개발자는 이 프로세스의 일부로 사용자 서사시나 스토리를 수동으로 코드로 변환하는 경우가 많으며, 이는 많은 시간과 노력이 필요할 수 있습니다.
우리 연구에서는 이러한 어려움을 해결하기 위해 기계 학습 방법과 자연어 처리를 활용하여 사용자 스토리에서 코드 및 의사 코드를 생성하는 프로세스를 자동화할 수 있는 가능성을 조사하려고 합니다. 이를 통해 개발자의 작업을 간소화하고 소프트웨어 개발 수명주기를 향상하며 전체 산업 프로젝트의 효율성을 높일 수 있기를 바랍니다.
최근 자연어 처리 분야의 발전으로 인해 이전에는 수동으로 수행했던 다양한 작업을 자동화할 수 있게 되었습니다. 특히 최근 딥 러닝의 발전으로 텍스트 입력에서 맥락과 의미를 추출할 수 있는 정교한 자연어 모델을 만드는 것이 가능해졌습니다. 이러한 모델을 활용함으로써 사용자 스토리에서 코드나 의사 코드를 빠르고 효율적으로 생성하여 개발자의 부담을 덜어줄 수 있습니다.
우리 연구에서는 사용자 스토리에서 코드나 의사 코드를 생성하기 위해 규칙 기반 시스템, 통계 모델, 딥 러닝 기술 등 현재 사용되는 다양한 방법론을 조사할 것입니다. 각 방법론의 장점과 단점을 평가하고 장점을 최대한 활용하는 새로운 전략을 제안하겠습니다.
전반적으로 우리 연구 논문은 사용자 스토리에서 코드/의사 코드 생성 프로세스를 자동화하여 소프트웨어 개발을 보다 효율적이고 효과적으로 만드는 것을 목표로 합니다. 이를 통해 우리는 개발자가 더 복잡한 작업에 집중할 수 있도록 하고 오류 위험을 줄이며 궁극적으로 사용자에게 더 나은 소프트웨어 제품을 제공할 수 있기를 바랍니다.
이 문서는 CC 4.0 라이선스에 따라 arxiv에서 볼 수 있습니다.