Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Enforcing structural regularities in software using IntensiVE
Brichau J., Kellens A., Castro S., DHondt T. Science of Computer Programming75 (4):232-246,2010.Type:Article
Date Reviewed: Oct 4 2010

One way to make programs more comprehensible and maintainable is to ensure that they follow appropriate conventions, expressed as design patterns, coding conventions, and so forth. Typically, this is done by training or exhortation: programmers are expected to write using the house style, as expressed in a style guide. Layout conventions can be adhered to easily--many editors ensure this by design; others may be reformatted automatically.

Although conventions such as adherence to design patterns are rather more difficult to describe and to check, the Intensional Views Environment (IntensiVE) system presented in this paper aims to do precisely this. Conventions are described using a logic programming language designed to easily express programs. IntensiVE can then check whether all the conditions expressed hold for a program written in Smalltalk (the language in which IntensiVE is written), COBOL, or Java.

What happens if a violation occurs? It might be the exception that proves the rule, and if this is indeed the case, then it can be explicitly documented as an exception. If it is not thus labeled, the source of the violation is graphically presented to the user. The paper does not state whether the system provides any form of hint or feedback to users on the best ways to try and fix the fault; such hints would certainly be welcome, but would require more sophisticated input than simply a logic programming description of a predicate.

The authors provide a thorough exposition of related work, including earlier expositions of IntensiVE. The particular technical innovation that this paper delivers is the inclusion of parametric views: the definitions of predicates can be parameterized by identifiers that allow the same regularity to be instantiated in different ways in the same project or across a set of projects. Furthermore, this well-illustrated paper includes a running example of the factory design pattern, which provides a paradigmatic illustration of the capabilities of the system.

Reviewer:  Simon Thompson Review #: CR138441 (1103-0303)
Bookmark and Share
  Featured Reviewer  
 
Verification (D.4.5 ... )
 
 
Object-Oriented Languages (D.3.2 ... )
 
 
Structured Programming (D.2.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Verification": Date
Verification of the IBM RISC System/6000 by a dynamic biased pseudo-random test program generator
Aharon A., Dorfman B., Gofman E., Leibowitz M., Schwartzburd V., Bar-David A. IBM Systems Journal 30(4): 527-538, 1991. Type: Article
Dec 1 1993
A Specification and Verification Method for Preventing Denial of Service
Yu C., Gligor V. IEEE Transactions on Software Engineering 16(6): 581-592, 1990. Type: Article
Feb 1 1991
Using program transformations to provide safety properties for real-time systems
Tsai G., Wang S. Real-Time Systems 27(2): 191-207, 2004. Type: Article
Feb 23 2005
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy