Concept location in formal specifications

When kept up-to-date, formal specifications can act as valid artifacts for maintenance tasks. However, their linguistic density and size impede comprehension, reuse, and change activities. Techniques such as specification slicing and chunking help in reducing the number of relevant lines of text to be considered, but they expect the point of change to be known a priori. This contribution presents a process model for concept location within formal Z-specifications. It also considers those situations when the location is not even roughly known. The identification is comparable to the identification of regions with high cohesion. The approach is based on the idea of first transforming the specification to an augmented graph and, secondly, on the generation of spacial clusters. Copyright © 2008 John Wiley & Sons, Ltd.

[1]  Liu Rui,et al.  Fuzzy c-Means Clustering Algorithm , 2008 .

[2]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[3]  Andreas Bollin,et al.  Maintaining formal specifications - decomposition of large Z-specifications , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[4]  Robert Anthony Weida,et al.  Closed terminologies and temporal reasoning in description logic for concept and plan recognition , 1996 .

[5]  Václav Rajlich,et al.  Case study of feature location using dependence graph , 2000, Proceedings IWPC 2000. 8th International Workshop on Program Comprehension.

[6]  Jim Q. Ning,et al.  Knowledge-based program analysis , 1990, IEEE Software.

[7]  Roland Mittermeir,et al.  Demand-Driven Specification Partitioning , 2003, JMLC.

[8]  Tong Yi,et al.  Slicing Z specifications , 2004, SIGP.

[9]  Jonathan P. Bowen,et al.  Seven More Myths of Formal Methods , 1994, FME.

[10]  J. Bezdek,et al.  FCM: The fuzzy c-means clustering algorithm , 1984 .

[11]  Wojtek Kozaczynski,et al.  Program Concept Recognition and Transformation , 1992, IEEE Trans. Software Eng..

[12]  Jonathan P. Bowen Formal Specification and Documentation Using Z: A Case Study Approach , 1996 .

[13]  Norman Wilde,et al.  Software reconnaissance: Mapping program features to code , 1995, J. Softw. Maintenance Res. Pract..

[14]  Norman Wilde,et al.  The role of concepts in program comprehension , 2002, Proceedings 10th International Workshop on Program Comprehension.

[15]  Anthony Hall,et al.  Seven myths of formal methods , 1990, IEEE Software.

[16]  P.E. Ross The exterminators [software bugs] , 2005, IEEE Spectrum.

[17]  Alex Quilici,et al.  Applying Plan Recognition Algorithms To Program Understanding , 2004, Automated Software Engineering.

[18]  Alex Quilici,et al.  Some experiments toward understanding how program plan recognition algorithms scale , 1996, Proceedings of WCRE '96: 4rd Working Conference on Reverse Engineering.

[19]  Andreas Bollin The efficiency of specification fragments , 2004, 11th Working Conference on Reverse Engineering.

[20]  I. Burnstein,et al.  A role for chunking and fuzzy reasoning in a program comprehension and debugging tool , 1997, Proceedings Ninth IEEE International Conference on Tools with Artificial Intelligence.

[21]  Tornohiro ODA,et al.  Specification slicing in formal methods of software development , 1993, Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93.

[22]  Michalis Vazirgiannis,et al.  c ○ 2001 Kluwer Academic Publishers. Manufactured in The Netherlands. On Clustering Validation Techniques , 2022 .

[23]  Christopher A. Welty,et al.  Augmenting abstract syntax trees for program understanding , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.

[24]  Antoni Diller,et al.  Z - an introduction to formal methods , 1990 .

[25]  Yachai Limpiyakorn,et al.  Using an artificial intelligence approach to build an automated program understanding/fault localization tool , 1999, Proceedings 11th International Conference on Tools with Artificial Intelligence.

[26]  Axel van Lamsweerde,et al.  Formal specification: a roadmap , 2000, ICSE '00.