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...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autores principales: Molina, Facundo, Degiovanni, Renzo, Ponzio, Pablo, Regis, Germán, Aguirre, Nazareno, Frías, Marcelo
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