Skip to main content
QUICK REVIEW

[논문 리뷰] Automatically detecting the conflicts between software requirements based on finer semantic analysis

Weize Guo, Li Zhang|arXiv (Cornell University)|2021. 03. 03.
Software Engineering Research참고 문헌 36인용 수 10
한 줄 요약

이 논문은 자연어 기능 요구사항의 더 미세한 의미적 구조를 분석하여 자동으로 갈등을 탐지하는 새로운 접근법인 FSARC를 제안한다. 의미적 메타모델과 POS 및 의존성 파싱과 같은 자연어 처리(NLP) 기법을 사용하여 FSARC는 실제 세계 데이터셋에서 100% 재현율과 평균 83.88% 정밀도를 기록한 7종류의 갈등 유형을 식별한다. 이는 형식적 템플릿이나 외부 자료에 의존하지 않고도 초기 요구사항 검증을 위한 실용적인 솔루션이다.

ABSTRACT

Context: Conflicts between software requirements bring uncertainties to product development. Some great approaches have been proposed to identify these conflicts. However, they usually require the software requirements represented with specific templates and/or depend on other external source which is often uneasy to build for lots of projects in practice. Objective: We aim to propose an approach Finer Semantic Analysis-based Requirements Conflict Detector (FSARC) to automatically detecting the conflicts between the given natural language functional requirements by analyzing their finer semantic compositions. Method: We build a harmonized semantic meta-model of functional requirements with the form of eight-tuple. Then we propose algorithms to automatically analyze the linguistic features of requirements and to annotate the semantic elements for their semantic model construction. And we define seven types of conflicts as long as their heuristic detecting rules on the ground of their text pattern and semantical dependency. Finally, we design and implement the algorithm for conflicts detection. Results: The experiment with four requirement datasets illustrates that the recall of FSARC is nearly 100% and the average precision is 83.88% on conflicts detection. Conclusion: We provide a useful tool for detecting the conflicts between natural language functional requirements to improve the quality of the final requirements set. Besides, our approach is capable of transforming the natural language functional requirements into eight semantic tuples, which is useful not only the detection of the conflicts between requirements but also some other tasks such as constructing the association between requirements and so on.

연구 동기 및 목표

  • 산업 현장에서 흔히 발생하지만 기존 도구에서 자주 忽略되는 자연어 기능 요구사항 간의 갈등 탐지를 해결하기 위해.
  • 개발 초기 단계에서 일반적으로 확보되지 않는 실행 가능한 코드나 성능 제약과 같은 외부 자료나 형식적 템플릿에 의존하지 않도록 하기 위해.
  • 원시적인 자연어 요구사항에서 직접 갈등을 식별할 수 있는 자동화되고 확장 가능한 방법을 개발하기 위해.
  • 기능 요구사항의 핵심 요소를 포괄하는 통합된 의미적 메타모델을 제공하여 분석과 재사용을 향상시키기 위해.
  • 예를 들어 'shall'-스타일 문장과 같은 일반적이고 실제 요구사항 형식을 중심으로 하여 실제 프로젝트에서 실용적인 갈등 탐지를 가능하게 하기 위해.

제안 방법

  • 기능 요구사항의 더 미세한 의미적 구성 요소를 표현하기 위해 통합된 여덟개의 튜플 의미 메타모델을 구축하기 위해.
  • 자연어 요구사항에서 언어적 특징을 추출하기 위해 품사 태깅(POS) 및 의미적 의존성 파싱(SDP)을 적용하기 위해.
  • NLP 출력 결과를 바탕으로 의미적 요소(예: 주어, 동사, 목적어)를 자동으로 레이블링하기 위한 히ュ리스틱 규칙 설계하기 위해.
  • 자신의 텍스트 패턴과 의미적 의존성에 기반하여 자원 경쟁 및 입력-출력 상호차단과 같은 갈등 유형 7종류를 정의하기 위해.
  • annotation된 의미적 튜플 간의 규칙 기반 매칭을 검사하는 갈등 탐지 알고리즘을 구현하기 위해.
  • UAV, WorldVista, 통신 관리, 태양광 전원 공급 등 다양한 분야의 다섯 개의 오픈 요구사항 데이터셋을 사용하여 접근 방식을 검증하기 위해.

실험 결과

연구 질문

  • RQ1미세한 의미적 메타모델은 자연어 기능 요구사항의 핵심 구성 요소를 정확하게 표현할 수 있는가?
  • RQ2POS 및 SDP와 같은 NLP 기법은 실제 요구사항 텍스트의 의미적 요소를 효과적으로 식별하고 레이블링할 수 있는가?
  • RQ3사전 정의된 히ュ리스틱 규칙은 다양한 요구사항 세트에서 7종류의 갈등을 높은 재현율과 정밀도로 탐지할 수 있는가?
  • RQ4형식적 템플릿이 필요 없이 다양한 도메인과 요구사항 형식에 대해 이 접근 방식이 얼마나 일반화 가능한가?
  • RQ5정밀도와 재현율 측면에서 갈등 탐지 알고리즘의 성능은 수동 레이블링과 비교해 어떻게 되는가?

주요 결과

  • 의미적 요소 레이블링 알고리즘이 세 개의 오픈 요구사항 데이터셋에서 평균 94.93%의 정확도를 기록하여 의미적 주석 처리에서 뛰어난 성능을 보였다.
  • 갈등 탐지 알고리즘이 네 가지 다양한 요구사항 세트에서 100.00% 재현율과 평균 83.88% 정밀도를 기록하여 알려진 갈등의 거의 완전한 탐지를 보였다.
  • 평가 과정에서 오직 하나의 가짜 양성 결과만이 발견되었으며, 이는 잘못된 실체 인식에서 기인했고 향상된 파싱으로 수정될 수 있었다.
  • 항공우주, 통신, 에너지 시스템 등 다양한 도메인에서 높은 일반화 능력을 보이며 일관된 성능을 유지했다.
  • 수동 레이블링은 두 명의 저자가 이중 검토를 통해 검증되어 주관성을 줄이고 기준값의 신뢰성을 향상시켰다.
  • 실행 가능한 코드나 성능 제약과 같은 외부 자료가 필요로 하지 않기 때문에 이 방법은 기존 접근 방식을 초월하여 초기 단계의 요구사항 검증에 적합하다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.