과제의 절반인 lock-free BST가 아예 없다
#hw3 Part 2는 lock-free 자료구조 두 개를 요구한다. 명세 본문은 "LOCK-FREE (SORTED) LINKED LIST를 구현하고, LOCK-FREE BINARY SEARCH TREE를 구현한다. LOCK-FREE BST는 LEAF-ORIENTED BST …"로 이어지고, 제출 지침은 리포지토리를 LF_LL (LINKED-LIST)과 LF_BST (BST) 두 개로 나누라고 지정한다.
레포 최상위에는 LF_LL만 있다. ParBST/src/collections/concurrent/ 아래에도 BinaryTree(fine-grained), RWBinaryTree(read-write lock), lockfree/LinkedList 셋뿐이고 lock-free 트리는 없다. 전체 브랜치·전체 이력에 대해 파일 추가 이력을 뒤져도 LF_BST나 leaf-oriented 구현이 등장하는 커밋은 없다. 다른 브랜치에 숨어 있는 것도 아니다 — 브랜치는 master 하나뿐이다.
더 나쁜 것은 문서 처리 방식이다. 명세의 Part 2 제목은 "Lock-Free Data Structure를 구현한다"인데, 제출 보고서와 README는 Part 2를 아래처럼 다시 제목 붙여 놓았다. 빠뜨린 요구사항을 "이건 원래 과제가 아니었다"로 만드는 문장이다. 같은 절에서 linked list의 기반 클래스를 두고는 "과제의 요구사항이 아니기 때문에 생략합니다"라고 요구사항 범위를 정확히 인지하고 있음을 보여주면서도, 실제로 빠진 BST에 대해서는 한 줄도 없다.
## Part 2. Lock-Free Sorted Linked List를 구현한다. // 명세 원문: "LOCK-FREE DATA STRUCTURE를 구현한다 ... LOCK-FREE (SORTED) LINKED LIST를 // 구현하고, LOCK-FREE BINARY SEARCH TREE를 구현한다" // 제출 지침: REPOSITORY LF_LL (LINKED-LIST), LF_BST (BST)