Font Size: a A A

An evolutionary computation approach to the software engineering of evolving programs

Posted on:2000-04-28Degree:Ph.DType:Dissertation
University:Wayne State UniversityCandidate:Cowan, George SmithFull Text:PDF
GTID:1468390014961065Subject:Computer Science
Abstract/Summary:
The Software Engineering Environment for Evolving Programs (SWEEP) is a prototype for an evolving software development environment consisting of adaptive agents. SWEEP captures the salient features of automated assistance for the software systems of the future: distributed agents specializing in different life-cycle activities, focusing on software evolution, with an adaptive capability that will allow the agents to evolve new development processes. The programming agents for this system are Genetic Programming (GP) elements. A common architectural scheme for the agents, Cultural Algorithms (CA), facilitates the learning and interaction between the agents.; The processes used by the GP agents create programs that are quite different from those of traditional processes. Two specific differences introduced with the use of the GP process are the phenomenon of bloat and the software quality issue of solution program generalizability to new problem instances. Unnecessary complexity compromises program generalization, but bloat obscures this relationship by introducing extra structural complexity into the program without affecting the program's outputs. Three levels of bloat are characterized: local bloat, global bloat, and representational bloat.; Hopefully, any new assessment processes for new quality issues and new code phenomena can build on traditional assessment knowledge. The Metrics Apprentice (MA) is a prototype knowledge-based Software Quality Agent that constructs new software metrics, based on traditional software engineering metrics, for assessing software quality issues. To facilitate the learning of new concepts, the MA uses a CA shell that combines an evolutionary programming population component with a semantic network of schemata, or generalized knowledge, in a belief space. The performance of the system for a symbolic regression problem was compared to that of a traditional linear discriminant analysis (LDA) statistical approach. As more bloat was removed, the knowledge-based MA was able to outperform the LDA approach through the emergence of a hierarchical structure in its belief space. This structure allowed the MA knowledge-based approach to climb the conceptual hierarchy to use traditional software metrics that had a higher knowledge level, such as Intelligence Content, leading to an increased ability to predict the Generalizability of the GP produced code.
Keywords/Search Tags:Software, Program, Evolving, Approach
Related items