소스 코드는 거의 보편적으로 일반 텍스트 (plain text)로서 편집됩니다. 그러나 유효하고 정확한 코드에 요구되는 구문적(syntactic) 및 의미적(semantic) 요구사항과, 이를 생성하려는 제약 없는 텍스트 편집 프로세스 사이의 불일치는 프로그래밍 작업을 저하시키는 마찰을 유발합니다. 또한, LLM 기반 코딩 에이전트(coding agents) 시대에는 더욱 비용이 많이 듭니다. 에이전트들은 의도한 변경 사항에 대한 고수준 계획을 코드베이스 전체에 흩어진 저수준 텍스트 편집으로 구체화해야 하며, 이 과정에서 종종 코드의 많은 부분을 다시 읽어야 하기 때문입니다.
우리는 코드베이스에 일련의 논리적 대수 연산 (algebraic operations)을 적용하여 수정하는 새로운 대안적 접근 방식인 소스 코드 대수 (source code algebra)를 제안합니다. 각 연산은 수학 방정식의 재작성 (rewriting)과 유사하게, 단일한 의미적 변경을 위해 필요한 전체 변경 사항을 수행합니다. 우리는 합성 (composition), 영등성 (nullipotency), 교환 법칙 (commutativity)을 포함하여, 이러한 연산이 텍스트 편집과 차별화되고 에이전트 기반 코드 편집의 기질 (substrate)로서 적합하게 만드는 초기 속성들을 스케치합니다.
우리의 개념 증명 구현체인 SCAS를 통한 타당성 조사 결과, LLM 에이전트가 소스 코드 대수를 사용하면 텍스트 기반 베이스라인 (baselines)과 비교했을 때 더 높은 성공률을 보이면서도, 토큰 (tokens) 사용량은 1~2 자릿수(orders of magnitude) 적게 사용하여 비지역적(non-local)이고 파일 간에 걸친(cross-file) 코드 변경을 완료할 수 있음을 시사합니다. 비록 초기 단계이지만, 이는 LLM이 재작성된 코드가 아닌 대수 연산을 출력하게 하는 것이 코드 편집을 위한 유망한 방향이라는 가설과 일치하며, 포괄적인 연산자 라이브러리 (operator libraries), 형식적 속성 (formal properties), 인간용 도구 (human-facing tooling)와 같은 소스 코드 대수에 대한 더 광범위한 미래 연구를 촉진합니다.