반환 지향형 프로그래밍
반환 지향 프로그래밍은 스택 스매싱의 진화된 버전이다. 일반적으로 공격들의 이러한 종류들은 상대방이 프로그램의 버그(주로 버퍼 오버런)를 이용함으로써 콜 스택을 조작할 때 발생한다. 버퍼 오버런 시에 사용자가 제공하는 데이터를 적절한 경계 검사 없이 메모리에 저장하는 함수는 적정한 양보다 더 많은 데이터를 받아들일 수 있다. 데이터가 스택에 겹쳐써지면 초과된 데이터는 함수의 변수에 할당된 공간을 넘치게 되고 반환 주소도 겹쳐쓰게 된다. 이 주소는 이후에 함수에 의해서 제어 흐름을 다시 호출자로 넘겨줄 때 사용된다. 만약 겹쳐써졌다면 제어 흐름은 새로운 반환 주소로 넘겨지게 된다.
이진 트리
그래프 이론 측면에서, 여기서 정의한 이진 (그리고 K-항) 트리는 실제로 일종의 방향성 그래프()다. 따라서, 하나의 이진 트리는 bifurcating arborescence라고도 불리는데, 이 용어는 현대 컴퓨터 과학 기술이 널리 퍼지기 이전의 아주 오래된 프로그래밍 책에서 볼 수 있다. 이진 트리가 정렬 트리이면서, 루트 트리인 경우, 방향성 그래프가 아닌 비방향성 그래프로 해석할 수도 있다. 일부 저술자는 "이진 트리" 대신 루트 이진 트리를 사용해, 트리가 루트를 가지고 있지만, 위에서 설명한 것처럼, 이진 트리가 항상 루트를 가지고 있다는 사실을 강조한다. 이진 트리는 "k"가 2인 정렬 K-항 트리의 특수한 경우다.