Engineering Complex Software Systems

Engineering Complex Software Systems

Our society relies on complex software systems. Smart cyber-physical systems and the Internet of Things underpin many aspects of our daily lives including healthcare, transport, and more. These systems are becoming increasingly heterogeneous and networked – and adding to the complexity, advanced algorithms based on artificial intelligence (AI) and quantum computing are now being incorporated.

The Engineering Complex Software Systems (Complex SE) department's mission is to develop new intelligent and efficient software engineering solutions to design, develop, test and maintain these complex software systems.

Department head

Shaukat Ali

Shaukat Ali

Chief Research Scientist/Research ProfessorHead of Department

"In addition to handling uncertainties of complex software systems, one breakthrough research idea is to create quantum software for different applications. Suppose you had to make a new vaccine or a new drug – quantum software holds the potential to speed up its discovery exponentially and provide much more accurate analysis than current computational tools."

- Shaukat Ali, Dept. Head

Focus areas

As the complexity of software systems and their interactions with the physical world increase, so too do the challenges of ensuring their reliability and performance. Understanding, developing, and testing complex systems made up of many interconnected and interdependent components presents a challenge for both humans and tools. 

In the Complex SE Department, we address these challenges through:

Software engineering

We use approaches from model-based engineering, model-based testing, search-based software engineering, and empirical software engineering to develop novel methods to engineer complex software systems in classical and quantum computing domains.

Applying advanced techniques

We also apply advanced techniques to software engineering. These include digital twins, applied AI (e.g., genetic algorithms, deep learning, rule mining), and more recently, quantum computing.

Software system development

We develop software for classical, quantum and hybrid systems. Our work encompasses all phases of software system development: requirements engineering, design and modelling, development, testing and debugging, operation, and maintenance.

Key partners

People in ComplexSE

Shaukat Ali

Shaukat Ali

Chief Research Scientist/Research ProfessorHead of Department

Erblin Isaku

Erblin Isaku

PhD student

Christoph Laaber

Christoph Laaber

Postdoctoral Fellow

Chengjie Lu

Chengjie Lu

PhD student

Eñaut Mendiluze

Eñaut Mendiluze

PhD student

Asmar Muqeet

Asmar Muqeet

PhD student

Noah Oldfield

Noah Oldfield

PhD student

Hassan Sartaj

Hassan Sartaj

Postdoctoral Fellow

Xinyi Wang

Xinyi Wang

PhD student

Jiahui Wu

Jiahui Wu

PhD student

Qinghua Xu

Qinghua Xu

Project Assistant

Publications

Read Uncertainty-wise Model Evolution with Genetic Programming

S. Ali

Uncertainty-wise Model Evolution with Genetic Programming

Uncertainty-wise Model Evolution with Genetic Programming

Read Uncertainty-wise Model Evolution with Genetic Programming

M. Zhang, S. Ali and T. Yue

Uncertainty-wise Model Evolution with Genetic Programming

23rd IEEE International Conference on Software Quality, Reliability, and Security (QRS 2023)

Read Uncertainty-Aware Test Prioritization: Approaches and Empirical Evaluation

M. Zhang, J. Wu, S. Ali and T. Yue

Uncertainty-Aware Test Prioritization: Approaches and Empirical Evaluation

IEEE Transactions on Software Engineering

Read Uncertainty Unveiled: Identifying and Classifying Industrial Cyber-Physical Systems' Uncertainties for Testing

S. Ali

Uncertainty Unveiled: Identifying and Classifying Industrial Cyber-Physical Systems' Uncertainties for Testing

Shonan Seminar on DevOps for Cyber-physical Systems

Read Traversing the Data Spectrum: Path to Dependable Cyber-Physical Systems through Digital Twins

Q. Xu

Traversing the Data Spectrum: Path to Dependable Cyber-Physical Systems through Digital Twins

University of Oslo

Read Towards Quantum Software Requirements Engineering

T. Yue, S. Ali and P. Arcaini

Towards Quantum Software Requirements Engineering

3rd International Workshop on Quantum Software Engineering and Technology

Read Towards Quantum Software Requirements Engineering

S. Ali

Towards Quantum Software Requirements Engineering

3rd International Workshop on Quantum Software Engineering and Technology

Read Testing Real-World Healthcare IoT Application: Experiences and Lessons Learned

H. Sartaj

Testing Real-World Healthcare IoT Application: Experiences and Lessons Learned

31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE '23)

Read Testing Real-World Healthcare IoT Application: Experiences and Lessons Learned

H. Sartaj

Testing Real-World Healthcare IoT Application: Experiences and Lessons Learned

31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE '23)

Read Test Scenario Generation for Autonomous Driving Systems with Reinforcement Learning

C. Lu

Test Scenario Generation for Autonomous Driving Systems with Reinforcement Learning

2023 IEEE/ACM 45th International Conference on Software Engineering

Read Test Scenario Generation for Autonomous Driving Systems with Reinforcement Learning

C. Lu

Test Scenario Generation for Autonomous Driving Systems with Reinforcement Learning

2023 IEEE/ACM 45th International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)

Read Search-based Test Data Generation for Digital Twins

Y. D. Kassaye and S. G. Hansen

Search-based Test Data Generation for Digital Twins

University of Stavanger