DocumentCode :
3131293
Title :
Static Slicing for Python First-Class Objects
Author :
Zhaogui Xu ; Ju Qian ; Lin Chen ; Zhifei Chen ; Baowen Xu
Author_Institution :
State Key Lab. of Novel Software Technol., Nanjing Univ., Nanjing, China
fYear :
2013
fDate :
29-30 July 2013
Firstpage :
117
Lastpage :
124
Abstract :
Program slicing is an important program analysis technique and now has been used in many fields of software engineering. However, most existing program slicing methods focus on static programming languages such as C/C++ and Java, and methods on dynamic languages like Python are rarely seen. Python, a typical dynamic object-oriented language, has been more and more widely used now. In Python, everything is a first-class object, including functions, classes, methods, and modules. Existing slicing methods cannot handle the issue of these first-class objects. Therefore, this paper proposes a static slicing method for Python first-class objects. By adding all the definitions of first-class objects into the dependence model and uniformly constructing the program dependence graphs for all the functions, classes, methods, and modules, this method can effectively solve the slicing problems caused by arbitrary definitions and uses of first-class objects in Python.
Keywords :
C++ language; Java; program slicing; software engineering; C/C++; Java; Python first-class objects; dynamic languages; dynamic object-oriented language; program analysis technique; program dependence graphs; program slicing; software engineering; static programming languages; static slicing; Abstracts; Algorithm design and analysis; Dynamic programming; Educational institutions; Flow graphs; Object oriented modeling; Software; Python; dependence analysis; dynamic language; program slicing; static analysis;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Quality Software (QSIC), 2013 13th International Conference on
Conference_Location :
Najing
Type :
conf
DOI :
10.1109/QSIC.2013.50
Filename :
6605916
Link To Document :
بازگشت