Complexity Reduction in Software Engineering (CRuiSE)
CRuiSE is the research group of Dr. Timothy C. Lethbridge, in the School of Electrical Engineering and Computer Science at the University of Ottawa.
The acronym has "Complexity Reduction" and "Software Engineering" as keywords. But the "ui" in the centre is critical: Reducing complexity means, to a large extent, keeping the the "user interface" central. However, we are not just talking about the interface for the end-user of software, we are also talking about the interface for software engineers; in particular the programming languages, modelling languages and other software engineering tools they use.
Overview of the research
One of the biggest challenges to software engineering is complexity. Software systems are naturally complex due to the tendancy to develop large numbers of features (and hence vast volumes of code) to satisfy the perceived and real requirements. However, there is a great deal we can do to reduce the complexity, and this research group investigates a variety of these.
Part of our research is to study what software engineers find complex, and why many of them are resistant to techniques such as modelling and using software engineering tools that are supposed to simplify development. We are studying how to unify the notions of programming amd modelling, so software engineers can develop and maintain systems quickly and at a high level of abstraction.
One of our ongoing subprojects is to develop a language called Umple which is designed to inccorporate modelling concepts such as associations, attributes, states and actions into a programming language. The developer/programmer would be able to work using a text editor, most likely in an IDE like Eclipse, and would be able to specify the above high-level constructs as well as lower-level algorithmic code all in a textual form. However, the graphical form would not be lost, as visual representations (like UML), would still appear.
Current and former students working on the project are listed on Dr. Lethbridge's grad students page.
Some of our hypotheses
Some of our research questions