Independent Research Study

Summary

Monitors: Keeping Informed on Code Changes
Independent Research Study, November 2012
Author: Christopher Dentel
Supervisor: Christian Estler and Martin Nordio
Report

Description

In small, localized teams information proliferation about ongoing code changes is a natural consequence of the immediate proximity of the developers. However, larger projects and especially distributed projects face challenges where developers may not be aware of all changes that are occurring within a specific project. This report introduces the concept of Monitors, the ability to keep an eye on those changes which are important to a developer. A "monitor" is added to a particular "aspect" of code (library, file, class, feature, pre/post condition, invariant, etc.). When the monitor is added, a "shadow" of the current state of the monitored aspect is archived. The degree to which the aspect should be monitored is specified within a "comparator", which continuously compares the current state of the aspect as well as the shadow to determine if a "violation" has occurred. If a violation has occurred, the monitor informs the developer through one or more specified communication means. This report also documents the implementation of monitors into the Integrated Development Environment and toolset provided by Cloudstudio.