HyperAIHyperAI

Command Palette

Search for a command to run...

MIT-Team entwickelt modulares Software-Modell für klarere Code-Struktur

Forschende am MITs Computer Science and Artificial Intelligence Laboratory (CSAIL) haben ein neues Modell zur Entwicklung verständlicher, modularer Software vorgestellt, das die Herausforderungen moderner Softwareentwicklung adressiert. Aktuelle Systeme sind oft durch „Feature-Fragmentierung“ geprägt: Funktionen wie ein „Teilen“-Button in einer sozialen Plattform sind nicht in einem einzigen, klar strukturierten Codeblock enthalten, sondern verteilt über mehrere Dienste – für Authentifizierung, Benachrichtigungen, Speicherung usw. Dies macht das Verständnis, Testen und Ändern von Code schwierig und erhöht das Risiko unbeabsichtigter Seiteneffekte. Um dieses Problem zu lösen, entwickelten Daniel Jackson, Professor für Elektrotechnik und Informatik (EECS) und Associate Director von CSAIL, sowie Eagon Meng, Doktorandin im EECS und Gestalter einer speziellen Domänen-Sprache (DSL), einen Ansatz, der Software in zwei zentrale Bausteine unterteilt: Konzepte und Synchronisationen. Konzepte kapseln eine einzelne, kohärente Funktionalität – wie „Teilen“, „Gefallen“ oder „Folgen“ – inklusive ihres Zustands und zulässiger Aktionen. Synchronisationen definieren hingegen explizit, wie diese Konzepte miteinander interagieren, etwa durch Regeln wie „Wenn ein Beitrag geteilt wird, wird eine Benachrichtigung ausgelöst“. Diese Regeln werden in einer einfachen, domänen-spezifischen Sprache formuliert, die sowohl von Menschen gut lesbar als auch von großen Sprachmodellen (LLMs) zuverlässig generierbar ist. In einer Fallstudie demonstrierten die Forscher, wie sich mit diesem Ansatz mehrere Features zentralisieren und ihre Wechselwirkungen transparent machen lassen. Zudem können wiederkehrende Aspekte wie Fehlerbehandlung oder Datenspeicherung in den Synchronisationen zentral definiert werden, was Konsistenz und Wartbarkeit erhöht. Die Methode eröffnet auch Perspektiven für verteilte Systeme, etwa durch die Koordination von Replikaten oder die saubere Interaktion von Datenbanken. Jackson sieht darin eine kulturelle Wende: Konzepte könnten zu einer Art „Hochsprache“ werden, in der Anwendungen nicht mehr aus Bruchstücken zusammengesetzt, sondern aus vorgefertigten, gut getesteten Bausteinen aufgebaut werden, die durch Synchronisationen miteinander verknüpft werden. Die Idee, die Software auf menschliche Abstraktionen statt auf Rechenmaschinen abzustellen, wird von Experten als bahnbrechend angesehen. Kevin Sullivan von der University of Virginia betont, dass die Methode die Softwareentwicklung von technischen Abstraktionen zu menschlich verständlichen Konzepten verlege, was insbesondere in kritischen Bereichen wie der Gesundheitsversorgung von großer Bedeutung sei. Thomas Ball von der University of Washington sieht in der Kombination von Konzepten und LLMs eine vielversprechende Lösung für die zentrale Herausforderung: die präzise Spezifikation von Softwarewünschen. Die Forschung wurde auf der Splash-Konferenz in Singapur vorgestellt und markiert einen bedeutenden Schritt hin zu sicherer, verständlicher und automatisierbarer Softwareentwicklung.

Verwandte Links

MIT-Team entwickelt modulares Software-Modell für klarere Code-Struktur | Aktuelle Beiträge | HyperAI