Banca de DEFESA: LUIS PAULO DA SILVA CARVALHO

Uma banca de DEFESA de DOUTORADO foi cadastrada pelo programa.
DISCENTE : LUIS PAULO DA SILVA CARVALHO
DATA : 16/11/2020
HORA: 08:30
LOCAL: Defesa Remota - meet.google.com/iae-yrzo-tkq
TÍTULO:

Identifying and Analyzing Software Concerns from Third-Party Components' Metadata


PALAVRAS-CHAVES:

Software Repository Mining, Concerns, Components, Static Analysis


PÁGINAS: 177
GRANDE ÁREA: Ciências Exatas e da Terra
ÁREA: Ciência da Computação
SUBÁREA: Metodologia e Técnicas da Computação
ESPECIALIDADE: Engenharia de Software
RESUMO:

Modularity is a key concept in software development. Well-modularized systems are easier to maintain and evolve. However, it is difficult to achieve good modularity in software systems, because developers must keep systems modular with respect to several perspectives. Frequently, this involves dealing with concerns that scatter and tangle through several modules, the crosscutting concerns as they are called. Logging, Database Access, and Testing Automation are examples of crosscutting concerns. They are important, but many of them are not central to the systems' business rules. As a consequence, often, they are not subject to modularization. Additionally, the analysis of crosscutting concerns tends to be effort-intensive and rapidly grows in complexity in large systems.

Studies on concerns often resort to manual identification of interests. Unfortunately, manual identification tends to be subjective, imprecise, and effort-intensive. Software Architecture Documents (SADs) can be used as auxiliary resources to identify and analyze concerns, but SADs are not common assets. And, when they are available, there is no guarantee that they contain relevant information about concerns of particular interest. As consequence, ideally, developers should rely on automation to identify and process information about concerns over the source code. Automatic approaches are a must have when the codebase is extensive and one wants to analyze how concerns evolve throughout the system's history. In this context, this work takes advantage of the injection of components in software projects to define a method for locating information about crosscutting concerns in software projects.

On modern systems, developers implement modules to address central business rules, but they usually inject third-party components in the codebase to materialize concerns related to secondary aspects of the system. For instance, the previously mentioned, Logging, Database Access, and Tests Automation are concerns that are often implemented with the help of external components. As these are the type of concerns that most scatter and interrelate through systems' modules, we saw an opportunity to propose a method to identify and analyzed them using injection data and metadata.

Our method first identifies concerns from the metadata that developers use to inject third-party components in their systems. Then, it evaluates how those concerns spreads, and evolve through time, over the codebase. We developed a tool named Architectural Knowledge Suite (AKS) to automate the method. We used this tool to conduct an action research study with the help of software development specialists to evaluate the reliability of our method and to refine it. We also ran three other studies using our method to process real information systems' source code, characterizing and analyzing how developers implement concerns in the real world.

Among our findings, we highlight that our method met the expectations of the specialists to a moderate degree. We perceived that grouping software projects according to their contexts of use can optimize the identification and analyses of concerns. We noticed that developers tend to mix concerns by joining references to different components through the lines of source code artifacts, but we spotted some exceptional cases. We also saw opportunities to adapt our method to expand the identification of concerns toward varied contexts of adopted software development technologies.


MEMBROS DA BANCA:
Presidente - 1674550 - MANOEL GOMES DE MENDONCA NETO
Interno - 1710389 - CLAUDIO NOGUEIRA SANT ANNA
Interno - 1678446 - LAIS DO NASCIMENTO SALVADOR
Externo à Instituição - PAULO CAETANO DA SILVA - UNIFACS
Externo à Instituição - SÉRGIO CASTELO BRANCO SOARES - UFPE
Notícia cadastrada em: 26/11/2020 10:57
SIGAA | STI/SUPAC - - | Copyright © 2006-2024 - UFBA