package Ġch . u zh . ifi . se al . sm r . re configure . analysis . short er iterations Ċ Ċ import Ġch . u zh . ifi . se al . sm r . re configure . utils . all Ċ import Ġch . u zh . ifi . se al . sm r . re configure . utils . get Histogram Items Ċ import Ġorg . openjdk . j mh . re configure . helper . Histogram Helper Ċ import Ġorg . openjdk . j mh . re configure . helper . Histogram Item Ċ import Ġorg . openjdk . j mh . re configure . helper . Out lier Detector Ċ import Ġorg . openjdk . j mh . re configure . statistics . Re configure Constants . OUT LI ER _ FACTOR Ċ import Ġorg . openjdk . j mh . re configure . statistics . Sampler Ċ import Ġjava . io . File Ċ import Ġjava . io . FileWriter Ċ import Ġjava . nio . file . Paths Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġcsv Input 1 0 Ġ= ĠFile (" D :\\ extra \\ short er iterations \\ 1 0 _ iterations _ 1 0 _ seconds \\ ") ĊĠĠĠ Ġval Ġcsv Input 1 0 0 Ġ= Ġ" D :\\ extra \\ short er iterations \\ 1 0 0 _ iterations _ 1 _ second " ĊĊĠĠĠ Ġval Ġoutput Ġ= ĠFile Writer ( File (" C :\\ Users \\ st ew ue \\ One Drive Ġ- ĠW uer sten \\ Uni \\ 1 9 _ HS \\ Master ar beit \\ Repo \\ Evaluation \\ RQ 2 _ Results \\ short er iterations \\ mean . csv ")) ĊĊĠĠĠ Ġoutput . append ln (" project ; commit ; benchmark ; params ; percentage ; mean ") ĊĠĠĠ Ġcsv Input 1 0 . walk (). forEach Ġ{ Ġfile 1 0 Ġ-> ĊĠĠĠĠĠĠĠ Ġif Ġ( file 1 0 . isFile ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġfile 1 0 . name Without Extension ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile 1 0 0 Ġ= ĠPaths . get ( csv Input 1 0 0 , Ġfile 1 0 . name ). to File () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġall 1 0 Ġ= Ġget Histogram Items ( file 1 0 , Ġall ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġall 1 0 0 Ġ= Ġget Histogram Items ( file 1 0 0 , Ġall ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ( project , Ġcommit , Ġbenchmark , Ġparams ) Ġ= Ġname . split ("; ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput . append ("$ project ;; $ benchmark ;$ params ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitems 1 0 Ġ= Ġget Items ( all 1 0 , Ġ 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitems 1 0 0 Ġ= Ġget Items ( all 1 0 0 , Ġ 5 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsample ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsample 1 0 Ġ= ĠSampler ( items 1 0 ). get Sample ( 1 0 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsample 1 0 0 Ġ= ĠSampler ( items 1 0 0 ). get Sample ( 1 0 0 0 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġout lier Ġdetector ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġod 1 0 Ġ= ĠOut lier Detector ( OUT LI ER _ FACTOR , Ġsample 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġod 1 0 0 Ġ= ĠOut lier Detector ( OUT LI ER _ FACTOR , Ġsample 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġod 1 0 . run () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġod 1 0 0 . run () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsample Double 1 0 Ġ= ĠHistogram Helper . toArray ( od 1 0 . in lier ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsample Double 1 0 0 Ġ= ĠHistogram Helper . toArray ( od 1 0 0 . in lier ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmean 1 0 0 Ġ= Ġsample Double 1 0 0 . average () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpercentage Ġ= Ġmean 1 0 0 Ġ/ Ġsample Double 1 0 . average () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput . append ln (" ;$ percentage ;$ mean 1 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput . flush () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġget Items ( items : ĠCollection < Histogram Item >, Ġiteration : ĠInt ): ĠList < Histogram Item > Ġ{ ĊĠĠĠ Ġreturn Ġitems . filter Ġ{ Ġit . fork Ġ== Ġ 1 Ġ&& Ġit . iteration Ġ>= Ġiteration Ġ} Ċ }