A Multi-Language Static Analysis of Python Programs with Native C ExtensionsVirtual
Sun 17 Oct 2021 17:45 - 18:00 at Zurich B - Session 1A Chair(s): Kedar Namjoshi
Modern programs are increasingly multilanguage, to benefit from each programming language’s advantages and to reuse libraries. For example, developers may want to combine high-level Python code with low-level, performance-oriented C code. In fact one in five of the 200 most-downloaded Python libraries available on GitHub contains C code. Static analyzers tend to focus on a single language, and may use stubs to model the behavior of foreign function calls. However, stubs are costly to implement and undermine soundness of analyzers. In this work we design a static analyzer by abstract interpretation that can handle Python programs calling C extensions. It analyses directly and fully automatically both the Python and the C source codes. It reports runtime errors that may happen in Python, in C, and at the interface. We implemented our analysis in a modular fashion: it reuses off-the-shelf C and Python analyses written in the same analyzer. This approach allows sharing between abstract domains of different languages. Our analyzer can tackle tests of real-world libraries a few thousand lines of C and Python long.
Sun 17 OctDisplayed time zone: Central Time (US & Canada) change
| 09:00 - 10:20 | |||
| 09:0015m Talk | Accelerating Program Analyses in Datalog by Merging Library FactsVirtual SAS Yifan Chen Peking University, Chenyang Yang , Xin Zhang Peking University, Yingfei Xiong Peking University, Hao Tang Peking University, Xiaoyin Wang University of Texas at San Antonio, Lu Zhang Peking University | ||
| 09:1515m Talk | Exploiting Verified Neural Networks via Floating Point Numerical ErrorVirtual SASPre-print | ||
| 09:3015m Talk | Verifying Low-dimensional Input Neural Networks via Input QuantizationVirtual SAS Kai Jia Massachusetts Institute of Technology, Martin C. Rinard Massachusetts Institute of TechnologyPre-print | ||
| 09:4515m Talk | A Multi-Language Static Analysis of Python Programs with Native C ExtensionsVirtual SAS Raphaël Monat Sorbonne Université  — LIP6, Abdelraouf Ouadjaout Sorbonne Université, Antoine Miné Sorbonne UniversitéPre-print Media Attached | ||
| 10:0020m Live Q&A | Session 1A Discussion, Questions and Answers Virtual SAS | ||
| 17:00 - 18:20 | |||
| 17:0015m Talk | Accelerating Program Analyses in Datalog by Merging Library FactsVirtual SAS Yifan Chen Peking University, Chenyang Yang , Xin Zhang Peking University, Yingfei Xiong Peking University, Hao Tang Peking University, Xiaoyin Wang University of Texas at San Antonio, Lu Zhang Peking University | ||
| 17:1515m Talk | Exploiting Verified Neural Networks via Floating Point Numerical ErrorVirtual SASPre-print | ||
| 17:3015m Talk | Verifying Low-dimensional Input Neural Networks via Input QuantizationVirtual SAS Kai Jia Massachusetts Institute of Technology, Martin C. Rinard Massachusetts Institute of TechnologyPre-print | ||
| 17:4515m Talk | A Multi-Language Static Analysis of Python Programs with Native C ExtensionsVirtual SAS Raphaël Monat Sorbonne Université  — LIP6, Abdelraouf Ouadjaout Sorbonne Université, Antoine Miné Sorbonne UniversitéPre-print Media Attached | ||
| 18:0020m Live Q&A | Session 1A Discussion, Questions and Answers Virtual SAS | ||

