lab on Maintenance, Construction and Intelligence of Software


CISC 834 Topics in Computer Science: DevOps and Release Engineering

CISC 834 is a grad course given each Fall by Dr. Bram Adams. It aims to introduce graduate students to the wonderful, yet challenging world of software release engineering. Software release engineering is the discipline of integrating, building, testing, deploying and releasing qualitative software releases to the end user. These activities form a vital link in today's DevOps world!

While many people still think of software as cardboard boxes bought in their local electronics shop, the advent of agile methodologies and the web has changed the landscape drastically. Deployment of modern applications often includes coordinating the release of applications on multiple mobile platforms, web platforms with centralized backend services, app stores, and native desktop clients. Furthermore, concepts like continuous delivery of software are no longer curiosities, but essential to retain a competitive edge. Did you know that lean start-ups like IMVU release up to 50 times per day, while modern companies like Intuit, Google and Mozilla only take a couple of weeks in between releases? Browsers like Google Chrome and Mozilla Firefox even update silently to new releases, without the user noticing it.

But how can a software organization achieve such a highly performant release engineering process? How can delays and inefficiencies be identified and monitored, and how can they be resolved? As a methodology towards dealing with these questions, this course promotes the usage of techniques from the area of mining software repositories. This area leverages a wide range of readily available databases such as version control repositories, bug repositories, mailing lists and other data gathered during or following the development process, in order to extract actionable data that can help stakeholders like release engineers or gatekeepers to improve integration or to make the right decision.

Successful Projects

The following conference papers started as an assignment or project in CISC 834, keep an eye on this section for more ;-)

Latest Work

FERREIRA, I., CHENG, J. and ADAMS, B. (2021). The “Shut the f**k up” Phenomenon: Characterizing Incivility in Open Source Code Review Discussions, in Proceedings of the 24th ACM Conference on Computer-Supported Cooperative Work and Social Computing, CSCW (virtual), to appear. BibTeX

FOUNDJEM, A., EGHAN, E.E. and ADAMS, B. (2021). Onboarding vs. Diversity, Productivity and Quality -- Empirical Study of the OpenStack Ecosystem, in Proceedings of the 43rd International Conference on Software Engineering, ICSE (Madrid, Spain), to appear. (Acceptance ratio: 138/602=22.92%) BibTeX

BARRAK, A., EGHAN, E., ADAMS, B., and KHOMH, F. (2021). Why do Builds Fail? - A Conceptual Replication Study, Journal of Software and Systems (JSS), Elsevier, to appear. BibTeX

BARRAK, A., EGHAN, E.E. and ADAMS, B. (2021). On the Co-evolution of ML Pipelines and Source Code - Empirical Study of DVC Projects, in Proceedings of the 28th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER (Hawaii, USA), to appear. (Acceptance ratio: 42/165=25%) BibTeX