first commit

This commit is contained in:
HosuKim
2026-04-14 00:56:31 +09:00
parent 28740cdb3b
commit 377e0ffdce
685 changed files with 186235 additions and 0 deletions

View File

@@ -0,0 +1 @@
{"name":"STATIC Analysis Agent","version":"4.8.0.p8","description":null,"files":["bin/ci","bin/csa","bin/csa.exe","bin/ci.ini","bin/Psionic/psionic.ini"]}

View File

@@ -0,0 +1,140 @@
;
;
; PA 의 설정입니다.
;
;-------------------------------------------------------------------------
[PA]
; 최초 PA 실행시에 테이블의 레코드를 모두 제거한 후 PA 가 수행됩니다.
; default 값은 N 입니다.
CLEAN_MODE=N
;UTF-8로 인코딩된 파일도 인스펙션이 가능하도록 설정하는 옵션입니다.
; default 값은 N 입니다.
AUTO_ENCODING_UTF8=N
; 프로젝트 DB 에 대한 초기화 쿼리
INIT_QUERY=PRAGMA mmap_size=2147418112;
; 람다 코드를 CFG에 포함할지 여부입니다.
; 초기 값은 'N' 입니다.
DISABLE_LAMBDA_CFG=N
; 멀티 쓰레드 환경에서 refined 디렉토리를 유일하게 생성
; 초기 값은 'Y' 입니다.
MAKE_UNIQUE_REFINED_DIR=Y
;
;-------------------------------------------------------------------------
;Violation 테이블에 violation 삽입 전에 인덱싱을 삭제하고 삽입 후에 다시 인덱싱 할지를 결정합니다.
;default 값은 Y 입니다.
[CI]
REINDEX_MODE=Y
;
;
; DFA 의 설정입니다.
;
;-------------------------------------------------------------------------
[DFA]
DFA_ENABLE=Y
SCFG_OUT=N
LIMIT_ITER=N
RESULT_OUT=N
ITER_OUT=N
TRANSFER_OUT=N
FYCYC_ITER=40
;
;
; Abstract Interpreter 설정
;-------------------------------------------------------------------------
[ABSINT]
; ENABLE WHEN CI
ABSINT_ENABLE=Y
; MUST | MAY
ABSINT_STRATEGY=MUST
;-------------------------------------------------------------------------
;
; ExtendedDeclarations를 db에 저장할지 결정합니다.
; db에 저장된 정보는 linking time에 사용됩니다.
; default 값은 Y 입니다(Y or N).
;
;-------------------------------------------------------------------------
[ExtendedDeclaration]
SAVE_TO_PROJECT_REPOSITORY=Y
;-------------------------------------------------------------------------
;
; Report 시에 매크로 또는 시스템 매크로를 제외할 지 결정합니다.
; SKIP_SYSTEM_MACRO, SKIP_ALL_MACRO, SKIP_NONE, SKIP_DEFINED_IN_FILE 이 옵션으로 가능합니다.
; MACRO_SKIP_MODE=SKIP_DEFINED_IN_FILE:.*_Math\.h
; default 값은 SKIP_SYSTEM_MACRO 입니다.
;
;-------------------------------------------------------------------------
[REPORT]
MACRO_SKIP_MODE=SKIP_SYSTEM_MACRO
;-------------------------------------------------------------------------
; 전처리 과정과 파싱 과정이 동시에 수행되는 경우,
; 전처리 파일을 생성할지 여부.
; 전처리 과정을 따로 수행하는 경우 이 key와 무관하게 항상 생성함.
; default 값은 Y이고, 특별한 경우(용량 문제 등)가 아닌 이상 항상 생성함.
; 이 key가 없는 경우에도 Y로 동작함.
GEN_PP_OUTPUT=Y
;-------------------------------------------------------------------------
;
; 아래는 FunctionUnit 들에 대해 옵션들입니다.
; 특별한 경우가 아니라면 아래의 옵션들은 전문가의 손길이 필요합니다^^.
;
;
;-------------------------------------------------------------------------
[FunctionMapBuilder]
SYMBOL_MAPPER=default
;SYMBOL_MAPPER=physical
; default
; physical (헤더 파일내 static 함수를 물리적 파일 관점에서 보고, Translation Unit 이 달라도 동일한 것으로 처리)
;-------------------------------------------------------------------------
[CFGWriter]
; debugging purpose - 각 함수에 대한 GML 표현을 Working Directory 에 기록합니다. yEd 를 이용하여 볼 수 있습니다.
GML_OUT=N
;-------------------------------------------------------------------------
[MetricGenerator]
; FUNCR 을 물리적인 관점에서 추출할지 여부에 대한 설정입니다. 기본값 N
PHYSICAL_FUNCR=N
;-------------------------------------------------------------------------
[TestValidator]
; debugging purpose - 저장된 Database 레코드의 참조 무결성을 확인합니다.
CHECK_ALL=N
CHECK_FUNCTION_MAP=N
CHECK_CFG=N
CHECK_FUNCTION_INFO=N
CHECK_TYPE_INFO=N
CHECK_USE_DEF=N
TYPE_INFO_GML_OUT=N
;-------------------------------------------------------------------------
[ANALYSIS]
; RTE annoatation 설정입니다. 초기 값은 'Y' 입니다.
ANNOTATION=Y
; psionic 엔진 수행 설정입니다. 초기 값은 'Y' 입니다.
RUN_PSIONIC=Y
; 분석기에서 type 이름을 짧게 납기는 옵션입니다.
OPTIMIZE=Y
; 시스템 코드를 제외한 사용자 코드만 변환하는 옵션입니다. 초기 값은 'N' 입니다.
USER_CODE_ONLY=N
; CAL 전처리기를 사용해서 CAL 의 사이즈를 줄입니다.
RUN_PREPROC=Y
; 특정 라이브러리에 대한 Over-Approximation 을 적용합니다.
; ';' 를 구분자로 여러항목을 입력할 수 있습니다.
OVER_APPROXIMATION=std::vector
;-------------------------------------------------------------------------
[ASTFactory]
; AST를 생성할 때 lambda를 unknown expression 으로 취급할지 여부
; 초기 값은 'N' 입니다.
ENABLE_LAMBDA_AS_UNKNOWN=N
;현재 IniLoader 에 버그가 있어 마지막 줄은 읽지 않습니다. 반드시 마지막줄에 공백라인을 추가해주시기 바랍니다.

View File

@@ -0,0 +1,125 @@
; CODESCROLL STATIC(2023/04/14)
; ===================================
; ENGINE VERSION
; ===================================
; Specify one of semantic analysis engine versions(default: latest)
; eg) 2.1, 2.2, 2.2.1, 2.2.2, ...
PSIONIC_ENGINE_VERSION=latest
; ===================================
; REPORTING POLICY
; ===================================
; Report only defects with a confidence level of 50% or higher.
;PSIONIC_MIN_SCORE=50
; Rank strategy (default: 0)
; - 1: new ranking strategy
;PSIONIC_RANK_SYSTEM_VERSION=0
; Whether to report unused function arguments (default: true)
PSIONIC_REPORT_UNUSED_FORMAL_PARAMETER=N
; Report only ranking n error (rank starts 1 to 5, default: 1)
; *notice* Ranking 3..5 only works when PSIONIC_MIN_SCORE is 0
;PSIONIC_REPORT_ILL_MALLOC_RANK=1
; Report when malloc size over n (default: 65535)
;PSIONIC_INVALID_MALLOC_SIZE=65535
; __________________________________
; LIMITATION HANDLING
; Some source code features not considered in this analyzer,
; how can I handle when reaching the limit.
;
; in Second
; 60s * 60 = 1 hour(3600)
; 1day(24hour) = 86400 sec
; 6hour = 21600 sec
; 12hour = 43200 sec
;
; (default: unlimited)
; __________________________________
;PSIONIC_TIMEOUT=86400
;PSIONIC_TIMEOUT_MEMORY=21600
;PSIONIC_TIMEOUT_VALUE=21600
;PSIONIC_MAX_MEMORY=20480
; ===================================
; TUNING ANALYSIS POWER
; DO NOT MODIFY BELOW WITHOUT EXPERTS
; IT WAS WELL TUNED FOR VARIOUS CODES
; ===================================
;PSIONIC_ENABLE_ROBUST=true
;PSIONIC_ANALYSIS_PROGRESS_INTERVAL=200
; __________________________________
; Common Scalability
; __________________________________
;PSIONIC_CLUSTER_MAX_SIZE=999999999
;PSIONIC_CLUSTER_ONLY_HIGH_PORTION=true
;PSIONIC_CLUSTER_COUNT=20
;PSIONIC_ENABLE_VIRTUAL_CALL_ANALYSIS=true
; __________________________________
; Value Analysis Precision
; >> Default(Always Widening)
; __________________________________
;PSIONIC_WIDENING_LIMIT=0
;PSIONIC_NARROWING_LIMIT=5
;PSIONIC_VALUE_MAX_VISIT=1000
;PSIONIC_CONTEXT_SENSITIVITY_BOUND=1
; Collect relations only directed relation in expression (less precise)
;PSIONIC_ENABLE_VAR_CLUSTER=false
; The main trade-off for precision and speed
; 1, interval analysis (default)
; 2, pentagon analysis
; 3, octagon analysis
;PSIONIC_ANALYSIS_POWER=1
;ENABLE_RESIZE_CHAR_ARRAY=true
; __________________________________
; FixPoint Strategy for a Memory
; Analysis (WTO, Worklist)
; >> Default(Worklist)
; __________________________________
;PSIONIC_WITH_MEM_WTO=false
; __________________________________
; Memory Analysis Precision
; __________________________________
;PSIONIC_MEM_MAX_VISIT=10
;PSIONIC_MEM_MAX_STATE=2048
; __________________________________
; Dataflow Analysis Precision
; __________________________________
;PSIONIC_DATAFLOW_MAX_VISIT=100000
; __________________________________
; Memory Analysis Scalability
; __________________________________
;PSIONIC_MEM_CALLEE_BOUND=50
;PSIONIC_ENABLE_MEM_GLOBAL_VAR=false
;
;ENABLE_MEM_GLOBAL_POINTER_NULL=true
;ENABLE_MEM_GLOBAL_ROBUSTNESS=true
;
;
; __________________________________
; Control Engine Runtime
; __________________________________
; Analysis specific target cluster only
;PSIONIC_TARGET_CLUSTER=10
;PSIONIC_EXCEPT_CLUSTER
; Value Only = 3, Memory Only = 2, Enable All = 4
;PSIONIC_RUN_LEVEL=4