Skip to main content

SERC RESEARCH

Empirical Software Engineering

Applied Software Engineering Research with a strong empirical component based on studies that usually involve the collection and analysis of data and experience that can be used to characterize and reveal relationships between software development deliverables, practices, and technologies.

Empirical Results form a body of knowledge leading to accepted and well-formed theories, which will advance state-of-the-art software engineering as well as impact current industry best practices.

Mining Software Repositories such as source control systems, archived communications between project personnel, and defect tracking systems are mined to support the maintenance of software systems, improve software design, and empirically validate novel ideas and techniques.

Modeling, IoT, and Cloud Computing

Model-Driven Development maximizes compatibility between systems via the reuse of standardized models, simplifying the process of design, and promoting communication between individuals and teams. Model-driven development is an integrated part of new and emerging systems and paradigms such as cyber-security, cyber-physical systems, cloud computing, data analytics, big data, systems engineering, social media, devices, and services.

IoT and Cloud Computing as the Internet of Things (IoT) evolves across industries new software engineering challenges: high reactivity, scalability, heterogeneity, configurability, resource-constrained systems, and robustness. It also requires software architectures that deal with complex interactions, interoperability gaps and data mining for reasoning about the environment and software interactions. Research within the center on cloud computing focuses on enhance on-demand resource distribution and improving ubiquitous, on-demand access to a shared pool of configurable computing resources (e.g., computer networks, servers, storage, applications, and services), which can be rapidly provisioned and released with minimal management effort.

Wireless Communication research within the center spans from ad-hoc networks, cognitive networks, error control, coding theory, information theory, multi-hop networks and mobility and resource management in wireless networks to name a few.

Software Engineering Quality and Best Practices

Software Quality and Measures considers quality as defined in a business context, assessing whether a system complies with or conforms to a given design, based on functional requirements or specifications. Research within the center includes among others, assessing and improving both functional and non-functional qualities of a system to better ensure that a system complies with these requirements.

Software Processes and Collaborative Software Engineering includes the design, produce and deliver an enterprise’s products and services, but also how these processes are instantiated by enterprise/government practices, policies, and regulations. Software engineering projects are inherently cooperative, requiring different stakeholders to coordinate their efforts to produce a large software system. Expertise in the center includes on developing a shared understanding of multiple artifacts, each artifact embodying its own model, over the entire development process. Current projects include collaboration embedded within a larger development process as well as artifact-neutral coordination technologies and toolkits.

System Engineering and Evolution

System Engineering focuses on holistically and concurrently understanding stakeholder needs, exploring opportunities, documenting requirements; and synthesizing, verifying, validating, and evolving solutions. It also considers the complete problem, from system concept exploration through system disposal. Software development expertise in the center focuses on developing new tools, includes language front-ends, program analyses and runtime systems, new techniques (such as methodologies, design processes and code organization approaches), new principles (such as formalisms, proofs, models and paradigms), and new evaluations (such as experiments, corpora analyses, user studies and surveys).

Software Evolution expertise within the center involves the theory and practice of recovering information from existing software and systems. Current projects explore of innovative methods of extracting the many kinds of information that can be recovered from software, software engineering documents, and systems artifacts. Our researchers are also examining innovative ways of using this information in system renovation and program understanding. Research projects focus on the development of tools and best practices to support software evolution tasks.

Software Engineering Research Centre

juergen.rilling@concordia.ca
514-848-2424, ext. 3016

Mailing address

1455 De Maisonneuve Blvd. W.
Montreal, Quebec, Canada
H3G 1M8

Web navigation

Back to top

© Concordia University