Statisk analys har framgångsrikt använts på många områden, från att verifiera uppdragskritisk programvara till malware upptäckt. Tyvärr, statiska analyser ofta ger falska positiva, vilket kräver betydande manuella ansträngningar att lösa. I denna uppsats visar vi hur man överlagrar en probabilistisk modell, tränad med hjälp av domänkunskap, på toppen av statiska analysresultat, för att triagera statiska analysresultat. Vi tillämpar denna idé för att analysera mobila applikationer. Android-programkomponenter kan kommunicera med varandra, både inom enstaka applikationer och mellan olika applikationer. Tyvärr, tekniker för att statiskt infer Inter-Komponent Communication (ICC) ger många potentiella inter-komponent och interapplication länkar, varav de flesta är falska positiva. I stora skalor är det helt enkelt inte möjligt att granska alla potentiella kopplingar. Vi lägger därför över en probabilistisk modell av ICC på toppen av statiska analysresultat. Eftersom beräkning av interkomponentlänkar är en förutsättning för interkomponentanalys, introducerar vi en formalism för att härleda ICC-länkar baserade på fastställda begränsningar. Vi designar en effektiv algoritm för att utföra länkupplösning. Vi beräknar alla potentiella länkar i en corpus av 11.267 applikationer på 30 minuter och triage dem med vår probabilistiska strategi. Vi finner att över 95,1% av alla 636 miljoner potentiella länkar är förknippade med sannolikhetsvärden under 0,01 och är därmed sannolikt ogenomförbara länkar. Således är det möjligt att endast överväga en liten del av alla länkar utan betydande förlust av information. Detta arbete är det första viktiga steget i att göra statisk inter-application analys mer lätthanterlig, även på stora skalor.
Deras senaste arbete REF visade hur man överlagrar en probabilistisk modell, tränad med hjälp av domänkunskap, på toppen av statiska analysresultat för att triage statiska analysresultat.
Combining static analysis with probabilistic models to enable market-scale Android inter-component analysis
{'venue': 'POPL 2016', 'journal': None, 'mag_field_of_study': ['Computer Science']}