A concept-oriented belief revision approach to domain knowledge recovery from source code

This paper introduces an innovative approach to recovering domain knowledge with enhanced reliability from source code. Domain knowledge is divided into inter-connected knowledge slices which are matched against the source code. Each knowledge slice has its own authenticity evaluation function which takes the belief of the evidences it needs as input and the authenticity of the knowledge slice is produced. These slices are arranged to exchange beliefs with each other through inter-connections, i.e., concepts, to obtain a better evaluation of the authenticity. Rooted in cognitive science and social psychology, the approach adds rigour to the comprehension process.

[1]  John Hartman,et al.  Understanding natural programs using proper decomposition , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[2]  Edward H. Shortliffe,et al.  A model of inexact reasoning in medicine , 1990 .

[3]  Jim Q. Ning,et al.  Concept recognition-based program transformation , 1991, Proceedings. Conference on Software Maintenance 1991.

[4]  Hongji Yang,et al.  Towards building a smarter domain knowledge recovery assistant , 2000, Proceedings 24th Annual International Computer Software and Applications Conference. COMPSAC2000.

[5]  Yang Li,et al.  Clarity Guided Belief Revision for Domain Knowledge Recovery in Legacy Systems , 2000 .

[6]  Giuliano Antoniol,et al.  Augmenting pattern-based architectural recovery with flow analysis: Mosaic-a case study , 1996, Proceedings of WCRE '96: 4rd Working Conference on Reverse Engineering.

[7]  Salwa K. Abd-El-Hafiz,et al.  Documenting programs using a library of tree structured plans , 1993, 1993 Conference on Software Maintenance.

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

[9]  Keith H. Bennett,et al.  Legacy Systems: Coping with Success , 1995, IEEE Softw..

[10]  Ted J. Biggerstaff Human-oriented conceptual abstractions in the reengineering of software , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[11]  Ted J. Biggerstaff,et al.  Design recovery for maintenance and reuse , 1989, Computer.

[12]  Paul Beynon-Davies Knowledge Engineering for Information Systems , 1993 .

[13]  C. Desclaux,et al.  MACS: maintenance assistance capability for software-a KADME , 1991, Proceedings. Conference on Software Maintenance 1991.

[14]  Lowell Jay Arthur Software evolution: the software maintenance challenge , 1988 .

[15]  Henry G. Dietz,et al.  Abstracting plan-like program information: a demonstration , 1994, Proceedings 1994 International Conference on Software Maintenance.

[16]  Hongji Yang,et al.  Extension of a transformation system for maintenance: dealing with data-intensive programs , 1994, Proceedings 1994 International Conference on Software Maintenance.

[17]  William C. Chu,et al.  Fusing ambiguous domain knowledge slices in a reverse engineering process , 2000, Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000.

[18]  Linda M. Wills,et al.  Flexible control for program recognition , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[19]  Alex Quilici,et al.  A memory-based approach to recognizing programming plans , 1994, CACM.

[20]  Mari Georges MACS: Maintenance assistance capability for software , 1992, J. Softw. Maintenance Res. Pract..

[21]  Gail C. Murphy,et al.  Conceptual module querying for software reengineering , 1998, Proceedings of the 20th International Conference on Software Engineering.

[22]  Richard C. Waters Program Translation via Abstraction and Reimplementation , 1988, IEEE Trans. Software Eng..

[23]  D. Byrne,et al.  Social Psychology: Understanding Human Interaction , 1981 .

[24]  Elliot Soloway,et al.  PROUST: Knowledge-Based Program Understanding , 1984, IEEE Transactions on Software Engineering.

[25]  Francoise Balmas Toward a framework for conceptual and formal outlines of programs , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[26]  Thomas A. Corbi,et al.  Program Understanding: Challenge for the 1990s , 1989, IBM Syst. J..