TL; DR : 최적화 된 데이터 로그와 같은 언어로 SMT 기반 프로그램 분석 (상징적 집행자, 정제 유형 체커 등)을 작성하십시오.
Datalog는 다양한 프로그램 분석을 구현하는 데 유용한 언어로 입증되었지만 SMT 해결을 사용하는 분석은 기존 버전의 Datalog로 쉽게 작성할 수 없습니다. SMT 공식에 대한 구조와 이유를 제작하는 방법과 삶을 더 쉽게 할 수있는 일부 1 차 기능 프로그래밍을 확대함으로써 Datalog를 증강시킴으로써 이러한 격차를 메우기 시작했습니다.
SMT 기반 분석을 공식으로 작성하는 이유는 무엇입니까?
관심 있는? 자세한 내용은 시작에 대한 팁 및 언어 참조에 대한 팁을 포함하여 공식 문서 (Docs Directory에서도 사용할 수 있음)를 확인하십시오. 공식에서 사소한 SMT 기반 분석을 구축하는 데 관련된 내용을 이해하려면 공식에서 정제 유형 체커 구현에 대한 자습서를 확인하십시오.
이 프로젝트에 대한 기여는 가장 환영합니다! GitHub 문제를 열고 풀 요청을 연결하십시오. 풀기 요청은 병합되기 전에 Google Java 형식이어야합니다. 코드를 재구성하려면 mvn spotless:apply 실행하십시오. mvn spotless:check 실행하여 코드가 순응하는지 확인할 수도 있습니다.
공식은 Apache 2.0 라이센스에 따라 릴리스됩니다.
이 프로젝트는 타사 라이브러리를 사용합니다. 이 라이브러리 목록을 생성 하고이 명령으로 관련 라이센스를 다운로드 할 수 있습니다.
mvn license:download-licenses
생성 된 컨텐츠는 target/generated-resources/ 디렉토리에서 찾을 수 있습니다.