Droidmate erkennt Fehler in Android-Programmen

DeveloperForschungInnovationIT-ProjekteMobileMobile OS

Ein neues automatisches Testverfahren soll Funktionsfähigkeit und Sicherheit von Apps für Smartphones und Tablets absichern. Die Software nimmt eine Art Verhaltensforschung an den Anwendungen vor und mutiert dabei selbst.

Ein Projekt des Lehrstuhls für Softwaretechnik an der Uni Saarland widmet sich dem Problem vieler Mobilanwendungen: Sie sind oft nicht ausreichend getestet. Das soll nun automatisiert geschehen, dachten sich Konrad Jamrozik, Florian Gross und Andreas Zeller, die hinter der Lösung “Droidmate” stecken.

Droidmate: Tester-Darwinismus
Droidmate arbeitet beim Durchtesten einer App evolutionär: es erzeugt neue Nutzerverhaltensmuster und erneuert sich ständig, um auch noch den letzten Fehler auszumerzen (Bild: Uni Saarland).

Alle drei beschäftigen sich mit “Application Behaviour”. Wie sie mit ihrer Methode sogar bei beliebten und weit verbreiteten Apps auf Fehler stoßen, zeigen die Forscher auf der CeBIT (Halle 9, Stand F34) eher symbolisch mit einem Roboterarm, der sich durch alle möglichen Apps klickt und die hohe Fehlerquote sichtbar macht. In Wirklichkeit klickt sich das Programm natürlich nur virtuell durch die Apps, mutiert dabei und probiert Verschiedenes aus, bis viele “Verhaltens-Mutationen” auch den letzten Bug ausfindig gemacht haben.

“Es ist traurig, dass der Google Play Store aufgrund der fehlenden Qualitätskontrolle für Apps die Option einräumen muss, eine App 15 Minuten nach ihrer Installation wieder zurückzunehmen, wenn Funktionsfehler auffallen”, zitieren die Forscher einen neuseeländischen Entwickler, der bereits im vergangenen Jahr das Chaos der Android-App-Landschaft bemängelte.

Mit Hilfe von Droidmate sollen Entwickler nun “mit minimalem Aufwand die maximale Gewissheit erreichen, dass ihre App funktioniert”, verspricht Doktorand Jamrozik. Während die erste Version nur das Tippen auf virtuelle Tasten simuliert, soll die nächste Variante auch das Wischen über Touchscreens nachahmen können.

Das Programm verwendet neuartige Rechenverfahren, modelliert grafische Benutzerschnittstellen und nutzt “genetische Algorithmen”, die “wie die biologische Evolution” eine Menge von Testfällen zufällig erzeugen. Aufgedeckte Fehlfunktionen werden an den Entwickler weitergegeben. Auch Spionagefunktionen könnten so erkannt werden, erklärt Jamrozik einen weiteren möglichen Anwendungsbereich der Technik.

Sind Sie ein CeBIT-Kenner? Überprüfen Sie Ihr Wissen – mit 15 Fragen auf silicon.de

Anklicken um die Biografie des Autors zu lesen  Anklicken um die Biografie des Autors zu verbergen