toplogo
Sign In

합성 벤치마크를 통한 조노토프 도메인의 마이크로 벤치마킹


Core Concepts
조노토프 도메인과 그 연산에 대한 합성 벤치마크 프레임워크 muRelBench를 제시한다.
Abstract
이 논문에서는 조노토프 도메인과 그 연산에 대한 마이크로 벤치마킹 프레임워크 muRelBench를 소개한다. muRelBench는 다음과 같은 주요 기능을 제공한다: 매개변수화된 추상 상태의 동적 생성 사용자 정의 연산의 적용 사용자 정의 속성 검사(pre/post 조건) 이 프레임워크는 조노토프 도메인의 Octagon 유형을 지원하며, 변수 수와 변수 간 연결성을 매개변수로 하여 다양한 Octagon 상태를 합성적으로 생성한다. 또한 Floyd-Warshall 전체 전이 폐쇄와 Chawdhary 증분 폐쇄 알고리즘을 구현하여 비교 실험을 수행한다. 실험 결과, 변수 수가 많고 밀도가 높은 Octagon 상태에서 Chawdhary 알고리즘이 Floyd-Warshall 알고리즘보다 우수한 성능을 보였다. 이를 통해 muRelBench가 새로운 추상 도메인 연산 알고리즘의 신속한 프로토타이핑과 효율성 평가에 도움이 될 것으로 기대된다.
Stats
변수 수가 100개이고 밀도가 90%인 Octagon 상태에서 Floyd-Warshall 알고리즘의 평균 실행 시간은 144ms이고, Chawdhary 알고리즘의 평균 실행 시간은 117ms이다. 변수 수가 100개이고 밀도가 10%인 Octagon 상태에서 Floyd-Warshall 알고리즘의 평균 실행 시간은 46.8ms이고, Chawdhary 알고리즘의 평균 실행 시간은 49.6ms이다.
Quotes
"Clearly, these two algorithms should have a different runtime growth with the increased number of variables." "For lower density states, Floyd-Warshall tends to perform better while for higher densities Chawdhary's incremental closure has better runtime data."

Key Insights Distilled From

by Kenny Ballou... at arxiv.org 04-26-2024

https://arxiv.org/pdf/2404.16243.pdf
muRelBench: MicroBenchmarks for Zonotope Domains

Deeper Inquiries

질문 1

muRelBench를 다른 추상 도메인에 확장하는 방법은 해당 도메인에 맞는 새로운 클래스를 제공하는 것이다. 먼저, 해당 도메인의 추상 컨테이너 유형을 정의하는 클래스를 만들어야 한다. 예를 들어, Zones를 추가하려면 ZoneDBM과 같은 클래스를 만들어야 한다. 그런 다음, 새로운 추상 유형을 위한 빌더를 제공해야 한다. 마지막으로 JMH에 필요한 다양한 매개변수 세트를 제공하는 상태 유형을 만들어야 한다. 이렇게 하면 muRelBench를 다양한 추상 도메인에 확장할 수 있다.

질문 2

muRelBench에서 생성되는 합성 상태는 실제 프로그램에서 관찰되는 추상 상태와 밀접한 관련이 있다. 이 합성 상태는 프로그램 변수 간의 관계 밀도를 조절하여 다양한 Octagon 인스턴스를 생성한다. 이는 실제 프로그램에서 변수 간의 관계가 어떻게 변하는지를 모방하며, 프로그램 크기에 따라 다양한 변수 수를 고려한다. 따라서 muRelBench의 생성된 합성 상태는 실제 프로그램에서 발생할 수 있는 다양한 추상 상태를 반영하고 연구에 유용한 결과를 제공한다.

질문 3

추상 도메인 연산의 효율성 외에도 정확성 및 안정성을 평가할 수 있는 방법으로는 속성 검사가 있다. 사용자가 정의한 속성, 예를 들어 Zonotope 상태의 사전/사후 조건을 확인하는 것이다. 이를 통해 연산을 실행하기 전후에 추상 상태의 속성을 확인하여 연산의 정확성과 안정성을 평가할 수 있다. 또한, 다양한 속성 검사를 통해 연산의 다양한 측면을 평가하고 개선할 수 있다.
0