lab on Maintenance, Construction and Intelligence of Software


LOG 6307-E Release Engineering -- Applications of Mining Software Repositories

LOG6307-E is a grad course given each Fall in English by Dr. Bram Adams.

LOG6307-E (in French: "Fouille de réf. pour mise en prod. logicielle") 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 LOG6307-E, keep an eye on this section for more ;-)

Where to get MSR Data?

Data Repositories:

MSR Mining Challenge:

MSR Data Track:

Latest Work

MCINTOSH, S., KAMEI, Y., ADAMS, B., and HASSAN, A. E. (2014). The Impact of Code Review Coverage and Code Review Participation on Software Quality: A Case Study of the Qt, VTK, and ITK Projects, in Proceedings of the 11th Working Conference on Mining Software Repositories, MSR (Hyderabad, India), pages 192-201. (Distinguished Paper Award)

SHANG, W., JIANG, Z. M., HEMMATI, H., ADAMS, B., HASSAN, A. E. and MARTIN, P. (2013). Assisting Big Data Analytics Developers When Cloud Deploying Hadoop Applications, in Proceedings of the 35th International Conference on Software Engineering, ICSE (San Francisco, CA, US), pages 402-411. (ACM SIGSOFT Distinguished Paper Award)