Neural networks learn to detect and emulate sorting algorithms from images of their execution traces

2020
journal article
article
32
3
2
cris.lastimport.scopus2024-05-04T01:37:09Z
dc.abstract.enContext: recent advancements in the applicability of neural networks across a variety of fields, such as computer vision, natural language processing and others, have re-sparked an interest in program induction methods. Problem: when performing a program induction task, it is not feasible to search across all possible programs that map an input to an output because the number of possible combinations or sequences of instructions is too high: at least an exponential growth based on the generated program length. Moreover, there does not exist a general framework to formulate such program induction tasks and current computational limitations do not allow a very wide range of machine learning applications in the field of computer programs generation. Objective: in this study, we analyze the effectiveness of execution traces as learning representations for neural network models in a program induction set-up. Our goal is to generate visualizations of program execution dynamics, specifically of sorting algorithms, and to apply machine learning techniques on them to capture their semantics and emulate their behavior using neural networks. Method: we begin by classifying images of execution traces for algorithms working on a finite array of numbers, such as various sorting and data structures algorithms. Next we experiment with detecting sub-program patterns inside the trace sequence of a larger program. The last step is to predict future steps in the execution of various sorting algorithms. More specifically, we try to emulate their behavior by observing their execution traces. We also discuss generalizations to other classes of programs, such as 1-D cellular automata. Results: our experiments show that neural networks are capable of modeling the mechanisms underlying simple algorithms if enough execution traces are provided as data. We compare the performance of our program induction model with other similar experimental results from Graves et al. [4] and Vinyals et al. [5]. We were also able to demonstrate that sorting algorithms can be treated both as images displaying spatial patterns, as well as sequential instructions in a domain specific language, such as swapping two elements. We tested our approach on three types of increasingly harder tasks: detection, recognition and emulation. Conclusions: we demonstrate that simple algorithms can be modelled using neural networks and provide a method for representing specific classes of programs as either images or sequences of instructions in a domain-specific language, such that a neural network can learn their behavior. We consider the complexity of various set-ups to arrive at some improvements based on the data representation type. The insights from our experiments can be applied for designing better models of program induction.pl
dc.affiliationWydział Filozoficzny : Instytut Filozofiipl
dc.contributor.authorPerticas, Cătălin F.pl
dc.contributor.authorIndurkhya, Bipin - 227976 pl
dc.date.accessioned2020-06-12T22:32:11Z
dc.date.available2020-06-12T22:32:11Z
dc.date.issued2020pl
dc.date.openaccess0
dc.description.accesstimew momencie opublikowania
dc.description.publication1,7pl
dc.description.versionostateczna wersja wydawcy
dc.description.volume126pl
dc.identifier.articleid106350pl
dc.identifier.doi10.1016/j.infsof.2020.106350pl
dc.identifier.eissn1873-6025pl
dc.identifier.issn0950-5849pl
dc.identifier.projectROD UJ / OPpl
dc.identifier.urihttps://ruj.uj.edu.pl/xmlui/handle/item/157441
dc.languageengpl
dc.language.containerengpl
dc.rightsUdzielam licencji. Uznanie autorstwa - Użycie niekomercyjne - Bez utworów zależnych 4.0 Międzynarodowa*
dc.rights.licenceCC-BY-NC-ND
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/legalcode.pl*
dc.share.typeotwarte repozytorium
dc.subject.encomputer program tracespl
dc.subject.enprogram behaviorpl
dc.subject.enprogram inductionpl
dc.subject.enalgorithmspl
dc.subject.enneural networkspl
dc.subject.enprogram visualizationpl
dc.subject.endata representationpl
dc.subtypeArticlepl
dc.titleNeural networks learn to detect and emulate sorting algorithms from images of their execution tracespl
dc.title.journalInformation and Software Technologypl
dc.typeJournalArticlepl
dspace.entity.typePublication
cris.lastimport.scopus
2024-05-04T01:37:09Z
dc.abstract.enpl
Context: recent advancements in the applicability of neural networks across a variety of fields, such as computer vision, natural language processing and others, have re-sparked an interest in program induction methods. Problem: when performing a program induction task, it is not feasible to search across all possible programs that map an input to an output because the number of possible combinations or sequences of instructions is too high: at least an exponential growth based on the generated program length. Moreover, there does not exist a general framework to formulate such program induction tasks and current computational limitations do not allow a very wide range of machine learning applications in the field of computer programs generation. Objective: in this study, we analyze the effectiveness of execution traces as learning representations for neural network models in a program induction set-up. Our goal is to generate visualizations of program execution dynamics, specifically of sorting algorithms, and to apply machine learning techniques on them to capture their semantics and emulate their behavior using neural networks. Method: we begin by classifying images of execution traces for algorithms working on a finite array of numbers, such as various sorting and data structures algorithms. Next we experiment with detecting sub-program patterns inside the trace sequence of a larger program. The last step is to predict future steps in the execution of various sorting algorithms. More specifically, we try to emulate their behavior by observing their execution traces. We also discuss generalizations to other classes of programs, such as 1-D cellular automata. Results: our experiments show that neural networks are capable of modeling the mechanisms underlying simple algorithms if enough execution traces are provided as data. We compare the performance of our program induction model with other similar experimental results from Graves et al. [4] and Vinyals et al. [5]. We were also able to demonstrate that sorting algorithms can be treated both as images displaying spatial patterns, as well as sequential instructions in a domain specific language, such as swapping two elements. We tested our approach on three types of increasingly harder tasks: detection, recognition and emulation. Conclusions: we demonstrate that simple algorithms can be modelled using neural networks and provide a method for representing specific classes of programs as either images or sequences of instructions in a domain-specific language, such that a neural network can learn their behavior. We consider the complexity of various set-ups to arrive at some improvements based on the data representation type. The insights from our experiments can be applied for designing better models of program induction.
dc.affiliationpl
Wydział Filozoficzny : Instytut Filozofii
dc.contributor.authorpl
Perticas, Cătălin F.
dc.contributor.authorpl
Indurkhya, Bipin - 227976
dc.date.accessioned
2020-06-12T22:32:11Z
dc.date.available
2020-06-12T22:32:11Z
dc.date.issuedpl
2020
dc.date.openaccess
0
dc.description.accesstime
w momencie opublikowania
dc.description.publicationpl
1,7
dc.description.version
ostateczna wersja wydawcy
dc.description.volumepl
126
dc.identifier.articleidpl
106350
dc.identifier.doipl
10.1016/j.infsof.2020.106350
dc.identifier.eissnpl
1873-6025
dc.identifier.issnpl
0950-5849
dc.identifier.projectpl
ROD UJ / OP
dc.identifier.uri
https://ruj.uj.edu.pl/xmlui/handle/item/157441
dc.languagepl
eng
dc.language.containerpl
eng
dc.rights*
Udzielam licencji. Uznanie autorstwa - Użycie niekomercyjne - Bez utworów zależnych 4.0 Międzynarodowa
dc.rights.licence
CC-BY-NC-ND
dc.rights.uri*
http://creativecommons.org/licenses/by-nc-nd/4.0/legalcode.pl
dc.share.type
otwarte repozytorium
dc.subject.enpl
computer program traces
dc.subject.enpl
program behavior
dc.subject.enpl
program induction
dc.subject.enpl
algorithms
dc.subject.enpl
neural networks
dc.subject.enpl
program visualization
dc.subject.enpl
data representation
dc.subtypepl
Article
dc.titlepl
Neural networks learn to detect and emulate sorting algorithms from images of their execution traces
dc.title.journalpl
Information and Software Technology
dc.typepl
JournalArticle
dspace.entity.type
Publication
Affiliations

* The migration of download and view statistics prior to the date of April 8, 2024 is in progress.

Views
1
Views per month
Downloads
perticas_indurkhya_neural_networks_learn_to_detect_2020.pdf
13