Finding and Demonstrating Undesired Program Behavior
Final Report Abstract
TESTIFY hat wichtige Fortschritte in der Analyse mobiler Anwendungen erzielt. Hervorzuheben sind die zahlreichen Verbesserungen für das automatische Testen, insbesondere die Beschleunigung der Testgenerierung um den Faktor drei. Nicht nur die dynamische Analyse mobiler Anwendungen, auch ihre Codeanalyse wird durch TESTIFY-Ergebnisse erheblich verbessert; hier trägt insbesondere die Heaps n’Leaks-Analyse zur Präzision und Skalierbarkeit bei. Während TESTIFY wichtige Fortschritte gebracht hat und somit insgesamt als erfolgreich gelten darf, bleiben die Ergebnisse doch hinter den ursprünglichen Projektzielen zurück. Das liegt daran, dass Testgeneratoren – auch mit den in TESTIFY erzielten Verbesserungen – immer noch nicht stark genug sind, um die Funktionalität einer mobilen Anwendung vollständig abzudecken. Diese Funktionalität ist zum großen Teil durch Interaktion mit weiteren Diensten und auch externen Servern geprägt ist, auf die ein Testgenerator, der sich auf die Benutzeroberfläche konzentriert, nur bedingt Zugriff hat. Die Integration dynamischer und statischer Analyse beschränkt sich so im Ergebnis noch auf spezialisierte Einzelfälle. Wir sehen nach wie vor ein großes Potenzial in der Kombination mehrerer Analyseverfahren. Für eine großflächige Integration statischer und dynamischer Analysen, wie im TESTIFY-Antrag erhofft, muss aber insgesamt noch weitere grundlegende Arbeit geleistet werden. Das betrifft nicht nur die Einzeltechniken, sondern auch die wichtige Frage, wie die Integration hochkomplexer Analysen technisch zu bewältigen ist, so dass sie auch nachhaltig wartbar und modular bleibt. Tatsächlich sehen wir voraus, dass zukünftige Forschungsergebnisse in Programmanalyse und -Test mit einem immer größeren und langfristigen Ingenieursaufwand verbunden sein werden, was gängige Modelle der Forschungsförderung an ihre Grenzen bringt. Das o.g. Nachfolgeprojekte IntelliSecTest wird diesbezüglich hoffentlich einen weiteren wichtigen Meilenstein erreichen können. Wir bleiben dem Ziel verlässlicher Software verbunden, und werden weiter unsere Techniken entwickeln und zusammenspielen lassen.
Publications
- Droidmate-2: A platform for Android test generation. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, ASE 2018, page 916–919, New York, NY, USA, 2018. Association for Computing Machinery
Nataniel P. Borges Jr., Jenny Hotzkow, and Andreas Zeller
(See online at https://doi.org/10.1145/3238147.3240479) - AccessiLeaks: Investigating privacy leaks exposed by the Android accessibility service. In PETS 2019 - The 19th Privacy Enhancing Technologies Symposium, Stockholm, Sweden, July 2019
Mohammad Naseri, Nataniel P. Borges Jr., Andreas Zeller, and Romain Rouvoy
(See online at https://doi.org/10.2478/popets-2019-0031) - Learning user interface element interactions. In Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2019, page 296–306, New York, NY, USA, 2019. Association for Computing Machinery
Christian Degott, Nataniel P. Borges Jr., and Andreas Zeller
(See online at https://doi.org/10.1145/3293882.3330569) - Up-to-crash: Evaluating third-party library updatability on Android. In 2019 IEEE European Symposium on Security and Privacy (EuroS&P), pages 15–30, 2019
Jie Huang, Nataniel P. Borges Jr., Sven Bugiel, and Michael Backes
- Why does this app need this data? Automatic tightening of resource access. In 2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST), pages 449–456, 2019
Nataniel P. Borges Jr. and Andreas Zeller
(See online at https://doi.org/10.1109/ICST.2019.00054) - Heaps’n leaks: How heap snapshots improve Android taint analysis. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, ICSE ’20, page 1061–1072, New York, NY, USA, 2020. Association for Computing Machinery
Manuel Benz, Erik Krogh Kristensen, Linghui Luo, Nataniel P. Borges Jr., Eric Bodden, and Andreas Zeller
- Speeding up GUI testing by on-device test generation. In Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering, ASE ’20, page 1340–1343, New York, NY, USA, 2020. Association for Computing Machinery
Nataniel P. Borges Jr., Jenny Rau, and Andreas Zeller
- Testing apps with real-world inputs. In Proceedings of the IEEE/ACM 1st International Conference on Automation of Software Test, AST ’20, page 1–10, New York, NY, USA, 2020. Association for Computing Machinery
Tanapuch Wanwarang, Nataniel P. Borges Jr., Leon Bettscheider, and Andreas Zeller
(See online at https://doi.org/10.1145/3387903.3389310)