파일 시스템 정확성 교차 검증 도구 개발(Juxta)

최신의 파일 시스템들은 매우 복잡하게 구현되어 있으며, 버그를 찾고 이를 해결하는 것은 어려우면서도 중요한 과제이다. 정적 분석 도구를 활용하면 다양한 버그를 찾을 수는 있지만, 개발자의 의도에 대한 깊은 이해가 있어야 찾을 수 있는 시맨틱 버그(semantic bug)는 기존의 도구들로는 찾을 수 없었다. 이에, 본 과제에서는 파일 시스템의 시맨틱 버그를 자동으로 찾아주는 Juxta를 개발하였지만, 개발을 시작한 배경은 리눅스 파일 시스템의 스케일러빌러티 문제를 분석하기 위해서 파일 시스템들간의 동작 흐름(flow)를 비교, 분석하기 위함 목적이였다. 리눅스에 포함된 모든 파일 시스템은 호환성 제공을 위해 VFS 계층에 정의된 규칙에 따라 동작한다. Juxta는 각각의 파일 시스템의 동작을 교차 검증하여 이 규칙을 따르도록 구현되어 있는지 파악한다. 따라서 리눅스 커널 내에 VFS를 따르도록 구현된 모든 파일 시스템은 교차 검증을 통한 버그 찾기의 대상이 될 수 있다. 소스코드는 깃허브 Juxta에 있다.