Date Added: Nov 2008
A property of large-scale, industrial systems is that they are intended to be used and maintained over a long period of time. In order to keep such large systems maintainable, it is important that developers respect the various rules that underlie the design of such systems during the subsequent evolutions of the system. These design rules can range from low-level naming conventions and coding guidelines, over the correct use of frameworks to the different constraints that are imposed by the architecture of the system. Serving as a testimony to this problem is the amount of effort that has been devoted - both in academia and industry - to tools and approaches that aid in verifying design rules with respect to a system's source code.