ExAIs: Executable AI semantics
Neural networks can be regarded as a new programming paradigm, i.e., instead of building ever-more complex programs through (often informal) logical reasoning in the programmers' mind, complex 'AI' systems are built by optimising generic neural network models with big data. In this ne...
Saved in:
Main Authors: | , |
---|---|
Format: | text |
Language: | English |
Published: |
Institutional Knowledge at Singapore Management University
2022
|
Subjects: | |
Online Access: | https://ink.library.smu.edu.sg/sis_research/7779 https://ink.library.smu.edu.sg/context/sis_research/article/8782/viewcontent/ExAIs_2022_av.pdf |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Singapore Management University |
Language: | English |
id |
sg-smu-ink.sis_research-8782 |
---|---|
record_format |
dspace |
spelling |
sg-smu-ink.sis_research-87822023-04-04T03:22:45Z ExAIs: Executable AI semantics SCHUMI, Richard SUN, Jun Neural networks can be regarded as a new programming paradigm, i.e., instead of building ever-more complex programs through (often informal) logical reasoning in the programmers' mind, complex 'AI' systems are built by optimising generic neural network models with big data. In this new paradigm, AI frameworks such as TensorFlow and PyTorch play a key role, which is as essential as the compiler for traditional programs. It is known that the lack of a proper semantics for programming languages (such as C), i.e., a correctness specification for compilers, has contributed to many problematic program behaviours and security issues. While it is in general hard to have a correctness specification for compilers due to the high complexity of programming languages and their rapid evolution, we have a unique opportunity to do it right this time for neural networks (which have a limited set of functions, and most of them have stable semantics). In this work, we report our effort on providing a correctness specification of neural network frameworks such as TensorFlow. We specify the semantics of almost all TensorFlow layers in the logical programming language Prolog. We demonstrate the usefulness of the semantics through two applications. One is a fuzzing engine for TensorFlow, which features a strong oracle and a systematic way of generating valid neural networks. The other is a model validation approach which enables consistent bug reporting for TensorFlow models. 2022-05-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/7779 info:doi/10.1145/3510003.3510112 https://ink.library.smu.edu.sg/context/sis_research/article/8782/viewcontent/ExAIs_2022_av.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University AI frameworks AI libraries deep learning models semantics specification test case generation model validation AI model generation Artificial Intelligence and Robotics Software Engineering |
institution |
Singapore Management University |
building |
SMU Libraries |
continent |
Asia |
country |
Singapore Singapore |
content_provider |
SMU Libraries |
collection |
InK@SMU |
language |
English |
topic |
AI frameworks AI libraries deep learning models semantics specification test case generation model validation AI model generation Artificial Intelligence and Robotics Software Engineering |
spellingShingle |
AI frameworks AI libraries deep learning models semantics specification test case generation model validation AI model generation Artificial Intelligence and Robotics Software Engineering SCHUMI, Richard SUN, Jun ExAIs: Executable AI semantics |
description |
Neural networks can be regarded as a new programming paradigm, i.e., instead of building ever-more complex programs through (often informal) logical reasoning in the programmers' mind, complex 'AI' systems are built by optimising generic neural network models with big data. In this new paradigm, AI frameworks such as TensorFlow and PyTorch play a key role, which is as essential as the compiler for traditional programs. It is known that the lack of a proper semantics for programming languages (such as C), i.e., a correctness specification for compilers, has contributed to many problematic program behaviours and security issues. While it is in general hard to have a correctness specification for compilers due to the high complexity of programming languages and their rapid evolution, we have a unique opportunity to do it right this time for neural networks (which have a limited set of functions, and most of them have stable semantics). In this work, we report our effort on providing a correctness specification of neural network frameworks such as TensorFlow. We specify the semantics of almost all TensorFlow layers in the logical programming language Prolog. We demonstrate the usefulness of the semantics through two applications. One is a fuzzing engine for TensorFlow, which features a strong oracle and a systematic way of generating valid neural networks. The other is a model validation approach which enables consistent bug reporting for TensorFlow models. |
format |
text |
author |
SCHUMI, Richard SUN, Jun |
author_facet |
SCHUMI, Richard SUN, Jun |
author_sort |
SCHUMI, Richard |
title |
ExAIs: Executable AI semantics |
title_short |
ExAIs: Executable AI semantics |
title_full |
ExAIs: Executable AI semantics |
title_fullStr |
ExAIs: Executable AI semantics |
title_full_unstemmed |
ExAIs: Executable AI semantics |
title_sort |
exais: executable ai semantics |
publisher |
Institutional Knowledge at Singapore Management University |
publishDate |
2022 |
url |
https://ink.library.smu.edu.sg/sis_research/7779 https://ink.library.smu.edu.sg/context/sis_research/article/8782/viewcontent/ExAIs_2022_av.pdf |
_version_ |
1770576512773259264 |