A Knowledge-Based Approach to Program Understanding:
Program understanding plays an important role in nearly all software related tasks. It is vital to the development, maintenance and reuse activities. Program understanding is indispensable for improving the quality of software development. Several development activities such as code reviews, debuggi...
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Boston, MA
Springer US
1995
|
Schriftenreihe: | The Springer International Series in Engineering and Computer Science
325 |
Schlagworte: | |
Online-Zugang: | BTU01 Volltext |
Zusammenfassung: | Program understanding plays an important role in nearly all software related tasks. It is vital to the development, maintenance and reuse activities. Program understanding is indispensable for improving the quality of software development. Several development activities such as code reviews, debugging and some testing approaches require programmers to read and understand programs. Maintenance activities cannot be performed without a deep and correct understanding of the component to be maintained. Program understanding is vital to the reuse of code components because they cannot be utilized without a clear understanding of what they do. If a candidate reusable component needs to be modified, an understanding how it is designed is also required. of This monograph presents a· knowledge-based approach to the automation of program understanding. This approach generates rigorous program documentation mechanically by combining and building on strengths of a practical program decomposition method, the axiomatic correctness notation, and the knowledge based analysis approaches. More specifically, this approach documents programs by generating first order predicate logic annotations of their loops. In this approach, loops are classified according to their complexity levels. Based on this taxonomy, variations on the basic analysis approach that best fit each of the different classes are described. In general, mechanical annotation of loops is performed by first decomposing them using data flow analysis. This decomposition encapsulates interdependent statements in events, which can be analyzed individually |
Beschreibung: | 1 Online-Ressource (XVII, 119 p) |
ISBN: | 9781461522799 |
DOI: | 10.1007/978-1-4615-2279-9 |
Internformat
MARC
LEADER | 00000nmm a2200000zcb4500 | ||
---|---|---|---|
001 | BV045186228 | ||
003 | DE-604 | ||
005 | 00000000000000.0 | ||
007 | cr|uuu---uuuuu | ||
008 | 180912s1995 |||| o||u| ||||||eng d | ||
020 | |a 9781461522799 |9 978-1-4615-2279-9 | ||
024 | 7 | |a 10.1007/978-1-4615-2279-9 |2 doi | |
035 | |a (ZDB-2-ENG)978-1-4615-2279-9 | ||
035 | |a (OCoLC)1053825865 | ||
035 | |a (DE-599)BVBBV045186228 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
049 | |a DE-634 | ||
082 | 0 | |a 005.1 |2 23 | |
100 | 1 | |a Abd-El-Hafiz, Salwa K. |e Verfasser |4 aut | |
245 | 1 | 0 | |a A Knowledge-Based Approach to Program Understanding |c by Salwa K. Abd-El-Hafiz, Victor R. Basili |
264 | 1 | |a Boston, MA |b Springer US |c 1995 | |
300 | |a 1 Online-Ressource (XVII, 119 p) | ||
336 | |b txt |2 rdacontent | ||
337 | |b c |2 rdamedia | ||
338 | |b cr |2 rdacarrier | ||
490 | 0 | |a The Springer International Series in Engineering and Computer Science |v 325 | |
520 | |a Program understanding plays an important role in nearly all software related tasks. It is vital to the development, maintenance and reuse activities. Program understanding is indispensable for improving the quality of software development. Several development activities such as code reviews, debugging and some testing approaches require programmers to read and understand programs. Maintenance activities cannot be performed without a deep and correct understanding of the component to be maintained. Program understanding is vital to the reuse of code components because they cannot be utilized without a clear understanding of what they do. If a candidate reusable component needs to be modified, an understanding how it is designed is also required. of This monograph presents a· knowledge-based approach to the automation of program understanding. This approach generates rigorous program documentation mechanically by combining and building on strengths of a practical program decomposition method, the axiomatic correctness notation, and the knowledge based analysis approaches. More specifically, this approach documents programs by generating first order predicate logic annotations of their loops. In this approach, loops are classified according to their complexity levels. Based on this taxonomy, variations on the basic analysis approach that best fit each of the different classes are described. In general, mechanical annotation of loops is performed by first decomposing them using data flow analysis. This decomposition encapsulates interdependent statements in events, which can be analyzed individually | ||
650 | 4 | |a Computer Science | |
650 | 4 | |a Software Engineering/Programming and Operating Systems | |
650 | 4 | |a Programming Languages, Compilers, Interpreters | |
650 | 4 | |a Computer Science, general | |
650 | 4 | |a Artificial Intelligence (incl. Robotics) | |
650 | 4 | |a Computer science | |
650 | 4 | |a Software engineering | |
650 | 4 | |a Programming languages (Electronic computers) | |
650 | 4 | |a Artificial intelligence | |
650 | 0 | 7 | |a Wissensbasiertes System |0 (DE-588)4197554-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmverifikation |0 (DE-588)4135576-3 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Wissensbasiertes System |0 (DE-588)4197554-6 |D s |
689 | 0 | 1 | |a Programmverifikation |0 (DE-588)4135576-3 |D s |
689 | 0 | |8 1\p |5 DE-604 | |
700 | 1 | |a Basili, Victor R. |4 aut | |
776 | 0 | 8 | |i Erscheint auch als |n Druck-Ausgabe |z 9781461359616 |
856 | 4 | 0 | |u https://doi.org/10.1007/978-1-4615-2279-9 |x Verlag |z URL des Erstveröffentlichers |3 Volltext |
912 | |a ZDB-2-ENG | ||
940 | 1 | |q ZDB-2-ENG_Archiv | |
999 | |a oai:aleph.bib-bvb.de:BVB01-030575405 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
966 | e | |u https://doi.org/10.1007/978-1-4615-2279-9 |l BTU01 |p ZDB-2-ENG |q ZDB-2-ENG_Archiv |x Verlag |3 Volltext |
Datensatz im Suchindex
_version_ | 1804178876976332800 |
---|---|
any_adam_object | |
author | Abd-El-Hafiz, Salwa K. Basili, Victor R. |
author_facet | Abd-El-Hafiz, Salwa K. Basili, Victor R. |
author_role | aut aut |
author_sort | Abd-El-Hafiz, Salwa K. |
author_variant | s k a e ska skae v r b vr vrb |
building | Verbundindex |
bvnumber | BV045186228 |
collection | ZDB-2-ENG |
ctrlnum | (ZDB-2-ENG)978-1-4615-2279-9 (OCoLC)1053825865 (DE-599)BVBBV045186228 |
dewey-full | 005.1 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.1 |
dewey-search | 005.1 |
dewey-sort | 15.1 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
doi_str_mv | 10.1007/978-1-4615-2279-9 |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>03837nmm a2200565zcb4500</leader><controlfield tag="001">BV045186228</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">cr|uuu---uuuuu</controlfield><controlfield tag="008">180912s1995 |||| o||u| ||||||eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781461522799</subfield><subfield code="9">978-1-4615-2279-9</subfield></datafield><datafield tag="024" ind1="7" ind2=" "><subfield code="a">10.1007/978-1-4615-2279-9</subfield><subfield code="2">doi</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(ZDB-2-ENG)978-1-4615-2279-9</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1053825865</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV045186228</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-634</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.1</subfield><subfield code="2">23</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Abd-El-Hafiz, Salwa K.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">A Knowledge-Based Approach to Program Understanding</subfield><subfield code="c">by Salwa K. Abd-El-Hafiz, Victor R. Basili</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Boston, MA</subfield><subfield code="b">Springer US</subfield><subfield code="c">1995</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 Online-Ressource (XVII, 119 p)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">The Springer International Series in Engineering and Computer Science</subfield><subfield code="v">325</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Program understanding plays an important role in nearly all software related tasks. It is vital to the development, maintenance and reuse activities. Program understanding is indispensable for improving the quality of software development. Several development activities such as code reviews, debugging and some testing approaches require programmers to read and understand programs. Maintenance activities cannot be performed without a deep and correct understanding of the component to be maintained. Program understanding is vital to the reuse of code components because they cannot be utilized without a clear understanding of what they do. If a candidate reusable component needs to be modified, an understanding how it is designed is also required. of This monograph presents a· knowledge-based approach to the automation of program understanding. This approach generates rigorous program documentation mechanically by combining and building on strengths of a practical program decomposition method, the axiomatic correctness notation, and the knowledge based analysis approaches. More specifically, this approach documents programs by generating first order predicate logic annotations of their loops. In this approach, loops are classified according to their complexity levels. Based on this taxonomy, variations on the basic analysis approach that best fit each of the different classes are described. In general, mechanical annotation of loops is performed by first decomposing them using data flow analysis. This decomposition encapsulates interdependent statements in events, which can be analyzed individually</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer Science</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Software Engineering/Programming and Operating Systems</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Programming Languages, Compilers, Interpreters</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer Science, general</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Artificial Intelligence (incl. Robotics)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer science</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Software engineering</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Programming languages (Electronic computers)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Artificial intelligence</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Wissensbasiertes System</subfield><subfield code="0">(DE-588)4197554-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmverifikation</subfield><subfield code="0">(DE-588)4135576-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Wissensbasiertes System</subfield><subfield code="0">(DE-588)4197554-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Programmverifikation</subfield><subfield code="0">(DE-588)4135576-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Basili, Victor R.</subfield><subfield code="4">aut</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Druck-Ausgabe</subfield><subfield code="z">9781461359616</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="u">https://doi.org/10.1007/978-1-4615-2279-9</subfield><subfield code="x">Verlag</subfield><subfield code="z">URL des Erstveröffentlichers</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-2-ENG</subfield></datafield><datafield tag="940" ind1="1" ind2=" "><subfield code="q">ZDB-2-ENG_Archiv</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-030575405</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-1-4615-2279-9</subfield><subfield code="l">BTU01</subfield><subfield code="p">ZDB-2-ENG</subfield><subfield code="q">ZDB-2-ENG_Archiv</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield></record></collection> |
id | DE-604.BV045186228 |
illustrated | Not Illustrated |
indexdate | 2024-07-10T08:10:57Z |
institution | BVB |
isbn | 9781461522799 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-030575405 |
oclc_num | 1053825865 |
open_access_boolean | |
owner | DE-634 |
owner_facet | DE-634 |
physical | 1 Online-Ressource (XVII, 119 p) |
psigel | ZDB-2-ENG ZDB-2-ENG_Archiv ZDB-2-ENG ZDB-2-ENG_Archiv |
publishDate | 1995 |
publishDateSearch | 1995 |
publishDateSort | 1995 |
publisher | Springer US |
record_format | marc |
series2 | The Springer International Series in Engineering and Computer Science |
spelling | Abd-El-Hafiz, Salwa K. Verfasser aut A Knowledge-Based Approach to Program Understanding by Salwa K. Abd-El-Hafiz, Victor R. Basili Boston, MA Springer US 1995 1 Online-Ressource (XVII, 119 p) txt rdacontent c rdamedia cr rdacarrier The Springer International Series in Engineering and Computer Science 325 Program understanding plays an important role in nearly all software related tasks. It is vital to the development, maintenance and reuse activities. Program understanding is indispensable for improving the quality of software development. Several development activities such as code reviews, debugging and some testing approaches require programmers to read and understand programs. Maintenance activities cannot be performed without a deep and correct understanding of the component to be maintained. Program understanding is vital to the reuse of code components because they cannot be utilized without a clear understanding of what they do. If a candidate reusable component needs to be modified, an understanding how it is designed is also required. of This monograph presents a· knowledge-based approach to the automation of program understanding. This approach generates rigorous program documentation mechanically by combining and building on strengths of a practical program decomposition method, the axiomatic correctness notation, and the knowledge based analysis approaches. More specifically, this approach documents programs by generating first order predicate logic annotations of their loops. In this approach, loops are classified according to their complexity levels. Based on this taxonomy, variations on the basic analysis approach that best fit each of the different classes are described. In general, mechanical annotation of loops is performed by first decomposing them using data flow analysis. This decomposition encapsulates interdependent statements in events, which can be analyzed individually Computer Science Software Engineering/Programming and Operating Systems Programming Languages, Compilers, Interpreters Computer Science, general Artificial Intelligence (incl. Robotics) Computer science Software engineering Programming languages (Electronic computers) Artificial intelligence Wissensbasiertes System (DE-588)4197554-6 gnd rswk-swf Programmverifikation (DE-588)4135576-3 gnd rswk-swf Wissensbasiertes System (DE-588)4197554-6 s Programmverifikation (DE-588)4135576-3 s 1\p DE-604 Basili, Victor R. aut Erscheint auch als Druck-Ausgabe 9781461359616 https://doi.org/10.1007/978-1-4615-2279-9 Verlag URL des Erstveröffentlichers Volltext 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Abd-El-Hafiz, Salwa K. Basili, Victor R. A Knowledge-Based Approach to Program Understanding Computer Science Software Engineering/Programming and Operating Systems Programming Languages, Compilers, Interpreters Computer Science, general Artificial Intelligence (incl. Robotics) Computer science Software engineering Programming languages (Electronic computers) Artificial intelligence Wissensbasiertes System (DE-588)4197554-6 gnd Programmverifikation (DE-588)4135576-3 gnd |
subject_GND | (DE-588)4197554-6 (DE-588)4135576-3 |
title | A Knowledge-Based Approach to Program Understanding |
title_auth | A Knowledge-Based Approach to Program Understanding |
title_exact_search | A Knowledge-Based Approach to Program Understanding |
title_full | A Knowledge-Based Approach to Program Understanding by Salwa K. Abd-El-Hafiz, Victor R. Basili |
title_fullStr | A Knowledge-Based Approach to Program Understanding by Salwa K. Abd-El-Hafiz, Victor R. Basili |
title_full_unstemmed | A Knowledge-Based Approach to Program Understanding by Salwa K. Abd-El-Hafiz, Victor R. Basili |
title_short | A Knowledge-Based Approach to Program Understanding |
title_sort | a knowledge based approach to program understanding |
topic | Computer Science Software Engineering/Programming and Operating Systems Programming Languages, Compilers, Interpreters Computer Science, general Artificial Intelligence (incl. Robotics) Computer science Software engineering Programming languages (Electronic computers) Artificial intelligence Wissensbasiertes System (DE-588)4197554-6 gnd Programmverifikation (DE-588)4135576-3 gnd |
topic_facet | Computer Science Software Engineering/Programming and Operating Systems Programming Languages, Compilers, Interpreters Computer Science, general Artificial Intelligence (incl. Robotics) Computer science Software engineering Programming languages (Electronic computers) Artificial intelligence Wissensbasiertes System Programmverifikation |
url | https://doi.org/10.1007/978-1-4615-2279-9 |
work_keys_str_mv | AT abdelhafizsalwak aknowledgebasedapproachtoprogramunderstanding AT basilivictorr aknowledgebasedapproachtoprogramunderstanding |