ABSTRACT

This chapter describes the use of neural networks in the analysis of software systems. It also describes how neural networks, in combination with software complexity measures, can be used to investigate the structure of the component code in a large software system. The chapter discusses the use of neural networks as an analysis tool to find copies of procedures in a large software system. Telecommunications software systems tend to be very large, with code produced in varying circumstances and over a considerable period of time. Sheppard and Simpson used a simple competitive network comprising twelve input nodes and twelve output units. Cloning is the most basic form of software reuse: it is the copying of blocks of code. Code cloning has been very extensively used within the software development community. Large systems are organized hierarchically with code blocks defined within procedures, procedures gathered together into modules, modules into sections and sections into areas.