Visualization question answering using introspective program synthesis