Program comprehension: Difference between revisions

Content deleted Content added
OAbot (talk | contribs)
m Open access bot: url-access updated in citation with #oabot.
 
(22 intermediate revisions by 21 users not shown)
Line 1:
{{OrphanMore citations needed|date=November 20062023}}
'''Program comprehension''' is a ___domain of computing science dealing with the processes (cognitive or others) used by [[software engineer]]s 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 ==
PrecursorTitles workof works on program comprehension includes: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.
<!-- 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. Biggerstaff'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 ==
*[[Program analysis]]
*[[Program slicing]]
 
== References ==
== Conferences on program comprehension ==
<references />
Although major conferences in computing science welcome work on program 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.
 
{{compu-sci-stub}}
[[Category:Computer programming]]