The Software engineering research group at Thompson Rivers University aims at collaborating with industry by targeting applied research problems. Some of the leading areas of interests are large-scale software architecture such as software product line and software eco-systems, empirical software engineering, software process assessment, open source software, human factors in software development and green software code. Some of the projects we are currently working on are:
1. Software design complexity and green code
It has been constantly argued that environmental conditions are getting worse and worse over a period of time due to an increase in energy consumption. Much work has been reported in minimizing the use of energy in computer hardware, but very little work has been conducted in how to make software applications as green as possible, specifically from its design perspective. Complexity of software contributes significantly in the quality and maintenance work. In this project, we aim at empirically investigating the relationship of software design complexity and green software code.
2. Is open source software environment green? An empirical investigation
Our planet is facing serious environmental issues due to the constant increase in energy consumption, and waste from industry. The concept of green computing is receiving popularity in our society after the realization that reducing emissions can increase the age of our planet and help in improving the health of its inhabitants. The use of free and open source software is gaining momentum due to the ever-increasing availability and use of the Internet. In the recent past, many large software development companies have committed their efforts to open source projects, which gave momentum to this initiative. The objective of this project is to find out up to what extent the OSS environment is green and what efforts will further green the whole environment.
3. Transition from Software Product Line to Software Ecosystems
The software industry has successfully used the concept of software product lines and now a transition is in progress from product line to software ecosystem. The concept of a Software Eco System is gaining in popularity amongst large organizations and inherently relies on the adoption of common architectural development for multiple product development. The adoption of these approaches represents a significant shift in traditional software development style and process methodology. Currently several organizations are in practice with this new process model which embraces business, third party involvement and open architecture as its central pillars and these institutions have thrived as a result. Software ecosystem architecture defines the concepts, structures, and textures necessary to achieve variation in the features of diverse products while ensuring that the products share the maximum amount of parts in the implementation. There are a lot of research opportunities present in defining a representation for ecosystem architecture and a deep understanding of all of the necessary features of such representations. The objective of this research project is to propose an Architecture Description Language (ADL) for software ecosystems which will help in representing commonality and variability aspects of ecosystem architecture and further increase the traceability of product line and product specific requirements.
Group Coordinator: Dr. Faheem Ahmed