Ariadne: Analysis for Machine Learning Programs
Machine learning has transformed domains like vision and translation, and is now increasingly used in science. The correctness of such code is vital. In most programming domains, preventing and catching programming errors is aided by supportive tooling. Python is popular for machine learning, in part because of its wealth of machine learning libraries, and is felt to make development faster, however it supports less error detection at code creation time. This is especially problematic for machine learning: given the statistical nature of what is computed, code with subtle errors may run and produce results that look plausible but are in fact meaningless. This can vitiate scientific results. We report on Ariadne: applying a traditional static framework, WALA, to machine learning code that uses Tensorflow. We have created a static analysis infrastructure for Python, a type system for tracking tensors, one of machine learning’s core data structures, and a data flow based analysis to track correct usage of tensors.
Mon 18 Jun Times are displayed in time zone: (GMT-04:00) Eastern Time (US & Canada) change
|09:30 - 10:00|
|10:00 - 10:30|