The Software Engineering Research Group (SERG) investigates and teaches theories, methods, processes, and techniques for building and evolving large, complex, and long-living software systems. We aim at adding the engineering to the profession of software developers, making their live more productive and more cheerful, and resulting in software systems of high quality.
Core topics of our research and teaching comprise:
- software architecture and design
- software evolution
- software maintenance and re-engineering
- software quality analysis
- empirical and collaborative software engineering
- service-centric software systems
- end-user programming
- software specification and verification
We investigate the application of these technologies to the development of large and distributed software systems, keeping in mind that:
- Software engineering is more than programming a first release of a system
- Software engineering emphasizes fundamental principles and techniques
- Software engineering follows engineering principles and processes
- Software engineering is a team sport
The IEEE Std 610.12-1990's Standard Glossary of Software Engineering Terminology (ANSI) defines software engineering as the application of a systematic, dicsiplined, quantifiable approach to the development, operation, and maintenance of software.