• 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
 
 
Master's Dissertation
DOI
https://doi.org/10.11606/D.3.2021.tde-01092021-111751
Document
Author
Full name
Bruno Sofiato
E-mail
Institute/School/College
Knowledge Area
Date of Defense
Published
São Paulo, 2021
Supervisor
Committee
Siqueira, Fabio Levy (President)
Pereira, Fernando Magno Quintão
Silva, Flavio Soares Correa da
Title in Portuguese
Igualdade, ordem e hashing: uma abordagem declarativa para a comparação de objetos.
Keywords in Portuguese
Linguagem de programação
Programação declarativa
Programação orientada a objetos
Qualidade de software
Abstract in Portuguese
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.
Title in English
Equality, order, and hashing: a declarative approach to object comparison.
Keywords in English
Declarative programming
Equality
Hashing
Object-oriented programming
Order
Programming languages
Software quality
Abstract in English
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.
 
WARNING - Viewing this document is conditioned on your acceptance of the following terms of use:
This document is only for private use for research and teaching activities. Reproduction for commercial use is forbidden. This rights cover the whole data about this document as well as its contents. Any uses or copies of this document in whole or in part must include the author's name.
Publishing Date
2021-09-01
 
WARNING: Learn what derived works are clicking here.
All rights of the thesis/dissertation are from the authors
CeTI-SC/STI
Digital Library of Theses and Dissertations of USP. Copyright © 2001-2024. All rights reserved.