Browse Prior Art Database

Pattern Recognition in Software Engineering

IP.com Disclosure Number: IPCOM000131602D
Original Publication Date: 1983-May-01
Included in the Prior Art Database: 2005-Nov-11
Document File: 9 page(s) / 34K

Publishing Venue

Software Patent Institute

Related People

Robert W. DePree: AUTHOR [+3]

Abstract

Pattern recognition can be used to develop automated tools that support software engineering. Here, t~ree applications offer solutions to coding redundancy, specifications, and progress monitoring.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 12% of the total text.

Page 1 of 9

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

This record contains textual material that is copyright ©; 1983 by the Institute of Electrical and Electronics Engineers, Inc. All rights reserved. Contact the IEEE Computer Society http://www.computer.org/ (714-821-8380) for copies of the complete work that was the source of this textual material and for all use beyond that as a record from the SPI Database.

Pattern Recognition in Software Engineering

Robert W. DePree

Harris Corporation

Pattern recognition can be used to develop automated tools that support software engineering. Here, t~ree applications offer solutions to coding redundancy, specifications, and progress monitoring.

Computer professionals have created automated aids for every profession except computing. This observation, made over a decade ago, is still true today. With some notable exceptions,' the most sophisticated automated tool seen by most programmers is the diagnostic compiler. Part of the reason for this lack of computer aid is the intelligence and data handling capabilities needed to describe and maintain computer software. One solution is to use current developments in pattern recognition and database management to produce automated tools for the development and maintenance of large software systems.

Several approaches to applying pattern recognition and database management principles to software engineering problems are possible. The basic technique discussed here is the associative tree database. This technique can, in turn, be applied in three ways: (1) the function space approach, which provides a method for managing large collections of software; (2) the system space approach, which allows us to manage a large software system over its entire life cycle; and (3) the problem space approach, which provides a generic tool for debugging software.

The associative tree technique

The basic goal of an automated pattern recognition system is to distinguish between elements or classes of elements within a sample set, which requires a set of features that can uniquely characterize each element. If we think of these features as basis vectors of n-dimensional space, each element of the sample set can then be viewed as a point in the space. The vector that describes the element is called the pattern vector.

Ideally, the basis vectors of the space should be orthogonal, implying that the feature set does not carry redundant info~ation. For algorithmic analysis, these basis vectors should also be orthonormal, although this property is rarely possible in real problems.

In most pattern recognition problems, we are concerned with identifying which class of patterns an unknown pattern belongs to. We look upon the elements of the space as bej~g grouped into clusters that represent pattern classes. Figure I shows this concept for a simple three- dimensional space. A new pattern can be classified by somehow identifying its similarity to each cluster. A simplist...