← Back to Problem Bank

1. 문제 (Problem)

Context tunneling [Jeon, Jeong, Oh, OOPSLA 2018]은 k-limited context-sensitive points-to analysis의 정밀도와 확장성을 동시에 향상시키는 강력한 기법이다. 핵심 아이디어 자체는 단순하고 우아하다: 모든 호출 지점에서 무조건 context를 갱신하는 대신, 중요한 context element만을 선택적으로 유지한다.

그러나 이 아이디어를 실현하는 방법은 단순하지도, 원칙적이지도, 구현이 쉽지도 않다.

현재 접근법의 복잡성

  1. Atomic feature 설계 (Table 1): 23개의 수작업 설계된 feature
  2. Boolean formula 모델 (§4.2): DNF로 표현된 두 개의 boolean formula Π = ⟨f1, f2
  3. Non-greedy 학습 알고리즘 (Algorithm 1-3): 정교한 탐색 전략
  4. Training infrastructure: 학습에 53~137시간 소요
  5. 분석 프레임워크 의존성: Doop 위에서 구현

이 복잡성은 context tunneling의 채택 장벽(adoption barrier) 을 형성한다.

연구 공백

Context tunneling의 아이디어 는 보편적이고 강력하지만, 현재의 실현 방법 은 language-specific, framework-specific, feature-engineering-heavy하다. 다음과 같은 접근법은 아직 탐구되지 않았다:

2. 목표 (Goal)

Context tunneling의 효과를 달성하면서, 단순하고(simple), 원칙적이며(principled), 구현이 쉬운(easy-to-implement) tunneling 기법을 개발한다.