Training binary classifiers as data structure invariants
"We present a technique to distinguish valid from invalid data structure objects. The technique is based on building an artificial neural network, more precisely a binary classifier, and training it to identify valid and invalid instances of a data structure. The obtained classifier can then be...
Guardado en:
Autores principales: | , , , , , |
---|---|
Formato: | Ponencias en Congresos acceptedVersion |
Lenguaje: | Inglés |
Publicado: |
2020
|
Materias: | |
Acceso en línea: | http://ri.itba.edu.ar/handle/123456789/1911 |
Aporte de: |
id |
I32-R138-123456789-1911 |
---|---|
record_format |
dspace |
spelling |
I32-R138-123456789-19112022-12-07T14:14:01Z Training binary classifiers as data structure invariants Molina, Facundo Degiovanni, Renzo Ponzio, Pablo Regis, Germán Aguirre, Nazareno Frías, Marcelo ESTRUCTURA DE DATOS INVARIANCIA REDES NEURONALES "We present a technique to distinguish valid from invalid data structure objects. The technique is based on building an artificial neural network, more precisely a binary classifier, and training it to identify valid and invalid instances of a data structure. The obtained classifier can then be used in place of the data structure’s invariant, in order to attempt to identify (in)correct behaviors in programs manipulating the structure. In order to produce the valid objects to train the network, an assumed-correct set of object building routines is randomly executed. Invalid instances are produced by generating values for object fields that “break” the collected valid values, i.e., that assign values to object fields that have not been observed as feasible in the assumed-correct executions that led to the collected valid instances. We experimentally assess this approach, over a benchmark of data structures.We show that this learning technique produces classifiers that achieve significantly better accuracy in classifying valid/invalid objects compared to a technique for dynamic invariant detection, and leads to improved bug finding." 2020-03-19T15:44:28Z 2020-03-19T15:44:28Z 2019-05 Ponencias en Congresos info:eu-repo/semantics/acceptedVersion 978-1728-10-869-8 0270-5257 http://ri.itba.edu.ar/handle/123456789/1911 en info:eu-repo/semantics/altIdentifier/doi/10.1109/ICSE.2019.00084 info:eu-repo/grantAgreement/ANPCyT/PICT/2015-2341/AR. Ciudad Autónoma de Buenos Aires info:eu-repo/grantAgreement/ANPCyT/PICT/2015-0586/AR. Ciudad Autónoma de Buenos Aires info:eu-repo/grantAgreement/ANPCyT/PICT/2015-2088/AR. Ciudad Autónoma de Buenos Aires info:eu-repo/grantAgreement/ANPCyT/PICT/2016-1384/AR. Ciudad Autónoma de Buenos Aires info:eu-repo/grantAgreement/ANPCyT/PICT/2017-1979/AR. Ciudad Autónoma de Buenos Aires info:eu-repo/grantAgreement/ANPCyT/PICT/2017-2622/AR. Ciudad Autónoma de Buenos Aires info:eu-repo/grantAgreement/ANR/INTER/18/12632675/FR. París/SATOCROSS application/pdf |
institution |
Instituto Tecnológico de Buenos Aires (ITBA) |
institution_str |
I-32 |
repository_str |
R-138 |
collection |
Repositorio Institucional Instituto Tecnológico de Buenos Aires (ITBA) |
language |
Inglés |
topic |
ESTRUCTURA DE DATOS INVARIANCIA REDES NEURONALES |
spellingShingle |
ESTRUCTURA DE DATOS INVARIANCIA REDES NEURONALES Molina, Facundo Degiovanni, Renzo Ponzio, Pablo Regis, Germán Aguirre, Nazareno Frías, Marcelo Training binary classifiers as data structure invariants |
topic_facet |
ESTRUCTURA DE DATOS INVARIANCIA REDES NEURONALES |
description |
"We present a technique to distinguish valid from invalid data structure objects. The technique is based on building an artificial neural network, more precisely a binary classifier, and training it to identify valid and invalid instances of a data structure. The obtained classifier can then be used in place of the data structure’s invariant, in order to attempt to identify (in)correct behaviors in programs manipulating the structure. In order to produce the valid objects to train the network, an assumed-correct set of object building routines is randomly executed. Invalid instances are produced by generating values for object fields that “break” the collected valid values, i.e., that assign values to object fields that have not been observed as feasible in the assumed-correct executions that led to the collected valid instances. We experimentally assess this approach, over a benchmark of data structures.We show that this learning technique produces classifiers that achieve significantly better accuracy in classifying valid/invalid objects compared to a technique for dynamic invariant detection, and leads to improved bug finding." |
format |
Ponencias en Congresos acceptedVersion |
author |
Molina, Facundo Degiovanni, Renzo Ponzio, Pablo Regis, Germán Aguirre, Nazareno Frías, Marcelo |
author_facet |
Molina, Facundo Degiovanni, Renzo Ponzio, Pablo Regis, Germán Aguirre, Nazareno Frías, Marcelo |
author_sort |
Molina, Facundo |
title |
Training binary classifiers as data structure invariants |
title_short |
Training binary classifiers as data structure invariants |
title_full |
Training binary classifiers as data structure invariants |
title_fullStr |
Training binary classifiers as data structure invariants |
title_full_unstemmed |
Training binary classifiers as data structure invariants |
title_sort |
training binary classifiers as data structure invariants |
publishDate |
2020 |
url |
http://ri.itba.edu.ar/handle/123456789/1911 |
work_keys_str_mv |
AT molinafacundo trainingbinaryclassifiersasdatastructureinvariants AT degiovannirenzo trainingbinaryclassifiersasdatastructureinvariants AT ponziopablo trainingbinaryclassifiersasdatastructureinvariants AT regisgerman trainingbinaryclassifiersasdatastructureinvariants AT aguirrenazareno trainingbinaryclassifiersasdatastructureinvariants AT friasmarcelo trainingbinaryclassifiersasdatastructureinvariants |
_version_ |
1765660915505561600 |