Med hjälp av en systematisk litteraturöversikt samlade och kategoriserade vi alla kända metoder för statiskt approximerande reflekterande Java-kod. Bredvid detta konstruerade vi en representativ corpus av Java system och samlade beskrivande statistik över användningen av Reflection API. Vi tillämpade sedan en analys på de abstrakta syntaxträden av alla källkoder för att räkna kodidom som går bortom begränsningsgränserna för statiska analysmetoder. De data som blir resultatet besvarar forskningsfrågorna. Korpus, verktyget och resultaten är öppet tillgängliga. Vi drar slutsatsen att det finns ett brett stöd för behovet av osunda antaganden för att lösa reflektioner. I vår corpus kan man inte bortse från reflektioner för 78 procent av projekten. Vanliga utmaningar för analysverktyg såsom icke-exceptionella undantag, programmatiska filtrering meta objekt, semantik av samlingar, och dynamiska proxies, förekommer ofta i corpus. För Java programvaruingenjörer prioritera robusthet, listar vi taktik för att få enklare att analysera reflektionskod, och för statiska analysverktyg byggare vi ger en lista över möjligheter att ha betydande inverkan på verklig Java kod.
REF analyserade relevansen av statiska analysverktyg med avseende på reflektion.
Challenges for Static Analysis of Java Reflection - Literature Review and Empirical Study
{'venue': '2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE)', 'journal': '2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE)', 'mag_field_of_study': ['Computer Science']}