Unicorns and Mobile Software Design Analytics - Michele Lanza
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
Unicorns and Mobile Software Design Analytics Michele Lanza REVEAL | Faculty of Informatics University of Lugano, Switzerland
(Mobile) Software Analytics enables software practitioners to explore and analyze data to obtain insightful and actionable information for data-driven tasks around (mobile) software applications.
Huge Marketplace Technologically Interesting
Huge Marketplace Technologically Interesting Novel
Goal Study Mobile Applications from a Software Design Point of View
ons licati ile App Mob s for References lytic Ana ware Soft itted to th e Italia na subm izzera hesis lla Sv ee of r’s T ità de degr Maste e U nivers fo r the ics of th em ents at qu ir Inform the re atics lty of ent of form Facu in In fulfillm ience rtial r of Sc esign in pa Maste are D Softw d by ente pres lli Mine erto Rob Softw are A naly ti cs fo r Mo bile A pplic ation REV s – In Abs EA L@ R ights s system tract—M Facu oberto M & Le lty of tablet s runnin obile ap in Inform elli and sson past PCs. T g on ha plications atics M s Lea ision of phen few year he m ar ndhe ld , know — U ichele Lan rned rv ke de n ni ve za e supe s compromenon, into a m t of appsvices, su as apps, rsity r th Lanza ch of unde ic hele cont eh en it is ul ti-b ha as ext of d tradit unclear w illion dos rapidly smartphosoftware ar e L ugan o, Sw Dr. M iona l soft hether ap llar busi expanded nes and itzerl Prof. d by We apps and ervise struct presen . w pr ne W e co-sup mbro s t for th ural an a novel are sy oa ss. stem ches to Being a the in apps present an ‣ Roberto Minelli; Software Analytics for Mobile ’A fr rco D focuse om a stru in-depth d s can m ne a histor e analys historic approach be po aintain an w Dr. M softw ical data is: sourceal perspe to com pr rted to th d ct party s on thre ural and investigat ar .W ct e histor io histor Applicati factors: code We e analyt e impl , us ive, leveraehend ap e ical pe n of a la a nu detail ou ics plat emente age of ging ps fr ic al da on (1) rs rge co d of m mber of r approaform nam our appr ird-part three fact a th om does an ta. W Program source co pective. rpus signifiobile ap findings ch and th ed SAM oach in y APIs, ors and co app di↵ e want ming In de, (2) Our anal of pl a web and m er to an te rf usage ysis ways, cantly fr ications obtained e suppor OA. -based APIs plexit y? from ac a trad swer ques es (APIs of third- w om . O w ti ng ? D oe D 2012 maint hich ca tr ur hile smel o it ti ), lls fo aditional findings investig ol, and to ls [1 s the sour apps mak ional syst ons such and (3) Applications, MSc Thesis, University of Lugano June ain an d co r so reveal ating pres our an 0] or ce co e inte em in as: H Keyw mpr the deve ftware th a co ent al ys ar e de ns iv te rm ow ehen sy ther of ap nanc ords-m e, an ob d th lopment stems inat apps rpus em. of no di apps: is Samoa , we deve e smells ps co e use of s of size alytic ile ap vel apa numbe ↵er and ntain th s; m pl ining ications; us [11] loped sp a soft ecific to the ird-party softw proa r ches of numbe es visual . Samoa war apps usual co so iz m Mob are re ftware to corpus r of find ations to ines soft e analytic ? To supp de il posito evolut . Fo ings pr ware s pl ort system e appl I. In ries; io n, m essent r exam obtain esen repo atfo ple, w ed whi t the da sitories rm for 2012 icatio AP ially ab s aim trod ainte- de vice ed ns , al uction Is, e sent le ta of at usuall s. Apps smartpho so known projec and that in ap noticed th investigat . We pres apps y ar ne ts. In m ps, th at th ing th ent C for dictated e implem s, tablet as apps, this ost apps at apps he e use of in e F-Dro a iO by its ow S, C# fo the plat ented in PCs, are so • A n in-d article 2 are av herita id prog and other ftwar epth we m short-li ily rely nc n r W fo e hi ve on ex e is apps, A di stribu in rm tion dows phon Java for : ra mmin hand held • A st or ical pe an alysis ake the fo d single ternal The pp Store ch A g la ngua pr es rs pe of ll ow de velope e, etc. ndro apps ing co A anne milli pple and for iOS ap l (e.g., G Each ve id, Objec s ge tool entation of ctive. fr om ntri r on ap tive- for ap Samoa a stru bution A oogle nd • A deve ps fo ndroid st ps). The Play or provid coll ps. ,aw ctural s: lo r or an ec pment of downloa es, for ex ps marke for And es ap and co ection of eb-bas ed so and on roid mpreh insi ftwar that th omical apps is ha Islam d. ampl tplace St work. ructure ension ghts pert e anal an ving et al e, o↵er ar is vast: of ap aining ytics USD e apps bu d from si gnifi . [1 ] affi ou nd on supp In Secti of th e Pape ps . to the m a ‣ Roberto Minelli, Michele Lanza; Software si apps in 2009. ness gene social pe cant impa rm that e or on Secti ting tool III we de In Sec r: ainten bu Marke ra rspe ct th ance As th siness e w ts & ted a reve ctive. T both frome on V . we su In Sectiontail our ap II we tion beco populari ill be wor Markets nue of ca hey repo mmar pr ize ou IV we pr oach and ew relate revi me cr ty of th $2 predic . $4.5 rted Lik it ic al. ap ps in 5 bi t th bi r w ork an es en S am d and re e traditio crease llion U at the gl llion w Due to th II . d ou t our find oa, ou r na s, mai SD in obal ork, e rece Relat tline in softw quire mai l softwar ntaini 20 an nc ed W future gs. In ar ntenan e syst ng th 15 [2]. Ruiz d its natu y of ap ork work. [5], [6 e maint ce em em fo et re is ps, th Analytics for Mobile Applications - Insights & en ac s, will cusi al. ex quite er it is ], [7], [8] ance an tivities. apps evol They ng on re plored hetero e is little un w d C direct are di clear if th ere deve program lassical ve over ti Perso divided use so by in ftware de neous. ge ly re st lo co ap m lated code ributed ose approa ped whe mprehen proaches e that naliza apps herita sign , th proble as mention rough ap ches can apps did sion [3], to n 61% tion, Pho in catego nce and aspects p be po not ex [4], m or of all cl to gr ap ri es clas of ap open m, we se ed by H stores th rt ed is t, an e ap ps . H asses hy, Socia (i.e., C s reuse ps, source ttle arm at to an ot undr l ar ) apps d on a pu an et al do not pr apps. App d A pp her ap p in eds of in each ca and Wea ds & C [12]. ther asin Lessons Learned. In Proceedings of CSMR 2013 for th blic . [9 ovid s S th apps tego e And catalogu ]. To over e source factor tore Min e same were ry appe ), and foun o, 1 See ht tp://f- s in ca droid. org/ roid e platfo of FOS come th chan of succ g [9], an tegory. H complet ar in two d rm, na S (free is ne es d arman ely or med an than ls. We w s of apps focused et al reused F-Dro d th an on they eir channe t to stud with resp aspects . introduc by m id 1. for di ec the po ↵er from ls of dist y the sour t to thei pertaining ed ributi ssible tradit ons, ce code of r distribu to lat im plicat io na l to tion (17th IEEE European Conference on Software 2 ions software understa apps, ra P For un for th sy nd th e mai stems, an if and ho er dersta s ndab tic ility ntenan d w we ad vise ce of which ar aly s readin apps e g a co . lor n versio a n of A on this pa ly pe on t al. r. are icati Maintenance and Reengineering), pp. 144-153, ed e y d lop uiz e b eve k. R reus ries t w f ppl anza ano, Sw it zer lan r e d wor on tego hat o e d ly s w elate name s in c und ore a t l S le A icheleitLy of Lug the filerstdairecctltsyof adpivpsid, edhayp),p anadppf earreinly reoudsuecdedry p p r o m u a i Vis Mob inelli casn—d Univ work. ,Sthinereeisdelisigunseas[7].nT, hphoetaocghr cpaptesgoweraen eet wal.arine repsotusdiepds. a e M ers ce tt pe ey ap ry nti tr ito IEEE CS Press, 2013 oa — A or f b e Ro f I M ati rto form n R e ed ag o ar y on nd rso ult a yo sr e atio in f a arm oft and ap lat ears softw clas naliz sses ds o y. H of s tore s of s on l is cla dre gor rm p s ture ocu goa al d- ew ed e de s f ocus anc o, p of th e all un ate l fo ap fea . H e c ve rry rent nt to s. O radit ance f ur ion m Fa c are ch a a f herit casin 60% apps sam a no kbe i↵e wa ore d t ten the Sa EV EA L @ ps, su ap es, as in ft- in ., .g as evic ss h a so on, (e ore th o o ps in ing” the twee al. n ap app the expla l to c an ther the [8], Bla n d we p st s an main ins ols R ow n d ine om en m n tw r ap Min ined s be n et n o een for pps nove kn held bus t. Fr nom ps. s tha othe tore y m tion arma r th betw ions of a for a cs lso hand pps arke phe e ap alytic s lyti s , a a w z ie by p S The orrela m H rathe ces licat velty calls ana ctor ns on he r m ne naly e an sitor the p g. c o , n p o are ee fa , and atio un . T lla t a a r o t , “A inin r of y fr pps ↵ere im e n also ‣ Roberto Minelli, Michele Lanza; SAMOA - A p lic at r ters n do esen s to ftwa rep esen orts l m b e n t l f a di the Th ut softw s thr aries eans ap s th mpu illio epr ique so are pr upp ura m e o e s. b d e r m e ile o b r n ed oftw s to it s ruct nu i↵er ode d th , and app ork, . ase erag lib by s ar y ob tem c lti- ps ch as M sys ablet mu e ap d te eb-b es s ique lyses a st D e c tan ms f w s b-b lev rty er w b too l rc rs ste n o ted app l we oa rd -pa e us e vie nted w t— e ac ar d t o a tiv an w min chn na om c he sou unde e sy ensio rela lyze isua . Sam of 3 th Th me t vie o str ftw an int pe ols al It te e a s fr f t to e t Ab d so nes ned pers r to visu ns. ation il th app s t ot to twar preh nt of ana our v tions sage ata ions. mpl apsho iew to o r fo io a a f so co mou es m to a d t o n v oa pplic de, u the aliza ics c m s tion iews te h u g a at liz t nd c u , ica artp ars t eerin need oa, plic isua a, de rsta reen /abo n d a u m a o u r v c ms . a mall chniq nt S bile ce c sents vis met custo evolu tem a sm ye ngin is a Sam e ap of v amo nde e s i.ch te w h Visual Software Analytics Platform for Mobile e e t il t S u t s s s e r r e e e a s e f re er sen ob se e to g .u s sy PC d te res mo ou p iv ar s a sy wa d th pre r m es a scrib logy inin inf are blet ber an e p for sis: s moa eract oftw vide app, eco ps an We m fo d us e de hodo ive. onta oa. tw m t W rm aly Sa int al s pro one and Ap r n t t c m sof and ta a nu men , tfo an ta. f n p, for tfo s a . W me pec oa, /sa oa n pla app data e a pers Sam p:/ uc tio m sto es ses lop nes pla the al da ue o ditio Sam n of e ap rm tin g of ed scrib ical of htt rod e cu hon impo deve ideli gle for toric talog th tra nes. visi f on o atfo r e sen osed t r r tp r an d u o a i o e o l min d de tor site d at I. In s, a ma do o : is n g ’s G able , h f a c ed w cific ific ects ce. r sP a p mp pick an d his web cate pp ., s ven age sig tic mo co k ] r a s, i.e ach ngu c de droid emar 9 [1 ] o nrich in-sp spe al as at on e c p aly f Sa I is er to erent an The is lo o n o U s e e u di↵ hich Applications. In Proceedings of ICSM 2013 (29th s, e E la fi n r 0 [2 e ma ct a ric ps A e , on evic ated: ing speci .g., A s is in 20 SD fac Th e , mo do depi histo al ap ar ter on. ws th th el w tion e de cati d g m m s (e pp U ftw li ie pp held var rogra ovide nnel t of US illion a D or to sent ever lS o r in cati llo een an liza bal e a nd is a sf pre ict s use appli at a betw ics p isua glo fo p bil n ha pps the ), p n ch ark llio 25 r e n b app ing Vis ua in th r v r in Mo g o of a e.g., used utio he m .5 bi rth $ on om t de p ma cat nel itch Met the ot) o ion an illi bec esen a: A the log pa w ) h is of nin rld ( e trib T $4 o e m are repr will mo ts e A tion to s a (2 with naps Rev ion t the run e wo aints to b dis ore). of be w o n S a pic th s ) u tr t n s ca. , app Apps the nsio y n II. de of Selec , and des; sync i.e., a (3 revis abo rface Th cons men s ow p St enue d to e 1 w d i ( ; c s u IEEE International Conference on Software of iron rs it s Ap a rev pecte r ovid larity in. tem rehe ogram , ig ure ot vie a (1) lyze prov cs in app stem ecifi etail ing s ’ p u a s p r to F sh ts: an oa a i etr f an cosy t a s nal main p d ng env o↵e pple ted is ex . r es pop dom re sy com for p rted n a p ar e p m m o e u io e usi a b and y, A ener ess now gle sto asing ring ftwa and ches be po a s five to s S t of ion pps abo ddit e r iew a a in e e o , a nd f p n e i s a n a th v Pl ps g bus from Goo incr gine y s nce pro can . 6 ] a rm o e ap izatio s a s rev the atio ying iew, the p e s d n a n n a a p ] d [ o h l e c t m v e A th ear an eir e e as nte ng , [5 iste ps latf s a t ua riz cifi bou for isp la in nc and ew y pple ith th twar but, mai xisti , [4] ps ex e ap cs p use oa vis mma spe ts a ys in el d ) Ma ws. ha n en a f he A d. W t sof on tion, ther e e [3] e ap alyz alyti s and Sam re su ing a eme ispla pan e (5 e vie we Maintenance), pp. 476-479, IEEE CS Press, 2013 T loa an n n t ome volu whe nanc befor to an re a f app data. uctu d be easur at d Entity and th activ how wn or tr do imp phen ace e clear ainte ised ach oftwa ies o ined e s reste s. m nel th (4) cus; inter also th te an ew ly f is un nd m dev ppro ed s sitor e m nd rs in ation y2 . pa p; an fo the trates a n vitab s. It n a were el a b-bas repo ent th dersta lope ualiz sitor lly ap tity in d to illus s. s un ine blem hensio they nov a we tware pre e is o a dev e v rep nti nd e edic re 1 metr n ate ic pro pre ce ed a oa, s sof es to ws to and thes roid esse Is, a d u Fig s and u com s, sin evis Sam mine hniq m vie lysts from e F-D e is AP . p ap e d ented moa n tec usto ana nefit of th ritan d -party ojects c lor co W m Sa atio of c Both be part inhe 3r pr ple 1 . z . n n er im apps isuali logue apps s ca gate that ly o elop p for of v cata n of g ap vesti ple, ily re dev set ers a lutio ndin to in xam heav ingle vo h e a e s s am for app lived o ↵ e o re and comp sed S ed, at rt- in u ver , th sho We isco apps are ch i. d in us ps f. g We used st ap in a. d.or un t mo o m oi sa a : // f- dr th p tt :// h
I Source Code Design & Implementation II Evolution III Use of 3rd Party Libraries
SAMOA Software Analytics for MObile Applications
BACK-END FRONT-END Source code model extraction SAMOA SVN SVN SVN SVN AST generator MSE generator JSON retrieval d3.js AST parser MSE parser JavaScript/ HTML/CSS jQuery/PHP Data acquisition Java SVN JSON Internet crawler Files Metrics extraction AST-based MSE-based metrics metrics
Name Rating Installs Start rev. End rev. LOC Alogcat 4.6 >100k 2 48 876 Andless 4.2 >100k 2 93 2372 Android VNC 4.3 >1m 2 203 4949 Anstop N/A N/A 2 61 1142 AppSoundmanager 4.5 >50k 1 157 1605 AppsOrganizer 4.6 >1m 3 191 8321 CSIPSimple 4.4 >100k 2 1'415 20777 Diskusage 4.7 >50k 2 69 4749 Mythdroid N/A N/A 76 640 6114 Mythmote 4.6 >10k 2 281 1593 Open GPS Tracker 4.2 >100k 2 1'255 9754 Opensudoku 4.6 >1m 15 415 3813 Replicaisland 4.2 >1m 2 7 14192 Ringdroid 4.6 >10m 2 66 3516 Search Light 4.7 >100k 2 4 272 Share My Position 4.6 >10k 2 76 468 SIPDroid 4 >500k 50 620 14019 Solitaire for Android 4.3 >10m 2 30 3343 Zirco Browser 3.8 >10k 65 457 6429 Zxing 4.3 >50m 569 2'257 3407
Delta with largest Slices represent invocations to snapshot in history third-party APIs Number of External Calls Number of Internal Calls a a Call ring colors Android calls Java calls b Javax calls Call ring colors Apache calls Android Notcalls classified calls Java calls All other calls b Javax calls Core calls Apache colors Activity Not classified calls Main Activity All other calls Default Main Activity Service Phantom element Core colors Activity Main Activity Default Main Activity Service Phantom element
Part I Part II Snapshot based History based ‣ Dominance of external calls ‣ Core drop ‣ Dominance of internal calls ‣ Delayed use of versioning systems ‣ God-core classes ‣ Flat intervals in history ‣ High core ratio ‣ Gradual increase of core elements ‣ Low core ratio ‣ High correlation between LOC ‣ Multiple main activities and third-party calls ‣ Out-of-sync manifest file ‣ Snap decrease of core elements ‣ Snap increase of core elements ‣ Stepwise growth in history ‣ Stepwise increase of core elements
“Findings” ‣ There were no substantial findings ‣ Design principles are essentially absent: Everything is hacked together ‣ Even basic guidelines are being ignored ‣ Code Quality is not a concern ‣ Warning: Our dataset was not small, but by no means large (enough)
Conclusions?
Conclusions O N S I I S E D M R T B O A
Reflections ‣ Time-to-market is paramount for apps, who cares about the code, as long as it does what it’s supposed to do ‣ Most apps have such a small core domain model that there’s not really much to “design” ‣ The extensive usage of APIs creates some interesting problems, also regarding intellectual property ‣ In a way the dream of component-based software engineering is being realized here, but it’s not a dream, it’s a nightmare
Reflections Too ‣ As long as “apps” run on mobile phones I doubt they will become much more complex: Too many UX concerns ‣ Things might change radically when tablets start departing from phones in terms of apps ‣ Our work is 3 years old ‣ Maybe things changed, but I am not interested ‣ Maybe we looked in the wrong place, at the wrong things
Fin
You can also read