2015-01-24 14 views
6

concolic testing의 개념을 밟았을 때 나는 "콘크리트 & 상징적 실행"이라는 용어를 발견했습니다. (이 기사가 언급 . "CUTE, • concolic 단위 테스트 엔진은 C에 대해", 그 추상적 인 부분에서 그 용어를 사용)구체적인 테스트에서 "구체적인 실행"은 무엇을 의미합니까?

는 "사용 된 접근 방식은 상징적이고 구체적인 실행을 결합 이전 작업을 기반으로, 보다 구체적으로 모든 실행 가능한 실행 경로를 탐색하기위한 테스트 입력을 생성하는 데 이러한 조합을 사용합니다. "

"구체적인 실행"이 무엇을 의미하는지 확인할 수 있습니까? 내 수색에도 불구하고 직접 인용/명시 적 진술을 찾을 수 없었습니다.

"구체적인 실행"은 "기호 실행을 변수, 입력 등으로 가정하는 실제 입력 값이있는 프로그램의 실행"을 의미합니다. 제가 틀렸다면, 저를 교정하십시오 (가능하다면 작은 예를 사용하십시오).

답변

12

Concolic 실행은 실현 가능성과 함께 CONCrete 실행과 symbolic 실행을 혼합 한 것입니다.

기호 실행을 사용하면 가능한 모든 실행 경로를 통해 프로그램을 실행할 수 있기 때문에 모든 가능한 경로 조건을 달성 할 수 있습니다 (경로 조건 = 실행시 특정 지점으로 이동하는 논리 제약 집합). 문제는 마이크로 벤치 마크를 제외하고 가능한 모든 실행 경로를 통해 프로그램을 실행하는 비용이 기하 급수적으로 많아서 금지되어 있다는 것입니다.

한편 기호 값 실행에 구체적인 값을 제공하면 특정 실행 경로를 통해 기호 값 실행을 안내하고 (모두 통과하지 않고) 해당 경로 조건을 얻을 수 있습니다. 이것은 가능합니다.

나는이 질문 내가 정확히 답을 찾고 있었다

1

앞서 언급 한 맥락에서 "구체적인 실행"은 실제로 특정 입력에 프로그램을 실행하고 어떤 일이 발생 하는지를 확인하는 것입니다. 링크 된 "concolic testing"기사에서는 특정 입력 (구체적인 실행, 완전하지는 않지만 불량) 및 기호 테스트 (기호 실행, 소리는 있지만 불완전) 간의 하이브리드 방식을 제안합니다.

희망이 도움이됩니다.

+0

안녕하세요, 답변이 되었기를 바랍니다 나는 그 기사에서 같은 추론. 확인해 주셔서 감사합니다. 또한이 용어가 표준화되어 있는지 또는 다른 모든 문맥에서 다양성이 있는지 또는이 용어가 영어의 일부로서 기사의 저자에 의해 사용되었는지도 알 수 있습니까? (이 게시물의 다른 주석가들이 언급했듯이)? 나는이 용어가 사용되는 방식으로 표준적인 의미를 가지지 만 다시는 확인하지 않거나 이것에 대해 확신하지 못한다고 생각합니다. –

+0

@SuhasChikkanna 잘 모르겠습니다. 이전에는 본 적이 없지만 프로그램 확인에 많은 작업을하지는 않습니다. – templatetypedef

+0

그럼에도 불구하고 나는 계속해서 답을 찾아야하며 언젠가는이 게시물을 추적 할 것입니다. 그것은 당신에게서 아주 친절한 답변입니다, 나는 진정으로 옳다고 느낍니다. 내가 그것을 확인하기 전에 언젠가 나를 보내주세요. 다시 한번 고마워요. !! –