이 문건의 핵심 사항을 간단히 정리해 주십시오.
알고리즘이 가진 문제점을 찾아내기 위해 행하는 분석기법은 정적 분석과 동적 분석이 있다. 알고리즘의 코드가 가진 문제점을 찾아내기 위하여 알고리즘 소스코드를 분석하여 알고리즘의 작동구조를 파악하는 기법이 정적 분석(static analysis)이다. 그러나 인공지능 알고리즘의 경우 코드의 복잡도가 커서 인공지능 알고리즘 분석 전문가조차도 알고리즘의 기능상의 결함 등을 쉽게 간과하는 경우가 많다. 또한 이러한 정적 분석만으로는 각 환경변수에 따라 달라지는 알고리즘의 결과 산출 과정을 알 수 없다. 이러한 점은 소스코드 분석이라는 정적 분석이 별반 효과가 없을 것이라는 점을 시사한다. 결국 동적 분석이 남은 대안이다. 동적 분석은 알고리즘을 작동시켜놓고 그 작동상황을 동적으로 분석하는 것으로 정적 분석으로는 불가능한 결함이나 문제점을 파악하는 데 유용하다. 동적 분석이라고 해도 입력변수의 유한성 등 문제가 없지 않지만, 기계적 증거를 생성하는 알고리즘을 증거로 허용하기 위해서는 이러한 동적 분석 과정에서 수많은 데이터를 가지고, 작동시키면서 제대로 소기의 결과를 도출하는지 하는 실증적 실험을 할 수밖에 없다. 이러한 동적 분석의 경우에도 증거능력 여부를 결정하는 과정과는 달리 실제에서는 동적 분석시보다 훨씬 많은 입력변수가 있고, 동적 분석의 테스트 상황과 다른 실제 환경에서 예기치 않은 문제가 발생할 가능성은 배제하긴 어렵지만, 그러나 이러한 복잡한 인공지능 알고리즘에 대한 전문지식이 결여된 법관에 의하여 증거의 허용 여부가 결정되는 상황을 막을 수 있기 때문에 이러한 동적 분석을 통한 검증은 불가피하다고 해야겠다. 더욱이 소스코드가 영업비밀로 보호되는 상황에서 소스코드에 천착하는 것이 아니라, 그 작동을 통한 정확성 검증은 의미가 크다.
알고리즘의 소스코드를 분석하여 작동구조를 파악하는 정적 분석기법은 알고리즘 코드의 복잡도가 커서 환경변수에 따라 달라지는 결과 산출 과정을 알 수 없다. 반면 알고리즘의 동적 분석기법을 통해 생성한 기계적 증거의 알고리즘을 증거로 허용하기 위해 수많은 데이터로 실증적 실험을 해야 한다. 이는 알고리즘에 대한 전문지식이 결여된 법관에 의해 증거의 허용 여부가 결정되는 상황을 막을 수 있기 때문이며 소스코드가 비밀인 상황에서 작동을 통한 정확성 검증은 의미가 크다.