Core Concepts
정보 흐름 제어(IFC)를 활용하여 개발자 간 동일 메서드 기여에 대한 간섭을 추정할 수 있다.
Abstract
이 연구는 협업 소프트웨어 개발 환경에서 개발자들이 독립적으로 작업한 기여(또는 작업)를 통합(병합)할 때 발생할 수 있는 동적 의미 충돌을 탐지하기 위한 새로운 전략을 제안한다.
구체적으로, 연구진은 정보 흐름 제어(IFC)라는 보안 기술이 개발자 간 동일 메서드 기여에 대한 동적 의미 충돌의 존재를 나타낼 수 있는지 여부를 조사한다. 그러나 동적 의미 충돌의 존재를 정의하려면 시스템의 예상 동작을 이해해야 하지만, 이러한 동작 사양은 종종 포착, 형식화 및 추론하기 어렵다. 따라서 연구진은 대신 Goguen and Meseguer가 정의한 간섭이라는 더 단순한 개념의 코드 수준 적응을 탐지하려고 한다.
연구진은 먼저 JOANA라는 도구를 사용하여 Java 프로그램의 IFC를 수행하는 데 가장 적합한 시스템 종속 그래프(SDG) 옵션을 결정한다. 그런 다음 동일 메서드 기여에 대한 정보 흐름의 존재 빈도를 평가한다. 마지막으로 정보 흐름이 있지만 간섭이 없는 상황을 이해하기 위해 수동 분석을 수행한다.
연구 결과, 정보 흐름이 간섭을 추정하는 데 사용될 수 있지만 거짓 긍정을 줄이는 것이 이상적이라고 결론 내렸다. 특히 연구진은 거짓 긍정의 약 3/4을 해결할 여지가 있다고 보았다.
Stats
동일 메서드 기여에 대한 정보 흐름이 발생한 시나리오는 약 64%였습니다.
Quotes
"정보 흐름 제어(IFC)를 활용하여 개발자 간 동일 메서드 기여에 대한 간섭을 추정할 수 있다."
"동적 의미 충돌의 존재를 정의하려면 시스템의 예상 동작을 이해해야 하지만, 이러한 동작 사양은 종종 포착, 형식화 및 추론하기 어렵다."
"정보 흐름이 간섭을 추정하는 데 사용될 수 있지만 거짓 긍정을 줄이는 것이 이상적이다."