Un sat-solver paralelo y distribuido con herencia de cl´ausulas aprendidas

Autores
Vissani, Ignacio
Año de publicación
2013
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión publicada
Colaborador/a o director/a de tesis
López Pombo, Carlos Gustavo
Rosner, Nicolás Leandro
Descripción
En la actualidad el software forma parte integral de nuestra vida. Este interviene en todo tipo de tareas. Desde el envío de un mensaje de texto o la realización de una llamada telefónica hasta el sistema de control de una central nuclear o el sistema de velocidad crucero de un automóvil, utilizan sistemas basados en hardware y software informático. El análisis de software es un área en la ingeniería de software que en general se ocupa de la aplicación de métodos formales que permiten garantizar, o al menos ganar confianza en la ausencia de errores en una pieza de software. Existe una plétora de herramientas dedicadas a esta tarea, cada una de ellas con sus elecciones particulares de lenguajes y método a aplicar. Entre ellas, una cantidad no menor se ha volcado al uso de sat-solvers off the-shelf como mecanismo de bajo nivel que permite explorar eficientemente un espacio finito de modelos. En el presente trabajo pretendemos implementar un sat-solver paralelo y distribuido que: a) realice una adecuación y balanceo de la carga de procesamiento en run-time sobre una cantidad y configuración de equipamiento desconocida, b) realice una adecuación y balanceo del uso de memoria primaria y secundaria en run-time, también sobre una cantidad y configuración de equipamiento desconocida, y c) sea extensible y f´acil de parametrizar en todos aquellos aspectos que determinan el comportamiento del procedimiento de resolución del problema. Una vez llevada a cabo esta tarea, pretendemos evaluar la viabilidad de implementar una técnica de aprendizaje basada en análisis de cláusulas de conflicto acorde a las necesidades de ambientes paralelos y distribuidos, y su comparación empírica.
Today, software is an integral part of our lives, participating in all types of tasks. Text messages, phone calls, the control system of a nuclear power plant or the cruise control setting on a car – all of these things affect our daily lives and all employ systems based on hardware and software. In general, software analysis is a field within software engineering responsible for the application of formal methods in order to guarantee (or to at least gain some confidence about) the absence of errors in a software artifact. There are a plethora of tools dedicated to this task, each one with its own particular biases for specific languages and the methods to be applied. Many have turned to the use of off-the-shelf sat-solvers as low-level mechanisms that allow for efficient exploration of a finite space of models. The aim of the present work is to implement a parallel and distributed sat-solver that: a) provides an adequate processing workload balance at run-time over an a priori unknown quantity and configuration of equipment, b) provides an adequate balance of memory use, both primary and secondary, at run-time over an unknown quantity and configuration of equipment, c) is extensible and easy to parameterize in all the relevant aspects that determines the behavior of the tool in the solution of the problem. Once this task is done, we will evaluate the viability of the implementation of learning techniques based in conflict clause analysis according to the needs of parallel and distributed scenarios, and their empirical comparison.
Fil: Vissani, Ignacio. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Materia
INGENIERIA DE SOFTWARE
VERIFICACION Y VALIDACION
SAT SOLVER
PARALELO
DISTRIBUIDO
APRENDIZAJE BASADO EN CONFLICTOS
SOFTWARE ENGINEERING
VERIFICATION AND VALIDATION
SAT SOLVERS
PARALLEL AND DISTRIBUTED
CONFLICT BASED LEARNING
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
Repositorio
Biblioteca Digital (UBA-FCEN)
Institución
Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
OAI Identificador
seminario:seminario_nCOM000716_Vissani

id BDUBAFCEN_e580795cb7143f6c30f4f6a4c35e109d
oai_identifier_str seminario:seminario_nCOM000716_Vissani
network_acronym_str BDUBAFCEN
repository_id_str 1896
network_name_str Biblioteca Digital (UBA-FCEN)
spelling Un sat-solver paralelo y distribuido con herencia de cl´ausulas aprendidasVissani, IgnacioINGENIERIA DE SOFTWAREVERIFICACION Y VALIDACIONSAT SOLVERPARALELODISTRIBUIDOAPRENDIZAJE BASADO EN CONFLICTOSSOFTWARE ENGINEERINGVERIFICATION AND VALIDATIONSAT SOLVERSPARALLEL AND DISTRIBUTEDCONFLICT BASED LEARNINGEn la actualidad el software forma parte integral de nuestra vida. Este interviene en todo tipo de tareas. Desde el envío de un mensaje de texto o la realización de una llamada telefónica hasta el sistema de control de una central nuclear o el sistema de velocidad crucero de un automóvil, utilizan sistemas basados en hardware y software informático. El análisis de software es un área en la ingeniería de software que en general se ocupa de la aplicación de métodos formales que permiten garantizar, o al menos ganar confianza en la ausencia de errores en una pieza de software. Existe una plétora de herramientas dedicadas a esta tarea, cada una de ellas con sus elecciones particulares de lenguajes y método a aplicar. Entre ellas, una cantidad no menor se ha volcado al uso de sat-solvers off the-shelf como mecanismo de bajo nivel que permite explorar eficientemente un espacio finito de modelos. En el presente trabajo pretendemos implementar un sat-solver paralelo y distribuido que: a) realice una adecuación y balanceo de la carga de procesamiento en run-time sobre una cantidad y configuración de equipamiento desconocida, b) realice una adecuación y balanceo del uso de memoria primaria y secundaria en run-time, también sobre una cantidad y configuración de equipamiento desconocida, y c) sea extensible y f´acil de parametrizar en todos aquellos aspectos que determinan el comportamiento del procedimiento de resolución del problema. Una vez llevada a cabo esta tarea, pretendemos evaluar la viabilidad de implementar una técnica de aprendizaje basada en análisis de cláusulas de conflicto acorde a las necesidades de ambientes paralelos y distribuidos, y su comparación empírica.Today, software is an integral part of our lives, participating in all types of tasks. Text messages, phone calls, the control system of a nuclear power plant or the cruise control setting on a car – all of these things affect our daily lives and all employ systems based on hardware and software. In general, software analysis is a field within software engineering responsible for the application of formal methods in order to guarantee (or to at least gain some confidence about) the absence of errors in a software artifact. There are a plethora of tools dedicated to this task, each one with its own particular biases for specific languages and the methods to be applied. Many have turned to the use of off-the-shelf sat-solvers as low-level mechanisms that allow for efficient exploration of a finite space of models. The aim of the present work is to implement a parallel and distributed sat-solver that: a) provides an adequate processing workload balance at run-time over an a priori unknown quantity and configuration of equipment, b) provides an adequate balance of memory use, both primary and secondary, at run-time over an unknown quantity and configuration of equipment, c) is extensible and easy to parameterize in all the relevant aspects that determines the behavior of the tool in the solution of the problem. Once this task is done, we will evaluate the viability of the implementation of learning techniques based in conflict clause analysis according to the needs of parallel and distributed scenarios, and their empirical comparison.Fil: Vissani, Ignacio. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Universidad de Buenos Aires. Facultad de Ciencias Exactas y NaturalesLópez Pombo, Carlos GustavoRosner, Nicolás Leandro2013info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttps://hdl.handle.net/20.500.12110/seminario_nCOM000716_Vissanispainfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/arreponame:Biblioteca Digital (UBA-FCEN)instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesinstacron:UBA-FCEN2025-09-29T13:43:34Zseminario:seminario_nCOM000716_VissaniInstitucionalhttps://digital.bl.fcen.uba.ar/Universidad públicaNo correspondehttps://digital.bl.fcen.uba.ar/cgi-bin/oaiserver.cgiana@bl.fcen.uba.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:18962025-09-29 13:43:35.89Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse
dc.title.none.fl_str_mv Un sat-solver paralelo y distribuido con herencia de cl´ausulas aprendidas
title Un sat-solver paralelo y distribuido con herencia de cl´ausulas aprendidas
spellingShingle Un sat-solver paralelo y distribuido con herencia de cl´ausulas aprendidas
Vissani, Ignacio
INGENIERIA DE SOFTWARE
VERIFICACION Y VALIDACION
SAT SOLVER
PARALELO
DISTRIBUIDO
APRENDIZAJE BASADO EN CONFLICTOS
SOFTWARE ENGINEERING
VERIFICATION AND VALIDATION
SAT SOLVERS
PARALLEL AND DISTRIBUTED
CONFLICT BASED LEARNING
title_short Un sat-solver paralelo y distribuido con herencia de cl´ausulas aprendidas
title_full Un sat-solver paralelo y distribuido con herencia de cl´ausulas aprendidas
title_fullStr Un sat-solver paralelo y distribuido con herencia de cl´ausulas aprendidas
title_full_unstemmed Un sat-solver paralelo y distribuido con herencia de cl´ausulas aprendidas
title_sort Un sat-solver paralelo y distribuido con herencia de cl´ausulas aprendidas
dc.creator.none.fl_str_mv Vissani, Ignacio
author Vissani, Ignacio
author_facet Vissani, Ignacio
author_role author
dc.contributor.none.fl_str_mv López Pombo, Carlos Gustavo
Rosner, Nicolás Leandro
dc.subject.none.fl_str_mv INGENIERIA DE SOFTWARE
VERIFICACION Y VALIDACION
SAT SOLVER
PARALELO
DISTRIBUIDO
APRENDIZAJE BASADO EN CONFLICTOS
SOFTWARE ENGINEERING
VERIFICATION AND VALIDATION
SAT SOLVERS
PARALLEL AND DISTRIBUTED
CONFLICT BASED LEARNING
topic INGENIERIA DE SOFTWARE
VERIFICACION Y VALIDACION
SAT SOLVER
PARALELO
DISTRIBUIDO
APRENDIZAJE BASADO EN CONFLICTOS
SOFTWARE ENGINEERING
VERIFICATION AND VALIDATION
SAT SOLVERS
PARALLEL AND DISTRIBUTED
CONFLICT BASED LEARNING
dc.description.none.fl_txt_mv En la actualidad el software forma parte integral de nuestra vida. Este interviene en todo tipo de tareas. Desde el envío de un mensaje de texto o la realización de una llamada telefónica hasta el sistema de control de una central nuclear o el sistema de velocidad crucero de un automóvil, utilizan sistemas basados en hardware y software informático. El análisis de software es un área en la ingeniería de software que en general se ocupa de la aplicación de métodos formales que permiten garantizar, o al menos ganar confianza en la ausencia de errores en una pieza de software. Existe una plétora de herramientas dedicadas a esta tarea, cada una de ellas con sus elecciones particulares de lenguajes y método a aplicar. Entre ellas, una cantidad no menor se ha volcado al uso de sat-solvers off the-shelf como mecanismo de bajo nivel que permite explorar eficientemente un espacio finito de modelos. En el presente trabajo pretendemos implementar un sat-solver paralelo y distribuido que: a) realice una adecuación y balanceo de la carga de procesamiento en run-time sobre una cantidad y configuración de equipamiento desconocida, b) realice una adecuación y balanceo del uso de memoria primaria y secundaria en run-time, también sobre una cantidad y configuración de equipamiento desconocida, y c) sea extensible y f´acil de parametrizar en todos aquellos aspectos que determinan el comportamiento del procedimiento de resolución del problema. Una vez llevada a cabo esta tarea, pretendemos evaluar la viabilidad de implementar una técnica de aprendizaje basada en análisis de cláusulas de conflicto acorde a las necesidades de ambientes paralelos y distribuidos, y su comparación empírica.
Today, software is an integral part of our lives, participating in all types of tasks. Text messages, phone calls, the control system of a nuclear power plant or the cruise control setting on a car – all of these things affect our daily lives and all employ systems based on hardware and software. In general, software analysis is a field within software engineering responsible for the application of formal methods in order to guarantee (or to at least gain some confidence about) the absence of errors in a software artifact. There are a plethora of tools dedicated to this task, each one with its own particular biases for specific languages and the methods to be applied. Many have turned to the use of off-the-shelf sat-solvers as low-level mechanisms that allow for efficient exploration of a finite space of models. The aim of the present work is to implement a parallel and distributed sat-solver that: a) provides an adequate processing workload balance at run-time over an a priori unknown quantity and configuration of equipment, b) provides an adequate balance of memory use, both primary and secondary, at run-time over an unknown quantity and configuration of equipment, c) is extensible and easy to parameterize in all the relevant aspects that determines the behavior of the tool in the solution of the problem. Once this task is done, we will evaluate the viability of the implementation of learning techniques based in conflict clause analysis according to the needs of parallel and distributed scenarios, and their empirical comparison.
Fil: Vissani, Ignacio. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
description En la actualidad el software forma parte integral de nuestra vida. Este interviene en todo tipo de tareas. Desde el envío de un mensaje de texto o la realización de una llamada telefónica hasta el sistema de control de una central nuclear o el sistema de velocidad crucero de un automóvil, utilizan sistemas basados en hardware y software informático. El análisis de software es un área en la ingeniería de software que en general se ocupa de la aplicación de métodos formales que permiten garantizar, o al menos ganar confianza en la ausencia de errores en una pieza de software. Existe una plétora de herramientas dedicadas a esta tarea, cada una de ellas con sus elecciones particulares de lenguajes y método a aplicar. Entre ellas, una cantidad no menor se ha volcado al uso de sat-solvers off the-shelf como mecanismo de bajo nivel que permite explorar eficientemente un espacio finito de modelos. En el presente trabajo pretendemos implementar un sat-solver paralelo y distribuido que: a) realice una adecuación y balanceo de la carga de procesamiento en run-time sobre una cantidad y configuración de equipamiento desconocida, b) realice una adecuación y balanceo del uso de memoria primaria y secundaria en run-time, también sobre una cantidad y configuración de equipamiento desconocida, y c) sea extensible y f´acil de parametrizar en todos aquellos aspectos que determinan el comportamiento del procedimiento de resolución del problema. Una vez llevada a cabo esta tarea, pretendemos evaluar la viabilidad de implementar una técnica de aprendizaje basada en análisis de cláusulas de conflicto acorde a las necesidades de ambientes paralelos y distribuidos, y su comparación empírica.
publishDate 2013
dc.date.none.fl_str_mv 2013
dc.type.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_7a1f
info:ar-repo/semantics/tesisDeGrado
format bachelorThesis
status_str publishedVersion
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.12110/seminario_nCOM000716_Vissani
url https://hdl.handle.net/20.500.12110/seminario_nCOM000716_Vissani
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/2.5/ar
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
dc.source.none.fl_str_mv reponame:Biblioteca Digital (UBA-FCEN)
instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron:UBA-FCEN
reponame_str Biblioteca Digital (UBA-FCEN)
collection Biblioteca Digital (UBA-FCEN)
instname_str Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron_str UBA-FCEN
institution UBA-FCEN
repository.name.fl_str_mv Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
repository.mail.fl_str_mv ana@bl.fcen.uba.ar
_version_ 1844618754637430784
score 13.070432