MCIS

lab on Maintenance, Construction and Intelligence of Software

Email:




CISC 834 Topics in Computer Science: MLOps 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, DevOps and MLOps. Software release engineering is the discipline of integrating, building, testing, deploying and releasing high-quality software releases to the end user. These activities form a vital link in today's DevOps world, which builds on agile development processes to add a feedback loop between developers and operators. The advent of revolutionary AI technology has pushed the established concepts of DevOps even further, leading to the recent fields of MLOps or even LLMOps.


While many people still think of software as cardboard boxes bought in their local electronics shop, the advent of agile methodologies, the web and AI 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. Similar notions are being developed for today's AI systems.


How can a modern 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 relies on techniques from the area of mining software repositories, which 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 and journal 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