Fechar

@InProceedings{GuerraLiChNaSiLaMe:2020:CoSt,
               author = "Guerra, Eduardo and Lima, Phyllipe and Choma, Joelma and Nardes, 
                         Marco Augusto Ribeiro and Silva, Tiago and Lanza, Michele and 
                         Meirelles, Paulo",
          affiliation = "{Free University of Bozen-Bolzano} and {Instituto Nacional de 
                         Telecomunica{\c{c}}{\~o}es (INATEL)} and {Instituto Nacional de 
                         Pesquisas Espaciais (INPE)} and {Instituto Nacional de Pesquisas 
                         Espaciais (INPE)} and {Universidade Federal de S{\~a}o Paulo 
                         (UNIFESP)} and {University of Lugano} and {Universidade Federal de 
                         S{\~a}o Paulo (UNIFESP)}",
                title = "A Metadata Handling API for Framework Development: A Comparative 
                         Study",
            booktitle = "Proceedings...",
                 year = "2020",
                pages = "499--505",
         organization = "Brazilian Symposium on Software Engineering, 34.",
            publisher = "Association for Computing Machinery",
             abstract = "Frameworks play an essential role in software development, 
                         providing not only code reuse, but also design reuse. Several Java 
                         frameworks and APIs such as Spring, JPA, and CDI rely on the use 
                         of metadata, mainly defined by code annotations. These frameworks 
                         usually use the Java Reflection API to consume code annotations, 
                         which only returns the annotations in a given code element. This 
                         strategy, however, is far from the needs of a real framework. The 
                         goal of this paper is to propose a novel API, named Esfinge 
                         Metadata, to assist in the development of frameworks based on 
                         metadata and applications based on custom annotations. Being based 
                         on annotations itself, this new API uses them to map metadata to 
                         class members. We carried out an experiment to evaluate our API 
                         and its impact on aspects such as code structure, complexity, and 
                         coupling, while also performing a comparison with the direct use 
                         of the Java Reflection API. The participants implemented a 
                         metadata-based framework based on realistic requirements in a 
                         sequence of 10 tasks that took an average of nine hours. As a 
                         result, participants that used our API maintained a more stable 
                         code evolution, regarding complexity and coupling as opposed to 
                         participants using the Java Reflection API, where the code metrics 
                         evolution and structure vary greatly.",
  conference-location = "Online",
      conference-year = "21-23 Oct.",
                  doi = "10.1145/3422392.3422428",
                  url = "http://dx.doi.org/10.1145/3422392.3422428",
                 isbn = "978-145038753-8",
             language = "en",
           targetfile = "guerra_metadata.pdf",
        urlaccessdate = "28 mar. 2024"
}


Fechar