TheJournalofSystemsandSoftware85 (2012) 2193–2194
ContentslistsavailableatSciVerseScienceDirect
The
Journal
of
Systems
and
Software
j our na l h o me p a g e :w w w . e l s e v i e r . c o m / l o c a t e / j s s
Editorial
Guest
editors’
introduction
to
the
special
issue
on
automated
software
evolution
1. Introduction
Researchinsoftwareevolutionandevolvabilityhasbeen
thriv-inginthepastfewyears,withaconstantstreamofnewformalisms,
tools,techniques, and developmentmethodologies: on theone
hand,theobjectivewastofacilitatethewaylong-livedsuccessful
softwaresystemscanbechangedinordertocopewithdemands
from users and the increasing complexity and volatility of the
contextsinwhichsuchsystemsoperate;ontheotherhand,the
researchaimwastounderstandand ifpossiblecontrolthe
pro-cessesbywhichdemandforthesechangescomeabout.
Thethemeofthisspecialissuewas“Automationinthecontextof
softwareevolution”,andpaperswereinvitedtopresentconcepts,
techniquesormethodologiesthatareautomatedoramenableto
automation. The theme of automationin software evolution is
establishedinvariousfields:somesoftwarecommunitiesalready
benefitfromtheautomationofasubsetofcentraltasks:for
exam-ple,programmingteamsarerelyingmoreandmoreonautomated
testing, whenusing test-drivendevelopment,especially
regres-siontesting,whenawell-developedtestsuiteoftestingscriptsis
composed.Othercommunitieshavebenefitedforseveralyearsof
measurestoautomaticallydetectqualityofarequirements
spec-ificationdocument,inordertowritetherightrequirementsfrom
theearlystartofaproject.Softwaremaintenanceandevolution
present similar challenges:companies,governments, and Open
Sourcecommunitiesspendagreatdealofresourcesonacontinual
basistofix,adapt,andenhancetheirsoftwaresystems.Theability
toevolvesoftwarerapidlyandreliably;and theabilityto
auto-maticallyproposepossiblepathsofevolutionandenhancements,
ordiscovermaintenanceactivities,representmajorchallengesfor
softwareengineering.
Weexpectedfourtypesofsubmissions:articlesdealingwith
theautomaticparsingofdatafortheevolutionandmaintenance
ofsoftwareprojects;articlesdescribingstate-of-the-artmethods,
models,andtools,supportingorimprovingtheautomationof
soft-wareevolutionand maintenance;empiricalstudiesinthefield,
addressingoneormanyhuman,technical,social, andeconomic
issues of howto automatesoftware evolution through
qualita-tiveand/orquantitativeanalyses;finally,industrialexperiences,
includinggoodpractices andlessonslearnedonautomatingthe
activitiesofsoftwareevolutionormaintenanceinspecificcontexts
ordomains.
Thecallforpapersofthisspecialissueattracted36submissions
fromnearly20differentcountriescoveringmanytopicsrelatedto
softwareevolution.Eachpaperwascarefullyevaluatedbyatleast
threeexpertsinthefield.Afterarigorouspeerreviewprocess,only
9highqualityresearchpaperswereselectedforthisissue.
2. Contributions
Inthepaperentitled“Usingpigasadatapreparationlanguage
for large-scale miningsoftware repositoriesstudies: an
experi-encereport”,W.Shang,B.AdamsandA.E.Hassanreportontheir
experienceinusingawebplatformtosupportminingsoftware
repositories(MSR)studies.Theyparticularlyfocusonthe
automa-tionofthedatapreparationphase,forwhichscalabilityconstitutes
animportant issue.The paperpresentsthree case studiesthat,
whileidentifyingsomelimitations,demonstratethescalabilityand
exibilityofpigforextracting,transformingandloadingsoftware
repositorydata.Theseresultswillcertainlyhaveapositive,
con-creteimpactontheentireMSRresearchcommunity,thatdevelops
noveltechniquesandtoolstoanalyzelargesoftware(eco)systems,
theirdevelopmentandtheirevolution.
The paper entitled “Towards automated traceability
main-tenance”, by P. Mäder, O. Gotel, concerns the maintenance of
traceabilityrelationsduringtheevolutionofsoftwaresystems.The
authorspresentanapproachforsupportingthesemi-automated
update of traceability relations betweenrequirements, analysis
and designmodelsof softwaresystems expressedin UML.This
approachisbasedontheanalysisofchangeeventscaptured
dur-ingtheuseofamodelingtoolandissupportedbyaprototypetool.
Anempiricalstudyconductedwith16studentshasshownthatthe
proposedapproachcansavetediousanderror-pronework.
Thepapertitled“Dependencysolving:a separateconcernin
componentevolutionmanagement”byS. Zacchiroli,P.Abate,R.
DiCosmoand R.Treinen,focusesontheissueof dependencies
between large-grained components, and how to automatically
remove the dependency links between them, when building
and continuously updating the development of large software
systems.InlargeOpenSourcecollectionsofcomponents,the
inter-dependenciesandtheautomaticsolvingofdiscrepanciesbetween
componentsfaceseveralchallenges:first,becausethepackagesare
actuallyindependentprojects,developedandmaintainedby
differ-entdevelopersandasynchronouslycombinedintoasingle,tested
and issue-freecollectiononlyatdefined dates;second,because
solvingdiscrepanciesamongtheseindividualprojects(or
compo-nents) hastotakeintoconsideration eachcomponent’sversion
controlrepositories,andthecomponentversions.
Intheirpaperentitled“Identificationandapplicationofextract
classrefactoringsinobject-orientedsystems”,M.Fokaefs,N.
Tsan-talis, E. Stroulia and A. Chatzigeorgiou propose the use of a
clusteringalgorithmtoidentifyextractclassrefactoring
opportuni-tiesinobject-orientedsystems.Thisalgorithmidentifiesandranks
alternativestosplitaclassintodifferent,morecohesiveclasses.
Theresultoftherefactoringismeasuredwithentityplacement
0164-1212/$–seefrontmatter © 2012 Elsevier Inc. All rights reserved. http://dx.doi.org/10.1016/j.jss.2012.05.074
2194 Editorial/TheJournalofSystemsandSoftware85 (2012) 2193–2194
metrics to evaluate the design improvement/degradation. An empirical study conducted withsoftware developers and soft-warequalityprofessionalsonthreesoftwaresystemsindicatesthat theproposedapproachisabletoidentifymeaningfulrefactoring opportunitiesandimprove thedesign quality.Thiswork repre-sentsaworthycontributionfortherefactoringfieldsinceinthe literature,thereisstillalackofstudieswheretheauthors actu-allycheckwhethertherefactoringssuggestedbytheexperimented techniquessatisfythesoftwareengineers’expectation.
“Model-drivensupportfor productlineevolution onfeature level”, byA. Pleuss, G.Botterweck, D.Dhungana, A.Polzer and S. Kowalewski, focuses on product lines and how their evolu-tionshould beautomaticallysupported.The paperpresents an approach,calledEvoFMbasedontwomainfeatures:theconcept of“fragment”,agroupofrelatedfeaturesinafeaturemodel,and thatarelikelytochangetogether;andtheabilitytodescribethe operationsthatchangethefragmentswithdedicatedmodel trans-formations,as“evolutionoperations”.Theapproachiscompleted withatoolsupportbasedonanEclipseplugin,andthevalidationis alsoperformedbasedonthestudyofseveralversionsoftheEclipse IDEitself.
Thepapertitled“Automated,highly-accurate,bugassignment usingmachinelearningandtossinggraphs”byP.Bhattacharya,I. NeamtiuandC.R.Sheltonisacomprehensivestudyoftheissueof bugtriagingamongsoftwaredevelopers:whoisresponsiblefora bugassignment?Canshetosssuchassignmenttosomeoneelse? Canthisprocessbeautomaticallyperformed?Thepaper investi-gatesvariousmachinelearnersandtechniquestoprovideatimely contributioninthefieldofbugtriaging.
“Ontherelationshipbetweencommentupdatepracticesand softwarebugs”,byW.M.Ibrahim,N.Bettenburg,B.AdamsandA.E. Hassan,analyzesthelinkbetweenthewaysourcecodecomments areupdatedovertimeandtheprobabilityofbugs.Acommentcan indeedbeconsistentlyorinconsistentlyupdatedwithrespectto theassociatedsourcecode.Theauthorsstudythecommentupdate practicesinthreelargeopensourcesoftwareprojects.Theirresults showthatthesepractices,whentheyarethemselvesinconsistent overtime,canbetterexplainandpredicttheintroductionofbugs thanotherindicatorspreviouslyconsideredintheliterature.
Inordertohelpreducethetediousandtimeconsumingtask of detecting and fixing bugs, in their paper entitled “Towards automated debugging in software evolution: evaluating delta debuggingonrealregressionbugsfromdevelopers’perspectives”, K.Yu,M.Lin, J.ChenandX. Zhangevaluatedeltadebuggingin practicalsettingsusingrealregressionstakenfrommid-sizedopen sourcesystems. Delta debuggingis an automated approach for isolatingchangesthat introducedfailuresusingthe divide-and-conquerstrategy. The authorsconducted anempirical studyto
evaluatethecostsandbenefitsoftheapplicationofdelta debug-ging. They showed that two thirds of isolated changes in the systemsanalyzedprovidedirectorindirectcluesinlocating regres-sions.
“Preservingknowledgeinsoftwareprojects”,byO.F.Alam,B. AdamsandA.E.Hassan,focusesontheissueofknowledge preser-vation:withsoftwareprojectsgrowinginsizeandcomplexity,it becomesessentialnotonlytodecidewhichelementsorsubsystems aremoreimportantandcentraltopreservetheoverallknowledge oftheprojects,butalsotoprioritizethepreservationofthechanges ontheseelements,incasetheyhaveaccumulatedalonghistoryof suchchanges.Theauthorsdefinetheconceptof“Foundationality” ofbothsubsystemsandperiodstoidentify,first,whichsubsystems aremorecentraltoothersubsystems, andsecondthetemporal periodswhensuchfoundationalsubsystemsaccumulatedthemost relevantchanges.Albeititbecomesclearthatthefoundational sub-systemsarethosethatareaccessedmorefrequentlybyothers,open questionsremainonhowtoderiveathresholdtofoundational peri-ods,orhowmanyoftheseperiodsshouldbekeptintheknowledge preservationschemeofasoftwareproject.
3. Acknowledgments
Wewouldliketothankalltheauthorsfortheirhigh-quality sub-missions.Wethanktheanonymousreviewersfortheirconstructive feedbackthatsignificantlyhelpedtheauthorsinreachingthislevel ofquality.WewarmlythankHansvanVliet,editor-in-chiefofJSS, forhistrustandforhissupportallalongtheeditorialprocess.We sincerelyhopeyouwillenjoyreadingthisspecialissueasmuchas weenjoyedguesteditingit.
AndreaCapiluppi∗ DISC,BrunelUniversity,London,UK AnthonyCleve PReCISEResearchCenter,UniversityofNamur, Namur,Belgium NaouelMoha Dèpartementd’informatique,UniversitèduQuèbecà Montréal,Montréal,Canada ∗Correspondingauthor. E-mailaddresses:andrea.capiluppi@brunel.ac.uk (A.Capiluppi),acl@info.fundp.ac.be(A.Cleve), moha.naouel@uqam.ca(N.Moha) 25May2012 Available online 9 June 2012