2024年4月3日发(作者:老款科鲁兹)
IEEETRANSACTIONSONSOFTWAREENGINEERING,VOL.37,NO.5,SEPTEMBER/OCTOBER2011649
AnAnalysisandSurveyoftheDevelopment
ofMutationTesting
YueJia,StudentMember,IEEE,andMarkHarman,Member,IEEE
Abstract—MutationTestingisafault-basedsoft
literatureonMutationTestinghascontributedasetofapproaches,tools,developments,perprovidesa
eralsopresentstheresultsofseveraldevelopmenttrendanalyses.
TheseanalysesprovideevidencethatMutationTestingtechniquesandtoolsarereachingastateofmaturityandapplicability,while
thetopicofMutationTestingitselfisthesubjectofincreasinginterest.
IndexTerms—Mutationtesting,survey.
?
1I
NTRODUCTION
UTATION
Testingisafault-basedtestingtechnique
whichprovidesatestingcriterioncalledthe“muta-
tionadequacyscore.”Themutationadequacyscorecanbe
usedtomeasuretheeffectivenessofatestsetintermsofits
abilitytodetectfaults.
ThegeneralprincipleunderlyingMutationTestingwork
isthatthefaultsusedbyMutationTestingrepresentthe
fully
choosingthelocationandtypeofmutant,wecanalso
ultsare
deliberatelyseededintotheoriginalprogrambysimple
syntacticchangestocreateasetoffaultyprogramscalled
mutants,
assessthequalityofagiventestset,thesemutantsare
esultofrunninga
mutantisdifferentfromtheresultofrunningtheoriginal
programforanytestcasesintheinputtestset,theseeded
comeofthe
MutationTestingprocessisthemutationscore,which
ationscore
istheratioofthenumberofdetectedfaultsoverthetotal
numberoftheseededfaults.
ThehistoryofMutationTestingcanbetracedbackto
1971inastudentpaperbyLipton[144].Thebirthofthe
fieldcanalsobeidentifiedinpaperspublishedinthelate
1970sbyDeMilloetal.[66]andHamlet[107].
MutationTestingcanbeusedfortestingsoftwareatthe
unitlevel,theintegrationlevel,
hasbeenappliedtomanyprogramminglanguagesasa
whiteboxunittesttechnique,forexample,Fortranprograms
[3],[36],[40],[131],[145],[181],Adaprograms[29],[192],
Cprograms[6],[56],[97],[213],[214],[237],[239],Java
.TheauthorsarewiththeDepartmentofComputerScience,University
CollegeLondon,MaletPlace,LondonWC1E6BT,UK.
E-mail:{,}@.
Manuscriptreceived21Sept.2009;revised15Feb.2010;accepted1Apr.
2010;publishedonline10June2010.
.
Forinformationonobtainingreprintsofthisarticle,pleasesende-mailto:
tse@,andreferenceIEEECSLogNumberTSE-2009-09-0232.
DigitalObjectIdentifierno.10.1109/TSE.2010.62.
0098-5589/11/$26.00?2011IEEE
M
programs[44],[45],[127],[128],[129],[130],[150],[151],
C#programs[69],[70],[71],[72],[73],SQLcode[43],[212],
[233],[234],andAspectJprograms[12],[13],[17],[90].
MutationTestinghasalsobeenusedforintegrationtesting
[54],[55],[56],[58].BesidesusingMutationTestingatthe
softwareimplementationlevel,ithasalsobeenappliedatthe
designleveltotestthespecificationsormodelsofaprogram.
Forexample,atthedesignlevel,MutationTestinghasbeen
appliedtoFiniteStateMachines[20],[28],[88],[111],
Statecharts[95],[231],[260],EstelleSpecifications[222],
[223],PetriNets[86],Networkprotocols[124],[202],[216],
[238],SecurityPolicies[139],[154],[165],[166],[201],and
WebServices[140],[142],[143],[193],[245],[259].
MutationTestinghasbeenincreasinglyandwidely
as
beenmuchresearchworkonthevariouskindsoftechniques
seekingtoturnMutationTestingintoapracticaltesting
r,thereislittlesurveyworkinthe
stsurveyworkwas
conductedbyDeMillo[62]rksummarized
thebackgroundandresearchachievementsofMutation
Testingatthisearlystageofdevelopmentofthefield.A
surveyreviewofthe(veryspecific)subareaofStrong,Weak,
andFirmmutationtechniqueswaspresentedbyWoodward
[253],[256].AnintroductorychapteronMutationTesting
canbefoundinthebookbyMathur[155]andalsointhe
bookbyAmmannandOffutt[11].Themostrecentsurvey
workwasconductedbyOffuttandUntch[191]
summarizedthehistoryofMutationTestingandprovidean
overviewoftheexistingoptimizationtechniquesforMuta-
r,sincethen,therehavebeenmore
than230newpublicationsonMutationTesting.
Inordertoprovideacompletesurveycoveringallthe
publicationsrelatedtoMutationTestingsincethe1970s,we
constructedaMutationTestingpublicationrepository,
whichincludesmorethan390papersfrom1977to2009
[121].Wealsosearchedformaster’sandPhDthesesthat
havemadeasignificantcontributiontothedevelopmentof
four
,wesearchedtheonline
repositoriesofthemaintechnicalpublishers,including
PublishedbytheIEEEComputerSociety
650IEEETRANSACTIONSONSOFTWAREENGINEERING,VOL.37,NO.5,SEPTEMBER/OCTOBER2011
TABLE1
AListofPhDandMaster’sWorkonMutationTesting
IEEEXPlore,ACMPortal,SpringerOnlineLibrary,Wiley
InterScience,andElsevierOnlineLibrary,collectingpapers
whichhaveeither“mutationtesting,”“mutationanalysis,”
“mutants+testing,”“mutationoperator+testing,”“fault
injection,”and“fault-basedtesting”keywordsintheirtitle
,wewentthroughthereferencesforeach
paperinourrepositorytofindmissingpapersusingthe
way,weperformeda
“transitiveclosure”onTesting
workwhichwasnotconcernedwithsoftware,forexample,
hardware,wasremovedandwealsofilteredoutpapersnot
y,wesentadraftofthispaperto
havemadetherepositorypubliclyavailableat
/pg/jiayue/repository/[121].Overall
growthtrendofallpapersinMutationTestingcanbe
foundinFig.1.
Therestofthepaperisorganizedasfollows:Section2
introducesthefundamentaltheoryofMutationTesting,
includingthehypotheses,theprocess,andtheproblemsof
n3explainsthetechniquesforthe
n4introduces
applicationsofMutationTestingareintroducedinSection5.
Section6summarizestheempiricalexperimentsofthe
n7describesthe
n8discusses
theevidencesfortheincreasingimportanceofMutation
n9discussestheunresolvedproblems,
barriers,
paperconcludesinSection10.
2T
HE
T
HEORYOF
M
UTATION
T
ESTING
Thissectionwillfirstintroducethetwofundamental
discussesthe
generalprocessofMutationTestingandtheproblemsfrom
whichitsuffers.
2.1FundamentalHypotheses
MutationTestingpromisestobeeffectiveinidentifying
adequatetestdatawhichcanbeusedtofindrealfaults[96].
However,thenumberofsuchpotentialfaultsforagiven
programisenormous;itisimpossibletogeneratemutants
ore,traditionalMutation
Testingtargetsonlyasubsetofthesefaults,thosewhichare
closetothecorrectversionoftheprogram,withthehope
eory
isbasedontwohypotheses:theCompetentProgrammer
Hypothesis(CPH)[3],[66]andtheCouplingEffect[66].
1978
[66].Itstatesthatprogrammersarecompetent,which
impliesthattheytendtodevelopprogramsclosetothe
更多推荐
老款,作者
发布评论