MakotoIchii,ReishiYokomori,andKatsuroInoue
GraduateSchoolofInformationScienceandTechnology,Osaka
{m-itii,yokomori,inoue}@ist.osaka-u.ac.jpAbstract
Asearchengineforsoftwarecomponenthelpsdevel-operstoreusesoftwarecomponentandtounderstanditsbehavior.WearestudyingaboutasoftwarecomponentsearchengineandconstructsSPARS-JforJavasourcecodes.SPARS-Jprovidesusefulinformationobtainedbystaticanalysisofsourcecodesinarepository.However,wealsoconsiderthatSPARS-Jprovidesmoreusefulinforma-tionbyusingtheanalysisresultofitsretrievalhistory.Inthispaper,wesuggestarecommendationmethodbyusingcollaborativefilteringtechnique,andevaluatedtheeffec-tivenessofthesystemimplementedofSPARS-J
Keywords:laborativeFiltering
SoftwareComponent,SoftwareRetrieve,Col-1Introduction
Inrecentlyyears,theimportanceofreuseofsoftwarecomponentsment.Therehasarebeenmanywidelyassistancerecognizedtoolofinsoftwareactualdevelop-reuse;Inparticular,weconsiderthataneffectiveuseofrepositoriesofalreadydevelopedsoftwareisveryimportant.
suggestAstheamostsearcheffectiveengineforusagejavaofprograms,softwarecomponents,namedSPARS-weJ(SoftwareProductArchivingandRetrievingSystemforJava)[3].componentsSPARS-Jusing(orprovidesusedby)usefulthecomponent,information,similarsuchcom-asponents,ysisofsourcepackagecodesinformation,intherepository.andsoon,BybyusingstaticSPARS-anal-J,developerscanfindnecessarycomponentseasier.How-ever,amongwepeoplecaneasilyandimaginemultiplethatuserstheoftensearchrequestefficiencyasamedifferskindofqueryforthesimilarpurpose.Therefore,wethinkthatmoresearchefficienthistorysearchtotheuser.
canbeperformedbyfeedingbacktheInthispaper,weproposethemethodofrecommendingcomponentsbyapplyingthetechniqueofcollaborativefil-teringgetexacttothecomponentssearchhistory.whichsatisfyUsingthistheirmethod,requirements.userscanWealsoandevaluateimplementitsusefulnessthismethodbyasananexperimentation.
actualtoolonSPARS-J,2CollaborativeFiltering
Collaborativefilteringisarecommendationtechniquebasedontheideathat“Peoplewhoagreedinthepastwillprobablytechniqueagreeobtainagain”therating[6].ofAteachfirst,itemthefromsystemseachusinguserthisandstorethemup,andpredictthefondnessofeachuser.Andtheywhoserecommendfondnessisthesimilar.itemwhichSuchisrecommendationhighlyratedbythesystemsuserarewidelyusedforNetnews,movies,music,andsoon.Tapestry[1]isanearlyrecommendationsystemusingcollaborativeommendationfiltering.ofE-mailInorthisNetnewssystem,bythedesignatingusercangetthearec-rec-ommenderwhom(s)hewantstogetrecommendationfrom.Onmendertheotherandthehand,informationGroupLens[6]torecommenddeterminesautomatically.therecom-AuservotesthearticlesofNetnewsbasedonfive-levelrat-ing,therating.
andGroupLensrecommendsbasedonthetendencyofOntheotherhand,therearealsosystemswhichgetrat-ingimplicitly.Phoaks[4]acquiresandrecommendsURLswhichthereports.areautomaticallyMoreover,TherecollectedisafromsystemNetnews,usingcollabora-FAQ,andtivefilteringforthesoftwarefunction[5];Ohsugiconsidertheofsoftwareuseofsoftwarefunctionfunctionexecutionasisimplicitanalyzedvote.andTheautomatichistoryrecommendationisperformed.
Consideringtheuser’seffort,wethinkitmoreappropri-ateimplicitlyforthefromapplicationthesearchtoahistory.searchOurenginesystemtocollectconsidersratingsthereferencehistoryofsoftwarecomponentsasimplicitvote,andrecommendsonesautomatically.
3ProposedMethod
Theprocessesofourrecommendationmethodareasfol-lows:
1.Systemuser’srating.recordsthereferencehistorytoadatabaseas2.Basedcalculatesonthecorrelationratingrecordedcoefficientinbetweenthedatabase,eachsystemuser.
3.Byusingcorrelationcoefficientandratingofeachuser,systemponent.calculatesrecommendationvalueofeachcom-4.Basedsystemonrecommendsrecommendationcomponentsvaluestoofbrowse.eachcomponent,Followingsarethedetailsofeachphase.
1:Recordingofsearchaction
Inthecaseofthetechniqueofrecommendationbasedontheuser’sexplicitrating,suchastheoneofGroupLens,thereHowever,isamerittherewhichisalsocanademeritcatchatouser’sreduceintentionanabsolutecertainly.num-berallarticlesofuser’stheyratingread.becauseSinceeachourusersystemisn’tisforcedforantoaidratetothethesearchengineofsoftwarecomponents,wethinkthattherearefore,fewweuserstreatawhichuser’scanreferenceconsumehistorytimeitselfandaseffort.rating.There-Con-cretelyspeaking,whenasourcecodeofacomponentisdis-playedcomponent.
inSPARS-J,weregardthattheuservotes1tothenentsBecausewhichsearcharerecommendedpurposeofabyuserusingchanges,allofthehiscompo-orherhistorymaybeirrelevant.Thus,weuseonlyratingsintheuser’stotheend.“session”Inotherwhichwords,isthewebeginningconsiderofasessionuseoftheasansystemuser.2:Calculationofcorrelationcoefficient
isnotTheworkcorrelationwhenthecoefficientratingscalemethodisbinary,usedsuchbyGroupLensasatrackrecordonHTML.Therefore,weadaptthemodificationmethodingformulaswhichforproposedcalculationbyofBreese[2],correlationandcoefficientusethefollow-c(a,i)betweenthetargetuseraandanotheruseri.
vi,j=
1ifj∈Ii
ifj∈/Ii
,v¯10
i=
q
i∈U
|c(a,i)2|
4:Recommendationtouser
ourBasedsystemonrecommendstherecommendationbythefollowingvalueoftwoeachmethods;component,1.Aboutallcomponentswhichhavetherecommenda-tionuservaluethoseinmoredescendingthanathreshold,orderofitsarecommendationsystemshowsavalue.It’sintendedtorecommendrequiredcompo-nentsforbrowsingeffectively.2.Forallcomponentswhichhaveauserelationwiththeusercurrent-theminviewingdescendingcomponent,orderofitsarecommendationsystemshowsavalue.It’sintendedtorecommendusefuluse-relationforbrowsing.
4ImplementationtemonSPARS-J
ofRecommendationSys-Basedontheproposedmethodinprevioussection,weimplementedtherecommendationsystemofsoftwarecom-ponentsgrams.ForonSPARS-J,theimplementation,whichisawesearchaddenginethefollowingforJavafunc-pro-tionstoSPARS-J;
•Recordingofsearchhistory
Whenasearcherrequeststhedisplayofthesourcecodeofacomponent,systemstoresitinadatabasetograspthatthecomponentisseeninthesession.•Calculationofrecommendationvalue
Thesessionsystemandanothercalculatessession,thesimilarityandtherecommendationofthepresentvalueofeachcomponent.
•Displayofsearchhistory
Thesearchersystemlookeddisplaysatinthethelistsession.
ofcomponentswhichthe•Displayofrecommendedcomponents
Thesystemdisplaystwowaysdescribedpreviously.
4.1Experimentation
onWeSPARS-J.evaluatedInthetheevaluation,effectivenessweofconfirmimplementedthatthesystemrecom-mendationenceefficiency.
systemcontributestoimprovementintherefer-Intheexperimentation,8examineeswriteJavaprogrambyintomountingtwogroups,toaandskeletonpreparedcode.twoWekindsdivideofsituations8examineesforeach4subjects;thecasethatanexamineecanuseonlythe
Table1.Result
PrecisionP1
P2P3P4G1
34.8
18.5
21.5
15
0.89
0.73
0.73
0.66
searchusebothresulttheofsearchSPARS-J,resultandoftheSPARS-Jcasethatandanoutputexamineeofrec-canommendationsystem,respectively.Foreachexamineeandeachmakesubject,asearch,weandmeasuredtheprecisionworkingabouttimescomponentstofinish,timewhichtohebrowsed.Here,weconsiderthecomponents,whichcanbenents.
regardedaspracticallyusedone,asadequatecompo-Aprocedureoftheexperimentationisasfollows;1.Allthis8result,examineestheyaretrydividedanexamplesinto2groups,P0forpractice.G1andG2.By2.TheandP2,examineesandtheofexamineesG1workagainstofG2worktwosubjects,againsttwoP1subjects,P3andP4,respectively.Inthisphase,allexamineescanuseonlythesearchresultofSPARS-J.3.TheexamineesofG1workagainsttwosubjects,P3andsubjects,P4,andP1andtheexamineesP2,respectively.ofG2workInthisagainstphase,twoallexamineescanuseboththesearchresultofSPARS-Jandoutputofrecommendationsystem.Table1representstheresultofeachgroupG1andG2.P1,P2,P3,andP4representeachsubject.Thecasesus-ingFromarecommendationthisresult,wecanfunctionconfirmarethatindicatedthecasebyusingboldface.therecommendationfunctionisbetterthanthecaseusingonlySPARS-J,subjectP3foriseachsmall,subject.thisisAlthoughbecausemanythedifferenceexamineesofhadtheagenerallyknowledgeaboutthefieldofP3.Theseresultshowsmentinthatsearcharecommendationefficiency.
functionisusefultoimprove-Asaproblemwhichhappenedduringtheexperiment,someThisisexamineesbecausethecouldsystemnothasgetaeffectivepolicyofrecommendation.”Donotrecom-mendalreadydisplayedcomponents”,soweshouldrecon-siderthispolicy.
5Conclusion
Inthispaper,wesuggestarecommendationmethodbycollaborativetivenessfilteringtechnique,andevaluatedtheeffec-mentresultofimplementedshowedthatcollaborativesystemonSPARS-J.filteringisThealsoexperi-effec-tiveforsupportofsoftwarecomponentsearch.
Asfuturework,weareplanningtheimprovementofac-curacyuserinterface.
byweightingahistory,andtheimprovementofa
References
[1]D.“UsingGoldberg,CollaborativeD.Nichols,FilteringB.M.toOki,WeaveandanD.Informa-Terry:
tionNo.12,Tapestry.”,pp.61-70,Communications1992.oftheACM,Vol.35,[2]J.AnalysisS.Breese,ofD.PredictiveHeckermanAlgorithmsandC.Kadie:forCollaborative“Empirical
Filtering”,UncertaintyIninProceedingsArtificialIntelligenceofthe14th,pp.43-52,Conference1998.on[3]K.Inoue,R.Yokomori,H.Fujiwara,T.Yamamoto,
M.Matsushita,S.Kusumoto:“ComponentRank:RelativeSearch”,SignificanceInProceedingsRankoffortheSoftware25thInternationalComponentConferenceonSoftwareEngineering(ICSE2003),pp.14-24,Portland,Oregon,U.S.A.,2003.[4]L.Creter:Terveen,“PHOAKS:W.Hill,AB.SystemAmento,forD.SharingMcDonald,Recommen-andJ.
dations”,pp.59-62,Communications1997.oftheACM,Vol.40,No.3,[5]N.ommendationOhsugi,A.SystemMonden,forandSoftwareK.MatsumotoFunction:“ADiscov-Rec-ery”.EnginieeringInProceedingsConferenceofthe(APSEC2002)9thAsia-Pacific,pp.248-257,Software2002.[6]P.Resnick,N.Iacovou,M.Suchak,P.Bergstrom,J.
Riedl:laborative“GroupLens:FilteringofAnNetnews”,OpenArchitectureInProceedingsforofCol-the1994CSCW,pp.175-186,1994.
因篇幅问题不能全部显示,请点此查看更多更全内容