Towards a framework for generating program dependence graphs from source code

作者: Victor J. Marin , Carlos R. Rivero

DOI: 10.1145/3278142.3278144

关键词:

摘要: Originally conceived for compiler optimization, the program dependence graph has become a widely used internal representation tools in many software engineering tasks. The currently available frameworks building graphs rely on compiled source code, which requires resolving dependencies. As result, these cannot be applied analyzing legacy codebases whose dependencies automatically resolved, or large can infeasible. In this paper, we present framework generating from code based transition rules, and describe lessons learned when implementing two different versions of grammar interpreter an abstract syntax tree iterator, respectively.

参考文章(37)
Martin Mohr, Jürgen Graf, Martin Hecker, Using JOANA for Information Flow Control in Java Programs – A Practical Guide Software Engineering 2013 : Workshopband (inkl. Doktorandensymposium) : Fachtagung des GI-Fachbereichs Softwaretechnik , Aachen, 26.02. - 01.03.2013. Hrsg.: S. Wagner. pp. 123- 138 ,(2013)
Raghavan Komondoor, Susan Horwitz, Using Slicing to Identify Duplication in Source Code static analysis symposium. pp. 40- 56 ,(2001) , 10.1007/3-540-47764-0_3
Zhenqiang Chen, Baowen Xu, Slicing object-oriented java programs Sigplan Notices. ,vol. 36, pp. 33- 40 ,(2001) , 10.1145/375431.375418
Florent Kirchner, Nikolai Kosmatov, Virgile Prevosto, Julien Signoles, Boris Yakobowski, Frama-C: A software analysis perspective Formal Aspects of Computing. ,vol. 27, pp. 573- 609 ,(2015) , 10.1007/S00165-014-0326-7
Shashank Srikant, Varun Aggarwal, A system to grade computer programming skills using machine learning knowledge discovery and data mining. pp. 1887- 1896 ,(2014) , 10.1145/2623330.2623377
Gang Shu, Boya Sun, Tim A.D. Henderson, Andy Podgurski, JavaPDG: A New Platform for Program Dependence Analysis international conference on software testing verification and validation. pp. 408- 415 ,(2013) , 10.1109/ICST.2013.57
Boya Sun, Gang Shu, Andy Podgurski, Shirong Li, Shijie Zhang, Jiong Yang, Propagating Bug Fixes with Fast Subgraph Matching international symposium on software reliability engineering. pp. 21- 30 ,(2010) , 10.1109/ISSRE.2010.36
Tom Deering, Suresh Kothari, Jeremias Sauceda, Jon Mathews, Atlas: a new way to explore software, build analysis tools international conference on software engineering. pp. 588- 591 ,(2014) , 10.1145/2591062.2591065
Fabian Yamaguchi, Christian Wressnegger, Hugo Gascon, Konrad Rieck, Chucky: exposing missing checks in source code for vulnerability discovery computer and communications security. pp. 499- 510 ,(2013) , 10.1145/2508859.2516665