• DocumentCode
    237309
  • Title

    Dynamic Slicing of Python Programs

  • Author

    Zhifei Chen ; Lin Chen ; Yuming Zhou ; Zhaogui Xu ; Chu, Winnie C. ; Baowen Xu

  • Author_Institution
    State key Lab. of Novel Software Technol., Nanjing Univ., Nanjing, China
  • fYear
    2014
  • fDate
    21-25 July 2014
  • Firstpage
    219
  • Lastpage
    228
  • 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.
  • Keywords
    Internet; graphical user interfaces; high level languages; program debugging; program slicing; system monitoring; GUI development; Python byte code; Python programs; Python source code; Web programming; dynamic feature handling; dynamic slicing; dynamic tracing; dynamic typing; fault location; program debugging; static analysis; Debugging; Educational institutions; Heuristic algorithms; Monitoring; Performance analysis; Runtime; Software; Python; dynamic language; dynamic slicing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Software and Applications Conference (COMPSAC), 2014 IEEE 38th Annual
  • Conference_Location
    Vasteras
  • Type

    conf

  • DOI
    10.1109/COMPSAC.2014.30
  • Filename
    6899220