Paul A. Bailes

Learn More
The benefits of formal methods in software development are well recognised and well documented. Design recovery involves analysing the source code and recovers the desired design elements based on design recovery specification. One way to ensure the correctness of the recovered design is to use formal methods in the process. This paper describes an approach(More)
Software maintenance and evolution are the most expensive activities in the software process, consuming 60% to 80% of the total time spent on a software system. However our understanding of maintenance activities has barely developed beyond arbitrary change to arbitrary things. The standard categories of maintenance are based on subjective characteristics(More)
A visualisation concept called " layering " promises to deal with large software systems, but has to date been exclusively oriented towards the level of concrete code rather than more design-level information. The first step in further progress is to derive with some degree of formalism a space of abstract program constructs that can be viewed by layers.(More)
Functional-style programming and languages have an important role to play in the software life cycle, but for a variety of technical and organisatioml masons are of limited utility until they are integrated with existing languages, notably Ada. A preprocessor implementation provides the full generality of functional programming-programmer-definable(More)