Object-oriented program slicing
In academic environments, little lecture time is devoted to debugging. Similarly, training in program debugging is rarely found in the industrial environment. Programmers often find debugging to be a difficult and slow process. Traditional debugging methods include desk reviewing the source code, dy...
Saved in:
| Main Author: | |
|---|---|
| Format: | Dissertation |
| Language: | English |
| Published: |
ProQuest Dissertations & Theses
01.01.1994
|
| Subjects: | |
| ISBN: | 031595812X, 9780315958128 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | In academic environments, little lecture time is devoted to debugging. Similarly, training in program debugging is rarely found in the industrial environment. Programmers often find debugging to be a difficult and slow process. Traditional debugging methods include desk reviewing the source code, dynamic tracing with display statements, and ad hoc testing with various inputs. However, programmers are flooded with program entities which are irrelevant to the incorrect behaviour of a program. This problem gets worse as program size grows. In other words, the unrelated information in a program often distracts the programmer from locating a bug during the debugging process. Program slicing is a fault localization technique introduced by Weiser (Weis82, Weis84). The application of program slicing to a computer program can generate a portion of code (called a 'slice') which contains a subset of the original program statements. The statements in a slice are chosen to be relevant to the computation of a particular variable. Studies have demonstrated that program slicing can assist a programmer in locating a bug (Weis84, Lyle84, and Law93). Although object-oriented programming is becoming very popular, there is an absence of effective fault localization tools for object-oriented programming systems. The goal of this dissertation is to investigate the feasibility of incorporating program slicing into object-oriented programming. The concept of Object-Oriented Program Slicing is introduced in this dissertation. Based on this concept, we developed a high level debugging tool called UR$\sb-$OOPS (University of Regina Object-Oriented Program Slicer). UR$\sb-$OOPS can analyze a C++ program and perform a rapid computation of an object-oriented slice with respect to a particular class. This object-oriented slice helps a programmer locate the fault which causes the incorrect behaviour of an instance of a specific class. In this dissertation, the concept of Leaner Object-Oriented Slicing is also introduced in order to perform extra code reduction from an object-oriented slice. This concept was implemented in UR$\sb-$OOPS as well. This concept is important as it further reduces the amount of information that a programmer must examine. UR$\sb-$OOPS is evaluated in two separate but related experiments with human subjects in this dissertation. The evaluations were performed by comparing the debugging performance between visual debugging and debugging using UR$\sb-$OOPS. Experimental results indicate that using UR$\sb-$OOPS for debugging is faster than using visual debugging. Additionally, UR$\sb-$OOPS provides improved assistance to programmers with larger programs in the context of fault localization. |
|---|---|
| AbstractList | In academic environments, little lecture time is devoted to debugging. Similarly, training in program debugging is rarely found in the industrial environment. Programmers often find debugging to be a difficult and slow process. Traditional debugging methods include desk reviewing the source code, dynamic tracing with display statements, and ad hoc testing with various inputs. However, programmers are flooded with program entities which are irrelevant to the incorrect behaviour of a program. This problem gets worse as program size grows. In other words, the unrelated information in a program often distracts the programmer from locating a bug during the debugging process. Program slicing is a fault localization technique introduced by Weiser (Weis82, Weis84). The application of program slicing to a computer program can generate a portion of code (called a 'slice') which contains a subset of the original program statements. The statements in a slice are chosen to be relevant to the computation of a particular variable. Studies have demonstrated that program slicing can assist a programmer in locating a bug (Weis84, Lyle84, and Law93). Although object-oriented programming is becoming very popular, there is an absence of effective fault localization tools for object-oriented programming systems. The goal of this dissertation is to investigate the feasibility of incorporating program slicing into object-oriented programming. The concept of Object-Oriented Program Slicing is introduced in this dissertation. Based on this concept, we developed a high level debugging tool called UR$\sb-$OOPS (University of Regina Object-Oriented Program Slicer). UR$\sb-$OOPS can analyze a C++ program and perform a rapid computation of an object-oriented slice with respect to a particular class. This object-oriented slice helps a programmer locate the fault which causes the incorrect behaviour of an instance of a specific class. In this dissertation, the concept of Leaner Object-Oriented Slicing is also introduced in order to perform extra code reduction from an object-oriented slice. This concept was implemented in UR$\sb-$OOPS as well. This concept is important as it further reduces the amount of information that a programmer must examine. UR$\sb-$OOPS is evaluated in two separate but related experiments with human subjects in this dissertation. The evaluations were performed by comparing the debugging performance between visual debugging and debugging using UR$\sb-$OOPS. Experimental results indicate that using UR$\sb-$OOPS for debugging is faster than using visual debugging. Additionally, UR$\sb-$OOPS provides improved assistance to programmers with larger programs in the context of fault localization. |
| Author | Law, Chun Hung Roberts |
| Author_xml | – sequence: 1 givenname: Chun surname: Law middlename: Hung Roberts fullname: Law, Chun Hung Roberts |
| BookMark | eNotjrkKAjEUAAMqeH6DYr-Qe5NSxAsEGws7SV5eZEWzuln_3wWtppuZMemnOmGPjKlgyirD-GVIZjlXnlJqhaCSj8j85O8IbVE3FaYWw-LV1LfGPRf5UUGVblMyiO6RcfbnhJy3m_N6XxxPu8N6dSy8sbYQ0oAujYylCREDB60VOB6dR6WD96ACwxid0hasAA0eQlTcxTIYxz0XE7L8abv8-4O5vd7rT5O64rX7ZFxKZsUXvWE8Ug |
| ContentType | Dissertation |
| Copyright | Database copyright ProQuest LLC; ProQuest does not claim copyright in the individual underlying works. |
| Copyright_xml | – notice: Database copyright ProQuest LLC; ProQuest does not claim copyright in the individual underlying works. |
| DBID | 053 0BH 0HZ 0OZ CBPLH EU9 G20 M8- PHGZT PKEHL PQEST PQQKQ PQUKI |
| DatabaseName | Dissertations & Theses Europe Full Text: Science & Technology ProQuest Dissertations and Theses Professional Dissertations & Theses @ Library and Archives Canada Dissertations & Theses @ University of Regina ProQuest Dissertations & Theses Global: The Sciences and Engineering Collection ProQuest Dissertations & Theses A&I ProQuest Dissertations & Theses Global ProQuest Dissertations and Theses A&I: The Sciences and Engineering Collection ProQuest One Academic (New) ProQuest One Academic Middle East (New) ProQuest One Academic Eastern Edition (DO NOT USE) ProQuest One Academic (retired) ProQuest One Academic UKI Edition |
| DatabaseTitle | ProQuest One Academic Middle East (New) ProQuest One Academic Eastern Edition ProQuest Dissertations & Theses Global: The Sciences and Engineering Collection ProQuest Dissertations and Theses Professional ProQuest Dissertations and Theses A&I: The Sciences and Engineering Collection ProQuest Dissertations & Theses Global Dissertations & Theses Europe Full Text: Science & Technology Dissertations & Theses @ Library and Archives Canada ProQuest One Academic UKI Edition Dissertations & Theses @ University of Regina ProQuest One Academic ProQuest Dissertations & Theses A&I ProQuest One Academic (New) |
| DatabaseTitleList | ProQuest One Academic Middle East (New) |
| Database_xml | – sequence: 1 dbid: G20 name: ProQuest Dissertations & Theses Global url: https://www.proquest.com/pqdtglobal1 sourceTypes: Aggregation Database |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| ExternalDocumentID | 741833061 |
| Genre | Dissertation/Thesis |
| GroupedDBID | 053 0BH 0HZ 0OZ 123 8R4 8R5 CBPLH EU9 G20 M8- PHGZT PKEHL PQEST PQQKQ PQUKI Q2X |
| ID | FETCH-LOGICAL-b899-348c6784f78dfed2c665ca2fabe56dbbc5d1effa569c93c6cbcdf52af7d8a2b23 |
| IEDL.DBID | G20 |
| ISBN | 031595812X 9780315958128 |
| IngestDate | Mon Jun 30 05:14:37 EDT 2025 |
| IsPeerReviewed | false |
| IsScholarly | false |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-b899-348c6784f78dfed2c665ca2fabe56dbbc5d1effa569c93c6cbcdf52af7d8a2b23 |
| Notes | SourceType-Dissertations & Theses-1 ObjectType-Dissertation/Thesis-1 content type line 12 |
| PQID | 304124419 |
| PQPubID | 18750 |
| ParticipantIDs | proquest_journals_304124419 |
| PublicationCentury | 1900 |
| PublicationDate | 19940101 |
| PublicationDateYYYYMMDD | 1994-01-01 |
| PublicationDate_xml | – month: 01 year: 1994 text: 19940101 day: 01 |
| PublicationDecade | 1990 |
| PublicationYear | 1994 |
| Publisher | ProQuest Dissertations & Theses |
| Publisher_xml | – name: ProQuest Dissertations & Theses |
| SSID | ssib000933042 |
| Score | 1.2623152 |
| Snippet | In academic environments, little lecture time is devoted to debugging. Similarly, training in program debugging is rarely found in the industrial environment.... |
| SourceID | proquest |
| SourceType | Aggregation Database |
| SubjectTerms | Computer science |
| Title | Object-oriented program slicing |
| URI | https://www.proquest.com/docview/304124419 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV07T0MhFD7R6mAc6jNqfdzBleiFy2tyUBsHUx06dGvgAIlLq73V3y8gV5uYuDgSQgIBznfeH8Cl8jwIYWjy3CNpHNUk2iqeBOY96kb7a5e76z_K0UhNJvq55Oa0Ja2yk4lZULs5Jh_5Fcs8yU2tb17fSCKNSsHVwqCxDhupuDbX-q5qPz_GOouozSOWdT13urH6JYIzrgz7_9zRDmzfrcTTd2HNz_ag3zE1VOXj7sPFk03-lrQ-9eB0VUnLqqKWiRG8DmA8vB_fPpBCjUBsNJAIaxRGlGmCVC54R1EIjoYGYz0XzlrkrvYhGC40aoYCLbrAqQnSKUMtZYfQm81n_giqwCSThmkVZ1NMz2CtpY9aQ2BGG-6OYdCdflqedzv9PvrJn7MD2PpqPZw8FqfQWy7e_Rls4sfypV2c58v6BIvhnso |
| linkProvider | ProQuest |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V07T0IxFD4haKJxwGdUVO6gY6O0t73tYBxEAgHRgYHtps_EBRRQ43_yR9pebpXExI3BsenSnLbfefT0-wDOuaWOMYlD5V6j1GCBfK5ikSPWapEKe2UKdv1-Nhjw0Ug8VuAz_oUJbZUREwugNhMdauSXpNBJTpvi5vkFBdGo8LgaFTQWp6JnP959xja77rb89l5g3L4b3nZQKSqAlE8tEEm59vicuowbZw3WjFEtsZPKUmaU0tQ0rXOSMqEF0UwrbRzF0mWGS6wCzYEH_LU0EN2Fr8XLwdZPbYD4IIF61xkpfuKY_0L8wo21a__LANuw1VrqFtiBih3vQi3qUCQlLO1B40GFalJYbmAYNUnZdJb4GFp717wPw1Us8QCq48nYHkLiSEYySQT3s-HFUuqmyKyPiRyRQlJzBPVo7Ly8vLP829LHf842YKMzvO_n_e6gV4fNBclyqM2cQHU-fbWnsK7f5k-z6VlxThLIV7wtX7V_AA4 |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adissertation&rft.genre=dissertation&rft.title=Object-oriented+program+slicing&rft.DBID=053%3B0BH%3B0HZ%3B0OZ%3BCBPLH%3BEU9%3BG20%3BM8-%3BPHGZT%3BPKEHL%3BPQEST%3BPQQKQ%3BPQUKI&rft.PQPubID=18750&rft.au=Law%2C+Chun+Hung+Roberts&rft.date=1994-01-01&rft.pub=ProQuest+Dissertations+%26+Theses&rft.isbn=031595812X&rft.externalDBID=HAS_PDF_LINK&rft.externalDocID=741833061 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780315958128/lc.gif&client=summon&freeimage=true |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780315958128/mc.gif&client=summon&freeimage=true |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780315958128/sc.gif&client=summon&freeimage=true |

