Software engineering - Tampere University of Technology

Software engineering


Main research themes include:

  • Software development methods and practices
  • Software architecture
  • Web and cloud programming
  • Testing methodologies

Software development methods and practices

The importance of SW-based startups is increasing, and old companies need startup-like approach in fast deployment of new software and rapid feedback from users. We are major contributors in the national research program Need-for-Speed, where we research ways to produce real customer value much faster than previously.

We also organized a seminar and a course  about Startup software engineering. The findings of the course have been collected in a publication that documents patterns of successful software development in start-ups.

An example of longer term research is our past project Darwin that worked on deriving software architecture with genetic algorithms. This work is now expanded to on application in self-adaptive systems, and on applying heuristic search methods in deriving optimal work allocation plans and planning and management of global software projects.

We have also worked on application of agile methods in safety-critical systems and combining architecture work or usability work with Scrum and other agile practices. This work has been done in close co-operation with local industry.

In open source software we have been studying topics related top practices of open source development, building and studying open source communities, mining open source repositories and studying the adoption of open source software. For more information see

Results of many of our old projects can be found from

Software architecture

We have developed and used architecture evaluations methods and used them to help the local industry. Together with University of Groningen in the Netherlands we have developed dcar methodology for architecture evaluation. Moreover, our patterns research has a special focus in machine control systems and process automation. Our team has written a book Designing Distributed Control Systems: A Pattern Language Approach. For more information about our pattern research see

Web and cloud programming research

The research spans a broad range of topics from the foundations of web applications (as opposed to web pages or documents), mobile web applications and user interaction techniques to topics such as mashup development, client-server partitioning of web applications and collaborative & context-aware web services. For more information see .

We are also a partner in ITEA2 project EASI-CLOUDS ( that develops technologies for cloud platform federation and development of cloud-aware applications.

Testing methodologies

Focus has been specially on model-besed testing. For more information about testing research see and ITEA2 project ATAC ( ). One of the latest projects is RATA - Robot Assisted Test Automation. In it we have used physical robots in software testing. For more information, look at

Contact persons:

Professors Tommi Mikkonen and Kari Systä (Software development methods and practices, software architecture and web and cloud programming research)

Professor Hannu-Matti Järvinen (Testing methodologies)

Updated by: Jari Salo, 31.05.2017 12:13.
Keywords: science and research, software engineering, software development, software architecture, software testing, web programming, cloud programming, programming