Software Engineering
We Transform Ideas into Software
Der schnelle gesellschaftliche, wirtschaftliche und technologische Wandel erfordert ein hohes Tempo bei der Entwicklung und Wartung von Softwaresystemen. Daher entwickelt die Forschungsgruppe Software Engineering (SWE) des InIT neuartige Methoden und Werkzeuge, um die Softwareentwicklung zu automatisieren und qualitativ hochwertige Software zu gewährleisten. Darüber hinaus sind wir Experten in der Anwendung von empirischem Software Engineering, um die erfolgreiche Entwicklung und Übertragung unserer Forschung für und in die Wirtschaft sicherzustellen. Wir beschäftigen uns unter anderem mit folgenden Forschungsfragen:
- Wie können Low-Code/No-Code-Tools eingesetzt werden, um die Einstiegshürde in die Softwareentwicklung für Experten ohne Programmierkenntnisse zu senken?
- Wie lassen sich wiederverwendbare Anwendungsfälle identifizieren, um den Aufwand für die Softwareerstellung zu reduzieren?
- Wie lassen sich Softwarequalität und Wartungsaufwand durch automatische Transformationen von Anforderungen in Code und Testfälle verbessern?
- Wie generiert man automatisch Traceability-Links zwischen Software-Anforderungen, Code und Testfällen für die Software-Entwicklungsüberwachung und Qualitätssicherung?
- Wie können Phasen des Lebenszyklus der Softwareentwicklung automatisiert werden?
- Welche Methoden können die Continuous Integration (CI) und das Continuous Deployment (CD) für eine nachhaltige Softwareentwicklung verbessern?
- Können Virtual Reality-Tools zur Verbesserung der agilen Softwareentwicklung und der Zusammenarbeit beitragen?
- Wie kann die Erstellung vollständiger und qualitativ hochwertiger Testfälle automatisiert werden?
Diese Themen bearbeiten wir gemeinsam mit externen Wirtschaftspartnern in nationalen und internationalen Projekten. Unsere Forschungskompetenz fliesst auch in den Studiengang Informatik ein und wird in Modulen wie dem Softwareprojekt, der Programmierung, dem Software-Engineering, der Web-Entwicklung und verschiedenen Wahlmodulen wie dem Rapid Software Prototyping, in die auch Studierende aus anderen Ingenieurstudiengängen wie Avionik und Maschinenbau eingebunden sind, an die Studierenden weitergegeben.
Forschungsthemen
Automatisierte Software-Generierung
Das Thema automatisierte Software-Generierung umfasst den Entwurf, die Entwicklung und die Analyse von Low-Code/No-Code-Tools. Diese Tools generieren mittels Transformation von Modellen (z. B. grafisch als Diagramme dargestellt), welche Geschäftslogik, Datenstrukturen, Geschäftsregeln, grafische Benutzeroberflächen usw. spezifizieren, automatisch Software.
Wir untersuchen, wie durch Low-Code/No-Code-Tools die Codequalität sichergestellt, eine hohe Entwicklungsgeschwindigkeit ermöglicht und die Trennung der Geschäftslogik von den zugrunde liegenden Plattformtechnologien gefördert werden kann. Wir verfügen über umfangreiche Erfahrung in der Entwicklung von Low-Code/No-Code-Tools und Model-Driven Engineering-Methoden, die objektorientierte und domänenspezifische Modellierungssprachen unterstützen.
Automatisierung des Software Development Life Cycle
Wir erforschen und entwickeln State-of-the-art Methoden und Tools zur Unterstützung der Automatisierung des Software Development Life Cycles, von Continuous Integration bis zu Continuous Deployment. Als Kern dieses Forschungsthemas wenden wir Tools zur virtuellen Zusammenarbeit im Software Engineering, im Traceability Engineering und in der Test-Automatisierung an.
Virtual Software Engineering Lab
Das Virtual Software Engineering Lab bietet die technische Ausstattung, um die Anwendung, der in der SWE-Gruppe entwickelten Forschungsprototypen, im realen Kontext zu untersuchen. Das Labor verfügt über einen interaktiven Projektor und diverse Touch-Geräte zur Evaluierung neuer Modellierungssprachen, kollaborativer Methoden oder flexibler Modellierungswerkzeuge. Im Labor ist zudem ein Doppelroboter, Microsoft HoloLens und Google Glass, sowie Drohnen integriert, um die Virtualität im Software Engineering besser zu erforschen. Diverse Geräte für empirisches Software Engineering wie Mikrofone und Kameras sind ebenfalls vorhanden.
Projekte
-
Analyse des Impact-Potenzials der Atfinity-Software (AIPAS)
Die Atfinity-Software ist eine Low-Code/No-Code (LCNC)-Lösung, die eine schnellere und kostengünstigere Implementierung und Wartung digitaler Prozesse ermöglicht. Das Unternehmen Atfinity konzentriert sich derzeit auf das Bankwesen als Marktsegment, es wird jedoch erwartet, dass die Atfinity-Software ein viel ...
-
AI-SQUARE: Integrated Decision-Support Platform for Software Staging in DevOps
AI-SQUARE aims to develop a decision-support platform for software staging management. We use ML and NLP techniques together with Knowledge Graphs to integrate heterogeneous data sources and implement reinforcement learning from human feedback for context-specific adaptations.
-
AERIALIST
In the last decade, there has been a growing interest in Unmanned Aerial Vehicles (UAVs) or drones, leading to significant technological advancements in avionics. Thanks to artificial intelligence and machine learning, UAVs are becoming more autonomous. However, a major challenge is the limited observability, ...
Studentenarbeiten
Publikationen
-
2023.
PID parameter tables after ITAE to control overshooting systems found with AI algorithm [Paper].
In:
ICMAME 2023 Conference Proceedings.
International Conference on Mechanical, Automotive and Mechatronics Engineering (ICMAME), Dubai, United Arab Emirates (online), 29-30 April 2023.
ECER.
Verfügbar unter: https://doi.org/10.53375/icmame.2023.216
-
Rani, Pooja; Blasi, Arianna; Stulova, Nataliia; Panichella, Sebastiano; Gorla, Alessandra; Nierstrasz, Oscar,
2023.
A decade of code comment quality assessment : a systematic literature review.
Journal of Systems and Software.
195(111515).
Verfügbar unter: https://doi.org/10.1016/j.jss.2022.111515
-
Birchler, Christian; Ganz, Nicolas; Khatiri, Sajad; Gambi, Alessio; Panichella, Sebastiano,
2023.
Cost-effective simulation-based test selection in self-driving cars software.
Science of Computer Programming.
226(102926).
Verfügbar unter: https://doi.org/10.1016/j.scico.2023.102926
-
Guizzo, Giovani; Panichella, Sebastiano,
2023.
Fuzzing vs SBST : intersections & differences [Paper].
In:
15th International Workshop on Search-Based Software Testing (SBST), Pittsburgh, USA, 9 May 2022.
Association for Computing Machinery.
S. 105-107.
Verfügbar unter: https://doi.org/10.1145/3573074.3573102
-
Khatiri, Sajad; Panichella, Sebastiano; Tonella, Paolo,
2023.
In:
16th IEEE International Conference on Software Testing, Verification and Validation (ICST), Dublin, Ireland, 16-20 April 2023.
ZHAW Zürcher Hochschule für Angewandte Wissenschaften.
Verfügbar unter: https://doi.org/10.21256/zhaw-26597