Jump to content

Program comprehension: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
format alternative names
SPAAAAACE (talk | contribs)
Added citations and replaced "no citations" tag with "more needed."
Line 1: Line 1:
{{unreferenced|date=July 2014}}
{{More citations needed|date=November 2023}}

'''Program comprehension''' (also '''program understanding''' or '''[source] code comprehension''') is a domain of computer science concerned with the ways [[software engineers]] maintain existing source code. The cognitive and other processes involved are identified and studied. The results are used to develop tools and training.
'''Program comprehension''' (also '''program understanding''' or '''[source] code comprehension''') is a domain of computer science concerned with the ways [[software engineers]] maintain existing source code. The cognitive and other processes involved are identified and studied.<ref>{{Cite journal |last=Letovsky |first=Stanley |date=1987-12-01 |title=Cognitive processes in program comprehension |url=https://www.sciencedirect.com/science/article/pii/016412128790032X |journal=Journal of Systems and Software |volume=7 |issue=4 |pages=325–339 |doi=10.1016/0164-1212(87)90032-X |issn=0164-1212}}</ref> The results are used to develop tools and training.<ref>{{Cite journal |last=Storey |first=Margaret-Anne |date=2005-05-15 |title=Theories, Methods and Tools in Program Comprehension: Past, Present and Future |url=https://doi.org/10.1109/WPC.2005.38 |journal=Proceedings of the 13th International Workshop on Program Comprehension |series=IWPC '05 |location=USA |publisher=IEEE Computer Society |pages=181–191 |doi=10.1109/WPC.2005.38 |isbn=978-0-7695-2254-8}}</ref>


Software maintenance tasks have five categories: adaptive maintenance, [[corrective maintenance]], perfective maintenance, [[code reuse]], and code leverage.
Software maintenance tasks have five categories: adaptive maintenance, [[corrective maintenance]], perfective maintenance, [[code reuse]], and code leverage.
Line 16: Line 17:
* Anneliese von Mayrhauser's theory [http://www.computer.org/portal/web/csdl/doi/10.1109/2.402076].
* Anneliese von Mayrhauser's theory [http://www.computer.org/portal/web/csdl/doi/10.1109/2.402076].
-->
-->
== References ==
<references />

== See also ==
== See also ==
*[[Program analysis (computer science)]]
*[[Program analysis (computer science)]]

Revision as of 14:49, 9 November 2023

Program comprehension (also program understanding or [source] code comprehension) is a domain of computer science concerned with the ways software engineers maintain existing source code. The cognitive and other processes involved are identified and studied.[1] The results are used to develop tools and training.[2]

Software maintenance tasks have five categories: adaptive maintenance, corrective maintenance, perfective maintenance, code reuse, and code leverage.

Theories of program comprehension

Titles of works on program comprehension include

  • Using a behavioral theory of program comprehension in software engineering
  • The concept assignment problem in program understanding, and
  • Program Comprehension During Software Maintenance and Evolution.

Computer scientists pioneering program comprehension include Ruven Brooks, Ted J. Biggerstaff, and Anneliese von Mayrhauser.

References

  1. ^ Letovsky, Stanley (1987-12-01). "Cognitive processes in program comprehension". Journal of Systems and Software. 7 (4): 325–339. doi:10.1016/0164-1212(87)90032-X. ISSN 0164-1212.
  2. ^ Storey, Margaret-Anne (2005-05-15). "Theories, Methods and Tools in Program Comprehension: Past, Present and Future". Proceedings of the 13th International Workshop on Program Comprehension. IWPC '05. USA: IEEE Computer Society: 181–191. doi:10.1109/WPC.2005.38. ISBN 978-0-7695-2254-8.

See also