• JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
 
  Bookmark and Share
 
 
Disertación de Maestría
DOI
https://doi.org/10.11606/D.3.2021.tde-01092021-111751
Documento
Autor
Nombre completo
Bruno Sofiato
Dirección Electrónica
Instituto/Escuela/Facultad
Área de Conocimiento
Fecha de Defensa
Publicación
São Paulo, 2021
Director
Tribunal
Siqueira, Fabio Levy (Presidente)
Pereira, Fernando Magno Quintão
Silva, Flavio Soares Correa da
Título en portugués
Igualdade, ordem e hashing: uma abordagem declarativa para a comparação de objetos.
Palabras clave en portugués
Linguagem de programação
Programação declarativa
Programação orientada a objetos
Qualidade de software
Resumen en portugués
Igualdade e ordem são conceitos relacionados que são usados diariamente. Como eles dependem do domínio, o programador tem que eventualmente codificá-los. Essa codificação, porém, não é fácil. Estudos apontam para ela como sendo uma conhecida fonte de defeitos em programas escritos em linguagens orientadas a objetos. Uma das causas é que tal implementação requer múltiplos métodos que devem ser consistentes entre si. Outra causa é mais insidiosa e é devida à como essas linguagens lidam com a passagem de mensagens. Diversas propostas almejam mitigar essas questões. Elas, porém, impõem restrições severas e não lidam com todos os casos. Não obstante, nenhuma lida com a ordem. Este trabalho propõe um método para comparação de objetos que é agnóstico à linguagem e trata os três aspectos distintos da comparação - igualdade, ordem e hash. A proposta é descrita utilizando-se semântica operacional estruturada no estilo de Plotkin. A sua corretude é provada formalmente. Também é descrito um protótipo que é avaliado baseado em três características de qualidade do modelo de qualidade de software da ISO/IEC 25010 - adequação funcional, eficiência de desempenho e manutenibilidade. Resultados sugerem que a qualidade geral dos programas melhorou, apesar da queda de desempenho.
Título en inglés
Equality, order, and hashing: a declarative approach to object comparison.
Palabras clave en inglés
Declarative programming
Equality
Hashing
Object-oriented programming
Order
Programming languages
Software quality
Resumen en inglés
Equality and ordering are relatable concepts we use daily. As they depend on the domain at hand, the programmer must eventually code them. However, coding them is not easy. Several studies show that they are a known source of bugs in programs written in object-oriented languages. One of the causes is that it requires multiple methods that must be consistent with each other. Another cause is more insidious and is due to how these languages deal with message passing. Several proposals aim to mitigate those issues. They, however, enforce hard constraints and do not handle all the cases. Moreover, none of them deals with order. We propose a method of comparing objects that is agnostic of language and handles the three distinct aspects of comparsion - equality, order, and hashing. We use Plotkin's style operational semantics (SOS) to describe it. Its soundness is then formally proven. We also describe a prototype that is assessed based on three software quality characteristics of the ISO/IEC 25010 software quality model - functional suitability, performance efficiency, and maintainability. Results hint that the overall quality of the software improved, despite the decline of performance.
 
ADVERTENCIA - La consulta de este documento queda condicionada a la aceptación de las siguientes condiciones de uso:
Este documento es únicamente para usos privados enmarcados en actividades de investigación y docencia. No se autoriza su reproducción con finalidades de lucro. Esta reserva de derechos afecta tanto los datos del documento como a sus contenidos. En la utilización o cita de partes del documento es obligado indicar el nombre de la persona autora.
Fecha de Publicación
2021-09-01
 
ADVERTENCIA: Aprenda que son los trabajos derivados haciendo clic aquí.
Todos los derechos de la tesis/disertación pertenecen a los autores
CeTI-SC/STI
Biblioteca Digital de Tesis y Disertaciones de la USP. Copyright © 2001-2022. Todos los derechos reservados.