Computational intelligence and visual computing: an emerging technology for software engineering

Abstract The discipline of Software Engineering is abstract and complex with all its endeavors being cast in a knowledge-intensive environment. It is not surprising that there have been a number of important initiatives that have attempted to address a burning need for solid development tools and comprehensive environments supporting an in-depth analysis. The objective of this study is to discuss a role of Computational Intelligence (CI) and visual computing being viewed as a sound methodological and algorithmic environment for knowledge-oriented Software Engineering. The CI itself is regarded as a synergistic consortium of granular computing (including fuzzy sets) promoting abstraction, neurocomputing supporting various learning schemes and evolutionary computing providing important faculties of global optimization. By its very nature, CI embraces a diversity of design paradigms; in particular it promotes a top-down approach (when exploiting fuzzy sets first and afterwards working in the neural network environment) or bottom-up style (where these two technologies are used in a reverse order). Visual computing is inherently associated with CI: it is human-centric where fuzzy sets make visualization activities feasible. Fuzzy sets are treated as a graphic means of accepting information from users. They are regarded as a vehicle used to visualize results in a linguistic manner. Software Engineering and CI are highly compatible: they are knowledge-intensive, human-oriented, and have to deal with various manifestations of the abstract world of software constructs and thought processes. This multifaceted conceptual compatibility is a prerequisite for the development of vital synergistic links that bring the technology of CI into Software Engineering. The symbiosis accrues considerable benefits for both technologies by posing new categories of challenging and highly stimulating problems. The facet of visual computing is essential in handling of software processes and software products. The intent of this study is to provide a general overview of this new development in Software Engineering. In particular, we highlight a number of selected and most visible trends occurring at the junction of CI and Software Engineering. Furthermore we discuss several specific applications of the technology of CI to software cost estimation, analysis of software measures and neural models of software quality.

[1]  Lotfi A. Zadeh,et al.  Fuzzy logic = computing with words , 1996, IEEE Trans. Fuzzy Syst..

[2]  Gary McGraw,et al.  Genetic algorithms for dynamic test data generation , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.

[3]  Sandro Morasca,et al.  Property-Based Software Engineering Measurement , 1996, IEEE Trans. Software Eng..

[4]  Brian Henderson-Sellers,et al.  Object-Oriented Metrics , 1993, TOOLS.

[5]  James F. Peters,et al.  Design of a software quality decision system: a computational intelligence approach , 1998, Conference Proceedings. IEEE Canadian Conference on Electrical and Computer Engineering (Cat. No.98TH8341).

[6]  Jordi Alvarez,et al.  Combining Knowledge and Metrics to Control Software Quality Factors , 1996 .

[7]  Anneliese Amschler Andrews,et al.  Assessing neural networks as guides for testing activities , 1996, Proceedings of the 3rd International Software Metrics Symposium.

[8]  Teuvo Kohonen,et al.  Self-Organizing Maps , 2010 .

[9]  Bryan F. Jones,et al.  Automatic structural testing using genetic algorithms , 1996, Softw. Eng. J..

[10]  Marc Roper Computer aided software testing using genetic algorithms , 1997 .

[11]  Elaine M. Hall,et al.  Managing Risk: Methods for Software Systems Development , 1998 .

[12]  Witold Pedrycz,et al.  Fuzzy clustering in software reusability , 1997 .

[13]  Raymond A. Paul Metric-based neural network classification tool for analyzing large-scale software , 1992, Proceedings Fourth International Conference on Tools with Artificial Intelligence TAI '92.

[14]  Flavio Oquendo,et al.  Dealing with software process deviations using fuzzy logic based monitoring , 2000, SIAP.

[15]  Lotfi A. Zadeh,et al.  Fuzzy sets and information granularity , 1996 .

[16]  James C. Bezdek,et al.  On the relationship between neural networks, pattern recognition and intelligence , 1992, Int. J. Approx. Reason..

[17]  Francesco Marcelloni,et al.  Deferring elimination of design alternatives in object‐oriented methods , 2001, Concurr. Comput. Pract. Exp..

[18]  Lotfi A. Zadeh,et al.  Toward a theory of fuzzy information granulation and its centrality in human reasoning and fuzzy logic , 1997, Fuzzy Sets Syst..

[19]  Norman E. Fenton,et al.  Software Metrics: A Rigorous Approach , 1991 .

[20]  Teuvo Kohonen,et al.  Self-organized formation of topologically correct feature maps , 2004, Biological Cybernetics.

[21]  Dieter Merkl,et al.  SELF-ORGANIZING MAPS AND SOFTWARE REUSE , 1998 .

[22]  R. Belschner,et al.  A neural fuzzy system to evaluate software development productivity , 1995, 1995 IEEE International Conference on Systems, Man and Cybernetics. Intelligent Systems for the 21st Century.

[23]  A. von Mayrhauser,et al.  Using a neural network to predict test case effectiveness , 1995, 1995 IEEE Aerospace Applications Conference. Proceedings.

[24]  Francesco Marcelloni,et al.  Improving object-oriented methods by using fuzzy logic , 2000, SIAP.

[25]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[26]  L. Darrell Whitley,et al.  Prediction of Software Reliability Using Connectionist Models , 1992, IEEE Trans. Software Eng..

[27]  W. Pedrycz,et al.  An introduction to fuzzy sets : analysis and design , 1998 .

[28]  Horst Zuse,et al.  A Framework of Software Measurement , 1998 .

[29]  Abhijit S. Pandya,et al.  Application of neural networks for predicting program faults , 1995, Ann. Softw. Eng..

[30]  Marcey L. Abate,et al.  Measuring the Software Process , 2001, Technometrics.

[31]  Francesco Marcelloni,et al.  Reducing quantization error and contextual bias problems in software development processes by applying fuzzy logic , 1999, 18th International Conference of the North American Fuzzy Information Processing Society - NAFIPS (Cat. No.99TH8397).

[32]  Stephen G. MacDonell,et al.  FULSOME: a fuzzy logic modeling tool for software metricians , 1999, 18th International Conference of the North American Fuzzy Information Processing Society - NAFIPS (Cat. No.99TH8397).

[33]  Amrit L. Goel,et al.  Empirical Data Modeling in Software Engineering Using Radical Basis Functions , 2000, IEEE Trans. Software Eng..