This project aims to mine Application Programming Interface (API) usage patterns in deep learning code to support the certification process. Our current focus is on the TensorFlow library.
By extracting usage patterns from API from a large repository of deep learning projects, we aim to discover frequently co-occurred sequences of APIs called for each stage of the deep learning pipeline. We aim to achieve three different goals: recognition, trust and misuse detection. The first objective of the project is to detect or recognize what a piece of deep learning code is doing. Second, knowing about the API usage pattern will add to our trust for the code, if it is following one of the well-known patterns for deep learning. Thirdly, our work will allow us to raise a ﬂag when the developer is missing a part when using a well-known pattern. Achieving these three goals will help with the certifiability of deep learning code.
Data used for experiments