Linking the Effect of Typographical Style to the Evolvabililty of Software

This paper presents the problem of program comprehension and its relationship with programming style. It defines programming style as those characteristics of source code associated with formatting and commenting (i.e. typographical style [1]). The paper also outlines a position whose ultimate aim is to support the software evolution process through maintaining comprehensibility. This aim could be achieved by managing the cost of increasing code comprehensibility (in terms of deviation from a base programming style), through the application of groomative maintenance [2].

[1]  Anneliese Amschler Andrews,et al.  Program Comprehension During Software Maintenance and Evolution , 1995, Computer.

[2]  Penny Grubb,et al.  Software Maintenance: Concepts and Practice , 2003 .

[3]  J. E. Sammet,et al.  Software psychology: human factors in computer and information systems , 1983, SGCH.

[4]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

[5]  N. Pennington Stimulus structures and mental representations in expert comprehension of computer programs , 1987, Cognitive Psychology.

[6]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .

[7]  R. E. Berry,et al.  A style analysis of C programs , 1985, CACM.

[8]  Jim Buckley,et al.  Inference-based and expectation-based processing in program comprehension , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[9]  Ned Chapin,et al.  Types of software evolution and software maintenance , 2001, J. Softw. Maintenance Res. Pract..

[10]  Matteo Sereno,et al.  Fine Grained Software Degradation Models for Optimal Rejuvenation Policies , 2001, Perform. Evaluation.

[11]  Keith H. Bennett,et al.  A flexible method for segmentation in concept assignment , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[12]  R. Geoff Dromey,et al.  A Model for Software Product Quality , 1995, IEEE Trans. Software Eng..

[13]  Christopher Exton Constructivism and program comprehension strategies , 2002, Proceedings 10th International Workshop on Program Comprehension.

[14]  Ben Shneiderman,et al.  Program indentation and comprehensibility , 1983, CACM.

[15]  Curtis R. Cook,et al.  Typographic style is more than cosmetic , 1990, CACM.

[16]  Nicolas E. Gold,et al.  A framework for understanding conceptual changes in evolving source code , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[17]  Kishor S. Trivedi,et al.  Proactive management of software aging , 2001, IBM J. Res. Dev..

[18]  Curtis R. Cook,et al.  A taxonomy for programming style , 1990, CSC '90.

[19]  Eugene H. Spafford,et al.  Authorship analysis: identifying the author of a program , 1997, Comput. Secur..

[20]  E. B. Swanson,et al.  Software maintenance management , 1980 .

[21]  Ted J. Biggerstaff,et al.  Program understanding and the concept assignment problem : Reverse engineering , 1994 .

[22]  E HaleJoanne,et al.  Types of software evolution and software maintenance , 2001 .

[23]  Brian W. Kernighan,et al.  The elements of programming style (2. ed.) , 1978 .

[24]  Keith H. Bennett,et al.  Hypothesis-based concept assignment in software maintenance , 2002, IEE Proc. Softw..

[25]  M. Fowler Improving the Design of Existing Code , 2000 .