Program comprehension: Difference between revisions
Appearance
Content deleted Content added
format alternative names |
Added citations and replaced "no citations" tag with "more needed." |
||
Line 1: | Line 1: | ||
{{ |
{{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
This article needs additional citations for verification. (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
- ^ 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.
- ^ 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.