Dynamic Slicing of Python Programs
Python is widely used for web programming and GUI development. Due to the dynamic features of Python, Python programs may contain various unlimited errors. Dynamic slicing extracts those statements from a program which affect the variables in a slicing criterion with a particular input. Dynamic slic...
Saved in:
| Published in | Proceedings - International Computer Software & Applications Conference pp. 219 - 228 |
|---|---|
| Main Authors | , , , , , |
| Format | Conference Proceeding Journal Article |
| Language | English |
| Published |
IEEE
01.07.2014
|
| Subjects | |
| Online Access | Get full text |
| ISSN | 0730-3157 |
| DOI | 10.1109/COMPSAC.2014.30 |
Cover
| Abstract | Python is widely used for web programming and GUI development. Due to the dynamic features of Python, Python programs may contain various unlimited errors. Dynamic slicing extracts those statements from a program which affect the variables in a slicing criterion with a particular input. Dynamic slicing of Python programs is essential for program debugging and fault location. In this paper, we propose an approach of dynamic slicing for Python programs which combines static analysis and dynamic tracing of the Python byte code. It precisely handles the dynamic features of Python, such as dynamic typing of variables, heavy usage of first-class objects, and dynamic modifications of classes and instances. Finally, we evaluate our approach on several Python programs. Experimental results show that the whole dynamic slicing for each subject program spends at most about 13 seconds on the average and costs at most 7.58 mb memory space overhead. Furthermore, the average slice ratio of Python source code ranges from 9.26% to 59.42%. According to it, our dynamic slicing approach can be effectively and efficiently performed. To the best of our knowledge, it is the first one of dynamic slicing for Python programs. |
|---|---|
| AbstractList | Python is widely used for web programming and GUI development. Due to the dynamic features of Python, Python programs may contain various unlimited errors. Dynamic slicing extracts those statements from a program which affect the variables in a slicing criterion with a particular input. Dynamic slicing of Python programs is essential for program debugging and fault location. In this paper, we propose an approach of dynamic slicing for Python programs which combines static analysis and dynamic tracing of the Python byte code. It precisely handles the dynamic features of Python, such as dynamic typing of variables, heavy usage of first-class objects, and dynamic modifications of classes and instances. Finally, we evaluate our approach on several Python programs. Experimental results show that the whole dynamic slicing for each subject program spends at most about 13 seconds on the average and costs at most 7.58 mb memory space overhead. Furthermore, the average slice ratio of Python source code ranges from 9.26% to 59.42%. According to it, our dynamic slicing approach can be effectively and efficiently performed. To the best of our knowledge, it is the first one of dynamic slicing for Python programs. |
| Author | Chu, William C. Baowen Xu Lin Chen Zhifei Chen Yuming Zhou Zhaogui Xu |
| Author_xml | – sequence: 1 surname: Zhifei Chen fullname: Zhifei Chen email: chenzhifei@smail.nju.edu.cn organization: State key Lab. of Novel Software Technol., Nanjing Univ., Nanjing, China – sequence: 2 surname: Lin Chen fullname: Lin Chen email: lchen@nju.edu.cn organization: State key Lab. of Novel Software Technol., Nanjing Univ., Nanjing, China – sequence: 3 surname: Yuming Zhou fullname: Yuming Zhou email: zhouyuming@nju.edu.cn organization: State key Lab. of Novel Software Technol., Nanjing Univ., Nanjing, China – sequence: 4 surname: Zhaogui Xu fullname: Zhaogui Xu email: xuzhaogui@smail.nju.edu.cn organization: State key Lab. of Novel Software Technol., Nanjing Univ., Nanjing, China – sequence: 5 givenname: William C. surname: Chu fullname: Chu, William C. email: cchu@thu.edu.tw organization: Dept. of Comput. Sci., Tunghai Univ., Taichung, Taiwan – sequence: 6 surname: Baowen Xu fullname: Baowen Xu email: bwxu@nju.edu.cn organization: State key Lab. of Novel Software Technol., Nanjing Univ., Nanjing, China |
| BookMark | eNotzDtPwzAUQGGDQKItnRlYIiaWhOtHbN-xSnlJRY1UmCPXtYtRHiVOh_x7KpXpLJ_OlFy1XesIuaOQUQr4VKw_ys2iyBhQkXG4IHNUmgqFyHOV60syAcUh5TRXN2Qa4w8ARcz1hDwsx9Y0wSabOtjQ7pPOJ-U4fHdtUvbdvjdNvCXX3tTRzf87I18vz5_FW7pav74Xi1UaGOghtdYxsEJyLSVFRrcmZxqEkhy0cLDdMgDwSu808wI9U-g9F9IiY24HgvIZeTx_D333e3RxqJoQratr07ruGCsqJWqNgsKJ3p9pcM5Vhz40ph8rqfE0A_4HNOtMTQ |
| CODEN | IEEPAD |
| ContentType | Conference Proceeding Journal Article |
| DBID | 6IE 6IH CBEJK RIE RIO 7SC 8FD JQ2 L7M L~C L~D |
| DOI | 10.1109/COMPSAC.2014.30 |
| DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan (POP) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE Electronic Library (IEL) IEEE Proceedings Order Plans (POP) 1998-present 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 |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISBN | 9781479935758 1479935751 |
| EISSN | 0730-3157 |
| EndPage | 228 |
| ExternalDocumentID | 6899220 |
| Genre | orig-research |
| GroupedDBID | -~X 29F 29O 29Q 6IE 6IF 6IH 6IK 6IL 6IM 6IN AAJGR AAWTH ADZIZ ALMA_UNASSIGNED_HOLDINGS BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK CHZPO IPLJI OCL RIE RIL RIO RNS 7SC 8FD JQ2 L7M L~C L~D |
| ID | FETCH-LOGICAL-i208t-cce20c4638661921ba52804763084e0bb2000f78d82f49f279ff346c922ed0413 |
| IEDL.DBID | RIE |
| IngestDate | Thu Jul 10 18:46:30 EDT 2025 Wed Aug 27 04:26:05 EDT 2025 |
| IsPeerReviewed | false |
| IsScholarly | false |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-i208t-cce20c4638661921ba52804763084e0bb2000f78d82f49f279ff346c922ed0413 |
| Notes | ObjectType-Article-2 SourceType-Scholarly Journals-1 ObjectType-Conference-1 ObjectType-Feature-3 content type line 23 SourceType-Conference Papers & Proceedings-2 |
| PQID | 1669889410 |
| PQPubID | 23500 |
| PageCount | 10 |
| ParticipantIDs | proquest_miscellaneous_1669889410 ieee_primary_6899220 |
| PublicationCentury | 2000 |
| PublicationDate | 20140701 |
| PublicationDateYYYYMMDD | 2014-07-01 |
| PublicationDate_xml | – month: 07 year: 2014 text: 20140701 day: 01 |
| PublicationDecade | 2010 |
| PublicationTitle | Proceedings - International Computer Software & Applications Conference |
| PublicationTitleAbbrev | CMPSAC |
| PublicationYear | 2014 |
| Publisher | IEEE |
| Publisher_xml | – name: IEEE |
| SSID | ssj0019958 ssib026764509 |
| Score | 1.6497364 |
| Snippet | Python is widely used for web programming and GUI development. Due to the dynamic features of Python, Python programs may contain various unlimited errors.... |
| SourceID | proquest ieee |
| SourceType | Aggregation Database Publisher |
| StartPage | 219 |
| SubjectTerms | Applications programs Computer programs Debugging dynamic language dynamic slicing Dynamic tests Dynamics Educational institutions Heuristic algorithms Mathematical models Monitoring Performance analysis Python Runtime Slicing Software Source code |
| Title | Dynamic Slicing of Python Programs |
| URI | https://ieeexplore.ieee.org/document/6899220 https://www.proquest.com/docview/1669889410 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV07T8MwELZKJ6YCLaK8FBAjSW3Xcc4jKqAKqVCpVOoWxY8gBEoQTQb49dh5FAkY2LzYOttnn8_33XcIXWisFOPEeicslD7jYeJDElGfEUUlhgSkrgCy93y6ZHercNVBl5tcGGNMBT4zgWtWsXydq9J9lY04OBZV66BvRcDrXK1WdyiPOAsdFVUTQRAihIbKh2AxmjzM5ouricNysaCCPLvhf13AlVW57aFZK08NJnkJykIG6vMHVeN_Bd5Bg-_8PW--sUy7qGOyPdRrCzh4zXnuo_Pruh69t3h1AfYnL0-9-YdjE3DdHW5rPUDL25vHydRviib4zxRD4StlKLbLPwbufCMik5ACZvYawcAMltLl5qQRaKApEymNRJqOGVdWTqOxNWn7qJvlmTlAnsbShOOIKPvKYCBSiARhidBKg6FUqSHquynHbzUvRtzMdojO2kWNra66AESSmbxcx4RzASAYwYd_dz1C226DajjsMeoW76U5sUa_kKfVbn8BaYmo-A |
| linkProvider | IEEE |
| linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LTwIxEG6IHvSECkZ8rsajC90y7bZHgxJUQBIg4bbZPtYYza4ROOivt91dMFEP3nppOu20nU7nm28QutRYKWCB9U6ASh8YjX0eh8SHQBGJecylzgGyQ9abwv2Mziroap0LY4zJwWem6Zp5LF9naum-ylqMOxZV66BvUgCgRbbWavcQFjKgjoyqjCEIQXlJ5hNg0eo8Dkbj645Dc0EzBz27AX5dwbld6VbRYCVRASd5aS4Xsqk-f5A1_lfkHVT_zuDzRmvbtIsqJt1D1VUJB6880TV0cVNUpPfGry7E_uRliTf6cHwCrrtDbs3raNq9nXR6flk2wX8mmC98pQzBVgFtzpx3FMiYEo7BXiSYg8FSuuycJOSakwREQkKRJG1gysppNLZGbR9tpFlqDpCnsTS0HQbKvjOAi4SHIoBYaKW5IUSpBqq5KUdvBTNGVM62gc5XixrZ3epCEHFqsuU8ChgTnAsI8OHfXc_QVm8y6Ef9u-HDEdp2yirAscdoY_G-NCf2CbCQp7nmvwB15axF |
| 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%3Abook&rft.genre=proceeding&rft.title=Proceedings+-+International+Computer+Software+%26+Applications+Conference&rft.atitle=Dynamic+Slicing+of+Python+Programs&rft.au=Zhifei+Chen&rft.au=Lin+Chen&rft.au=Yuming+Zhou&rft.au=Zhaogui+Xu&rft.date=2014-07-01&rft.pub=IEEE&rft.eissn=0730-3157&rft.spage=219&rft.epage=228&rft_id=info:doi/10.1109%2FCOMPSAC.2014.30&rft.externalDocID=6899220 |