Splint 란 ?

 - C source code를 분석하여 programming 오류나 보안상 취약점들을 검출

 - 정적 분석 프로그램이라고 불림. 해당 코드를 실행하지 않고 코드만으로 오류부분을 검출하는 SW

 - 아래와 같은 결과를 출력하여 C code의 정적 code 분석

    * Unused Variables

    * Buffer overflow Vulnerabilities

    * Dynamic memory Errors

 - 관련 도구 : lint, codan



Splint 다운로드

http://www.splint.org/  Download(http://www.splint.org/download.html)메뉴에서 최 하단부의Old Versions for Other Platforms의 Win32 Binary를 눌러 Splint-3.1.1 버전을 다운로드 할 수 있다. (Win32, FreeBSD x86, OS/2 지원)


개인적으로 소스 설치보다 yum install 과 rpm 설치를 선호하는 편이라 tar.gz 파일(소스파일) 설치는 지향하고있다.


리눅스 잡동사니 패키지가 많이 있는 http://pkgs.org 사이트에서 splint의 rpm 파일을 찾을수 있었다.

해당 경로 : http://pkgs.org/centos-6-rhel-6/epel-i386/splint-3.1.2-6.el6.i686.rpm/download/

단, 설치시 해당 OS의 bit를 확인해야 한다.    ( # uname -u 상태에서 i386 혹은 i686 일땐 32bit  || x86_64 일땐 64비트 )


[root@localhost download]# wget http://pkgs.org/centos-6-rhel-6/epel-i386/splint-3.1.2-6.el6.i686.rpm/download/

[root@localhost download]# rpm -ivh splint-3.1.2-6.el6.i686.rpm


해당 명령어 시 설치가 완료되었음을 확인 할 수 있다.

[root@localhost download]# splint

Splint 3.1.2 --- 07 Feb 2011


Source files are .c, .h and .lcl files.  If there is no suffix,

   Splint will look for <file>.c and <file>.lcl.


Use splint -help <topic or flag name> for more information


Topics:


   annotations (describes source-code annotations)

   comments (describes control comments)

   flags (describes flag categories)

   flags <category> (describes flags in category)

   flags all (short description of all flags)

   flags alpha (list all flags alphabetically)

   flags full (full description of all flags)

   mail (information on mailing lists)

   modes (show mode settings)

   parseerrors (help on handling parser errors)

   prefixcodes (character codes in namespace prefixes)

   references (sources for more information)

   vars (environment variables)

   version (information on compilation, maintainer)







Comment



티스토리 툴바