Debugging reinvented: asking and answering why and why not questions about program behavior
When software developers want to understand the reason for a program's behavior, they must translate their questions about the behavior into a series of questions about code, speculating about the causes in the process. The Whyline is a new kind of debugging tool that avoids such speculation by...
Uloženo v:
| Vydáno v: | International Conference on Software Engineering 2008 Ročník 2008; číslo 24 |
|---|---|
| Hlavní autoři: | , |
| Médium: | Journal Article |
| Jazyk: | angličtina |
| Vydáno: |
01.01.2008
|
| ISBN: | 1605580791, 9781605580791 |
| ISSN: | 0270-5257 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Abstract | When software developers want to understand the reason for a program's behavior, they must translate their questions about the behavior into a series of questions about code, speculating about the causes in the process. The Whyline is a new kind of debugging tool that avoids such speculation by instead enabling developers to select a question about program output from a set of why did and why didn't questions derived from the program's code and execution. The tool then finds one or more possible explanations for the output in question, using a combination of static and dynamic slicing, precise call graphs, and new algorithms for determining potential sources of values and explanations for why a line of code was not reached. Evaluations of the tool on one task showed that novice programmers with the Whyline were twice as fast as expert programmers without it. The tool has the potential to simplify debugging in many software development contexts. |
|---|---|
| AbstractList | When software developers want to understand the reason for a program's behavior, they must translate their questions about the behavior into a series of questions about code, speculating about the causes in the process. The Whyline is a new kind of debugging tool that avoids such speculation by instead enabling developers to select a question about program output from a set of why did and why didn't questions derived from the program's code and execution. The tool then finds one or more possible explanations for the output in question, using a combination of static and dynamic slicing, precise call graphs, and new algorithms for determining potential sources of values and explanations for why a line of code was not reached. Evaluations of the tool on one task showed that novice programmers with the Whyline were twice as fast as expert programmers without it. The tool has the potential to simplify debugging in many software development contexts. |
| Author | Ko, Andrew J Myers, Brad A |
| Author_xml | – sequence: 1 givenname: Andrew surname: Ko middlename: J fullname: Ko, Andrew J – sequence: 2 givenname: Brad surname: Myers middlename: A fullname: Myers, Brad A |
| BookMark | eNotjj1PwzAURS1RJNrCzJqJLcUvtmObDZVPqRILTAyV7TyngdSGOGnFv6cpDFdH9wxXd0YmIQYk5BLoAoCLa2ClokotRgKjJ2QGJRVCUalhQqa0kDQXhZBnZJbSB6W05FpPyfsd2qGum1BnHTZhh6HH6iYz6XNUJlSHpD12Y9tvfo5mZIh99j1g6psYUmZsHPrsq4t1Z7aZxY3ZNbE7J6fetAkv_jknbw_3r8unfPXy-Ly8XeWmEKrPVSWBVx4KV4Gh3hpQnDoohRPWK6s4k1ohMC-Yw8pqxzz3RjmpkAtwyObk6m_3cOD4ab1tksO2NQHjkNaM67JUkrJfaMFZzw |
| ContentType | Journal Article |
| DBID | 7SC 8FD JQ2 L7M L~C L~D |
| DOI | 10.1145/1368088.1368130 |
| DatabaseName | Computer and Information Systems Abstracts Technology Research Database ProQuest Computer Science Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional |
| DatabaseTitle | Computer and Information Systems Abstracts Technology Research Database Computer and Information Systems Abstracts – Academic Advanced Technologies Database with Aerospace ProQuest Computer Science Collection Computer and Information Systems Abstracts Professional |
| DatabaseTitleList | Computer and Information Systems Abstracts |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| GroupedDBID | -~X .4S .DC 123 29O 5VS 6IF 6IH 6IK 6IL 6IM 6IN 7SC 8FD 8US AAJGR AAWTH ADZIZ AFFNX ALMA_UNASSIGNED_HOLDINGS APO ARCSS AVWKF BEFXN BFFAM BGNUA BKEBE BPEOZ CHZPO EDO FEDTE I-F I07 IPLJI JQ2 L7M L~C L~D M43 OCL RIE RIL RNS |
| ID | FETCH-LOGICAL-a258t-8d714df12cd1a0fba1840c165c5bf8b843798e13f53cedb9c3f4fa8c78e451ce3 |
| ISBN | 1605580791 9781605580791 |
| ISICitedReferencesCount | 143 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000266158500031&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 0270-5257 |
| IngestDate | Wed Oct 01 13:17:20 EDT 2025 |
| IsPeerReviewed | false |
| IsScholarly | true |
| Issue | 24 |
| Language | English |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-a258t-8d714df12cd1a0fba1840c165c5bf8b843798e13f53cedb9c3f4fa8c78e451ce3 |
| Notes | SourceType-Scholarly Journals-2 ObjectType-Feature-2 ObjectType-Conference Paper-1 content type line 23 SourceType-Conference Papers & Proceedings-1 ObjectType-Article-3 |
| PQID | 34966870 |
| PQPubID | 23500 |
| ParticipantIDs | proquest_miscellaneous_34966870 |
| PublicationCentury | 2000 |
| PublicationDate | 2008-01-01 |
| PublicationDateYYYYMMDD | 2008-01-01 |
| PublicationDate_xml | – month: 01 year: 2008 text: 2008-01-01 day: 01 |
| PublicationDecade | 2000 |
| PublicationTitle | International Conference on Software Engineering 2008 |
| PublicationYear | 2008 |
| SSID | ssj0006499 ssj0001138901 |
| Score | 2.3684015 |
| Snippet | When software developers want to understand the reason for a program's behavior, they must translate their questions about the behavior into a series of... |
| SourceID | proquest |
| SourceType | Aggregation Database |
| Title | Debugging reinvented: asking and answering why and why not questions about program behavior |
| URI | https://www.proquest.com/docview/34966870 |
| Volume | 2008 |
| WOSCitedRecordID | wos000266158500031&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVIEE databaseName: IEEE/IET Electronic Library (IEL) (UW System Shared) isbn: 1605580791 customDbUrl: dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0006499 issn: 0270-5257 databaseCode: RIE dateStart: 19880101 isFulltext: true titleUrlDefault: https://ieeexplore.ieee.org/ providerName: IEEE |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1LTxsxELYgcOBCX6ACffhQ9YIs1vuyt7eqCqoESis1SJF6iLyOTaNKG5oH4ecz4_V6l3IADlx2EyvaOJlPY49n5vsI-RQJG6dJnDAuhWWpziSThRGMx5EoVKR0ltdiE2IwkKNR8dMXZC6cnICoKnlzU1w9q6lhDIyNrbNPMHd4KAzAazA6XMHscH2U4cGDrC6d9NDcTF1JuXE6zmrxt2lIhOVp7SgIj9d_av4lvFcz7LFE1g0sn6krln35Vujm7-5l7x4mtq2DmH_4Bd59jUVlHb5DZC8MhbNns7acsk1NNRIUx5ji98eszZGE7BxJuMiUQ4yUSTA273izWEQMqVe7rjd8bw2yupv6vlNPkf-CJ6gSIrEuT3Kfy7lDnz34MT69OD8fD_uj4eerfwyVxTAD72VWNslWDMFRVPf4tedwmKntlAXlqdMcDdPFZsDwczxHWHjvuaJggif_Te_e0u72K8OXZNcHGvRrDZBXZMNUr8mLRsSDep_-hvwOeKEtXr7QGi0UsEEDWiigxI3gHdBCA1qoQwv1aKENWvbIxWl_-O0784obTMWZXDI5ETydWB7rCVeRLRXG_5rnmc5KK0uJ5JXS8MRmiTaTstCJTa2SWkiTZlybZJ_0qlll3hKa57ZQWigNe9S05IXisDnlmJSPyxIecEA-Nn_QGDwapqlUZWarxRglDHJYRg4f_MQR2Wnh9470lvOVeU-29fVyuph_cHa-BWu_Zyk |
| linkProvider | IEEE |
| 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%3Ajournal&rft.genre=article&rft.atitle=Debugging+reinvented%3A+asking+and+answering+why+and+why+not+questions+about+program+behavior&rft.jtitle=International+Conference+on+Software+Engineering+2008&rft.au=Ko%2C+Andrew+J&rft.au=Myers%2C+Brad+A&rft.date=2008-01-01&rft.isbn=1605580791&rft.issn=0270-5257&rft.volume=2008&rft.issue=24&rft_id=info:doi/10.1145%2F1368088.1368130&rft.externalDBID=NO_FULL_TEXT |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0270-5257&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0270-5257&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0270-5257&client=summon |

