Program comprehension: Difference between revisions

Content deleted Content added
BL Lacertae (talk | contribs)
m stubsort
OAbot (talk | contribs)
m Open access bot: url-access updated in citation with #oabot.
 
(33 intermediate revisions by 31 users not shown)
Line 1:
{{More citations needed|date=November 2023}}
Program comprehension is a ___domain of computing science dealing with the processes (cognitive or others) used by software engineers to understand programs (during their evaluation, before their modification).
 
'''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://dx.doi.org/10.1016/0164-1212%2887%2990032-X |journal=Journal of Systems and Software |volume=7 |issue=4 |pages=325–339 |doi=10.1016/0164-1212(87)90032-X |issn=0164-1212|url-access=subscription }}</ref> The results are used to develop tools and training.<ref>{{Cite book |last=Storey |first=Margaret-Anne |chapter=Theories, methods and tools in program comprehension: Past, present and future |date=2005-05-15 |title=13th International Workshop on Program Comprehension (IWPC'05) |chapter-url=https://doi.org/10.1109/WPC.2005.38 |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>
Program comprehension is also known as program understanding.
 
Software maintenance tasks have five categories: adaptive maintenance, [[corrective maintenance]], perfective maintenance, [[code reuse]], and code leverage.
 
== Theories of program comprehension ==
==Titles Conferencesof 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.
Precursor work on program comprehension includes:
<!-- These links supply no knowledge except that one may "buy this article":
* Ruven Brooks' theory [http://portal.acm.org/citation.cfm?id=803210].
* Ted J. BuggerstaffBiggerstaff's concept assignment problem [http://portal.acm.org/citation.cfm?id=257679].
* Anneliese von Mayrhauser's theory [http://ieeexplorewww.ieeecomputer.org/searchportal/wrapperweb/csdl/doi/10.1109/2.jsp?arnumber=402076].
-->
 
== See also ==
== Conferences on program comprehension ==
*[[Program analysis]]
*[[Program slicing]]
 
== References ==
Although major conferences in computing science welcom work on progam comprehension, the International Conference on Program Comprehension [http://www.ieee-iwpc.org/] (formely known as International ''Workshop'' on Program Comprehension until 2005 inclusive) is dedicated to research on program comprehension.
<references />
 
[[Category:Computer programming]]
{{compu-sci-stub}}