计算机工程与科学
計算機工程與科學
계산궤공정여과학
COMPUTER ENGINEERING & SCIENCE
2011年
4期
69-74
,共6页
李根%卢凯%张英%卢锡城%冯华%张巍
李根%盧凱%張英%盧錫城%馮華%張巍
리근%로개%장영%로석성%풍화%장외
动态测试用例生成%重定向%指令集体系结构无关
動態測試用例生成%重定嚮%指令集體繫結構無關
동태측시용례생성%중정향%지령집체계결구무관
动态测试用例生成技术是一类新兴的软件测试技术.由于使用该类技术无需任何人工干预,也无需验证人员具备任何专业知识,同时该类技术能够无误地发现程序错误,越来越多的研究者采用该技术查找预发布的二进制级软件错误.然而,已有的该类技术及其实现系统不具有可重定向性,只能处理面向某种特定指令集体系结构(ISA)的二进制代码,进行测试用例的生成与查错.本文提出了一种全新的指令集体系结构无关的二进制级动态测试用例生成技术,以及实现该技术的系统Hunter.与已有的动态测试用例生成技术不同,Hunter具有极强的可重定向性,可对任何指令集体系结构的二进制代码进行查错,定向地为其生成指向不同执行路径的测试用例.Hunter定义了一套元指令集体系结构(MetaISA),将在二进制代码执行过程中收集到的所有执行信息映射为MetaISA,并对生成的MetaISA序列进行符号化执行、约束收集、约束求解以及测试用例生成,从而使整个过程与ISA无关.我们实现了Hunter,将其重定向至32位x86、PowerPC和Sparc ISA,并使用该系统为6个含有已知错误的测试程序查错.实验结果表明,由于MetaISA的引入,只需很小的开销,Hunter系统即可容易且有效地重定向至不同的ISA,并且Hunter能够有效地发现面向32位x86、PowerPC和Sparc ISA编写的二进制应用中隐藏极深的错误.
動態測試用例生成技術是一類新興的軟件測試技術.由于使用該類技術無需任何人工榦預,也無需驗證人員具備任何專業知識,同時該類技術能夠無誤地髮現程序錯誤,越來越多的研究者採用該技術查找預髮佈的二進製級軟件錯誤.然而,已有的該類技術及其實現繫統不具有可重定嚮性,隻能處理麵嚮某種特定指令集體繫結構(ISA)的二進製代碼,進行測試用例的生成與查錯.本文提齣瞭一種全新的指令集體繫結構無關的二進製級動態測試用例生成技術,以及實現該技術的繫統Hunter.與已有的動態測試用例生成技術不同,Hunter具有極彊的可重定嚮性,可對任何指令集體繫結構的二進製代碼進行查錯,定嚮地為其生成指嚮不同執行路徑的測試用例.Hunter定義瞭一套元指令集體繫結構(MetaISA),將在二進製代碼執行過程中收集到的所有執行信息映射為MetaISA,併對生成的MetaISA序列進行符號化執行、約束收集、約束求解以及測試用例生成,從而使整箇過程與ISA無關.我們實現瞭Hunter,將其重定嚮至32位x86、PowerPC和Sparc ISA,併使用該繫統為6箇含有已知錯誤的測試程序查錯.實驗結果錶明,由于MetaISA的引入,隻需很小的開銷,Hunter繫統即可容易且有效地重定嚮至不同的ISA,併且Hunter能夠有效地髮現麵嚮32位x86、PowerPC和Sparc ISA編寫的二進製應用中隱藏極深的錯誤.
동태측시용례생성기술시일류신흥적연건측시기술.유우사용해류기술무수임하인공간예,야무수험증인원구비임하전업지식,동시해류기술능구무오지발현정서착오,월래월다적연구자채용해기술사조예발포적이진제급연건착오.연이,이유적해류기술급기실현계통불구유가중정향성,지능처리면향모충특정지령집체계결구(ISA)적이진제대마,진행측시용례적생성여사착.본문제출료일충전신적지령집체계결구무관적이진제급동태측시용례생성기술,이급실현해기술적계통Hunter.여이유적동태측시용례생성기술불동,Hunter구유겁강적가중정향성,가대임하지령집체계결구적이진제대마진행사착,정향지위기생성지향불동집행로경적측시용례.Hunter정의료일투원지령집체계결구(MetaISA),장재이진제대마집행과정중수집도적소유집행신식영사위MetaISA,병대생성적MetaISA서렬진행부호화집행、약속수집、약속구해이급측시용례생성,종이사정개과정여ISA무관.아문실현료Hunter,장기중정향지32위x86、PowerPC화Sparc ISA,병사용해계통위6개함유이지착오적측시정서사착.실험결과표명,유우MetaISA적인입,지수흔소적개소,Hunter계통즉가용역차유효지중정향지불동적ISA,병차Hunter능구유효지발현면향32위x86、PowerPC화Sparc ISA편사적이진제응용중은장겁심적착오.