Program comprehension: Difference between revisions

Content deleted Content added
SmackBot (talk | contribs)
m Date/fix the maintenance tags using AWB
OAbot (talk | contribs)
m Open access bot: url-access updated in citation with #oabot.
 
(27 intermediate revisions by 26 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 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 ==
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 ==
== Conferences on program comprehension ==
*[[Program analysis]]
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.
*[[Program slicing]]
 
== References ==
<references />
 
[[Category:Computer programming]]
{{compu-sci-stub}}