include "head.php";
include "../common.php";
?>
$steps = all_steps();
print_steps($steps);
?>
1. 접수
- C 언어로 쓰인 소스코드와 e-mail 주소를 함께 제출합니다.
- 가능하면 컴파일 가능한 전체 패키지를 올리는 것이 좋습니다. 소스코드에 사용된 매크로, 외부 라이브러리 함수에 대한 정보가 존재해야 더 정확한 분석을 할 수 있기 때문입니다.
- gcc환경에서 빌드되는 소스가 가장 잘 분석됩니다.
- 제출한 소스코드는 승인과정을 거쳐야 합니다. 컴파일 도중 시스템 마비와 같은 악의적인 동작을 하는 패키지를 걸러내기 위해서 입니다. 악의적이지 않은 일반 프로그램으로 판단되면 바로 승인됩니다.
2. 분석
- 업로드 된 프로그램을 정적 분석합니다.
- 만약 컴파일이 가능한 패키지이면 전처리 후 분석을 시도하고, 그렇지 않다면 받은 소스코드를 그대로 분석합니다.
- 분석 소요시간은 프로그램 크기 및 여타 특성에 따라 달라질 수 있고 적게는 수 초 부터 많게는 몇 일까지 걸릴 수 있습니다.
3. 검토
- 분석이 끝나면 분석기는 프로그램에 존재 할 수 있는 오류를 보고합니다.
- 정적분석기는 프로그램에 존재하는 오류를 모두 찾을 수 있는 대신, 불가피하게 허위 보고를 하는 경우도 있습니다.
- 수준높은 분석 기술을 이용하면 허위 보고량을 줄일 수 있지만 완전히 제거하는 것은 이론적으로 불가능한 일입니다.
- 그래서 수동으로 허위 보고를 제거하는 작업이 필요합니다. 분류 단계에서는 수동검사를 통해 분석기가 생성한 보고들을 참/거짓 보고로 분류합니다.
4. 처방
- 분류가 끝나면 실제 프로그램에 존재하는 오류들이 밝혀지고, 보고 단계에서는 이를 사용자가 보고 이해하기 쉽게 문서화합니다.
- 작성된 오류 보고서는 웹 브라우저를 통해 열람할 수 있고, 의뢰 단계에서 입력한 e-mail 주소로 접근 가능한 웹 주소가 전송됩니다.
- 이 웹 주소는 의뢰 단계에서 임의로 생성된 해쉬코드에 기반하기 때문에 다른 사용자가 열람할 수 없습니다.
include "tail.php";
?>