1 |
[en] REUSE OF DOMAIN-SENSITIVE STRATEGIES FOR DETECTING CODE ANOMALIES: A MULTI-CASE STUDY / [pt] REUSO DE ESTRATÉGIAS SENSÍVEIS A DOMÍNIO PARA DETECÇÃO DE ANOMALIAS DE CÓDIGO: UM ESTUDO DE MÚLTIPLOS CASOSALEXANDRE LEITE SILVA 30 January 2015 (has links)
[pt] Para promover a longevidade de sistemas de software, estratégias de detecção são reutilizadas para identificar anomalias relacionadas a problemas de manutenção, tais como classes grandes, métodos longos ou mudanças espalhadas. Uma estratégia de detecção é uma heurística composta por métricas de software e limiares, combinados por operadores lógicos, cujo objetivo é detectar um tipo de anomalia. Estratégias pré-definidas são usualmente aplicadas globalmente no programa na tentativa de revelar onde se encontram os problemas críticos de manutenção. A eficiência de uma estratégia de detecção está relacionada ao seu reuso, dado o conjunto de projetos de uma organização. Caso haja necessidade de definir limiares e métricas para cada projeto, o uso das estratégias consumirá muito tempo e será negligenciado. Estudos recentes sugerem que o reuso das estratégias convencionais de detecção não é usualmente possível se aplicadas de forma universal a programas de diferentes domínios. Dessa forma, conduzimos um estudo exploratório em vários projetos de um domínio comum para avaliar o reuso de estratégias de detecção. Também avaliamos o reuso de estratégias conhecidas, com calibragem inicial de limiares a partir do conhecimento e análise de especialistas do domínio. O estudo revelou que, mesmo que o reuso de estratégias aumente quando definidas e aplicadas para um domínio específico, em alguns casos o reuso é limitado pela variação das características dos elementos identificados por uma estratégia de detecção. No entanto, o estudo também revelou que o reuso pode ser significativamente melhorado quando as estratégias consideram peculiaridades dos interesses recorrentes no domínio ao invés de serem aplicadas no programa como um todo. / [en] To prevent the quality decay, detection strategies are reused to identify symptoms of maintainability problems in the entire program. A detection strategy is a heuristic composed by the following elements: software metrics, thresholds, and logical operators combining them. The adoption of detection strategies is largely dependent on their reuse across the portfolio of the organizations software projects. If developers need to define or tailor those strategy elements to each project, their use will become time-consuming and neglected. Nevertheless, there is no evidence about efficient reuse of detection strategies across multiple software projects. Therefore, we conduct an industry multi-project study to evaluate the reusability of detection strategies in a critical domain. We assessed the degree of accurate reuse of previously-proposed detection strategies based on the judgment of domain specialists. The study revealed that even though the reuse of strategies in a specific domain should be encouraged, their accuracy is still limited when holistically applied to all the modules of a program. However, the accuracy and reuse were both significantly improved when the metrics, thresholds and logical operators were tailored to each recurring concern of the domain.
|
2 |
[en] ON THE PRIORITIZATION OF DESIGN-RELEVANT SMELLS / [pt] PRIORIZAÇÃO DE ANOMALIAS DE CÓDIGO RELEVANTES AO PROJETO DOS SISTEMAS DE SOFTWAREANDERSON JOSE SILVA DE OLIVEIRA 31 March 2020 (has links)
[pt] Sistemas de software provavelmente enfrentarão os chamados problemas de projeto. Um problema de projeto é o resultado de más decisões
que podem afetar alguns atributos de qualidade importantes do sistema
de software, como manutenção, desempenho e afins. Dada a típica falta
de documentação do projeto, os desenvolvedores precisam confiar em sintomas que aparecem a nível de implementação para identificar e remover
problemas de projeto. Um sintoma a nível de implementação geralmente
se manifesta como uma anomalia de código, que se trata de uma microestrutura no programa possivelmente indicando a presença de (ou parte de)
um problema de projeto. Grandes programas possuem centenas ou milhares
de elementos (pacotes, classes, interfaces e afins) nos quais uma proporção
significativa é afetada por anomalias. No entanto, muitas dessas anomalias
não possuem relação com problemas de projeto, em outras palavras, elas
não são anomalias relevantes ao problema de projeto. Desse modo, torna-se
difícil e demorado priorizar os elementos anômalos do programa que são suspeitos de terem problema de projeto. Infelizmente, a literatura não fornece
aos desenvolvedores heurísticas que auxiliem a priorização destes elementos
de projeto suspeitos. Neste contexto, esta dissertação reporta dois estudos
que objetivam auxiliar na elaboração de tais heurísticas, visando auxiliar o
desenvolvedor nas decisões de priorização. O objetivo destas heurísticas é
localizar uma pequena lista de elementos suspeitos de terem anomalias de
código relevantes ao problema de projeto. Nosso primeiro estudo consiste em
uma análise qualitativa para determinar os critérios utilizados pelos desenvolvedores para a priorização de elementos suspeitos de terem problemas
de projeto. Com base nesses critérios, derivamos um conjunto preliminar
de heurísticas de priorização. Nosso segundo estudo centrou-se na avaliação
destas heurísticas. Como resultado, descobrimos que duas das nove heurísticas alcançaram os melhores resultados de precisão. As melhores heurísticas
são baseadas em dois critérios: diversidade de anomalias e granularidade das
anomalias. Nossas descobertas sugerem que fomos capazes de obter uma primeira abordagem promissora para apoiar os desenvolvedores na priorização
de elementos com anomalias de código relevantes ao projeto de software. / [en] Software systems are likely to face what is called design problems.
A design problem is the result of bad decisions that can aect some important quality attributes of the software system such as maintainability, performance and the like. Given the typical lack of design documentation, developers have to rely on implementation-level symptoms to identify and
remove design problems. An implementation-level symptom usually manifests as a code smell, a micro-structure in the program possibly indicating
the presence of (or part of) a design problem. Large programs have hundreds
or thousands of program elements (packages, classes, interfaces, and the
like) in which a significant proportion is aected by smells. However, many
of these smells may bear no relationship with design problems, i.e. they
are not design-relevant smells. Then, it becomes hard and time-consuming
to prioritize smelly program elements being suspects of having a design
problem. Unfortunately, the literature fails to provide developers with heuristics to support the prioritization of these suspicious program elements.
In this context, this dissertation reports two studies aimed at assisting in
the elaboration of such prioritization heuristics. The goal of these heuristics
is to locate a short (high priority) list of smelly program elements, which
are suspects of having design-relevant smells. Our first study consists of a
qualitative analysis on recurring criteria used by developers, in practice, to
prioritize elements suspicious of having design problems. Based on these criteria, we derived a preliminary suite of prioritization heuristics. Our second
study focused on the evaluation of the proposed heuristics. As a result, we
found that two out of nine heuristics reached the best results in precision.
The best heuristics are based on two criteria: smell diversity and smell granularity. Our findings suggest that we were able to derive a first promising
approach to support developers in prioritizing elements with design-relevant
smells.
|
3 |
[pt] COMPREENDENDO A IDENTIFICAÇÃO DE PROBLEMAS DE PROJETO: COMBINANDO MULTIPLOS SINTOMAS / [en] UNVEILING DESIGN PROBLEMS IDENTIFICATION: COMBINING MULTIPLE SYMPTOMSANDERSON JOSE SILVA DE OLIVEIRA 02 January 2024 (has links)
[pt] O projeto de software resulta das decisões ao longo do seu desenvolvimento.
Algumas dessas decisões podem levar a problemas de projeto, afetando negativamente os requisitos não funcionais (RNFs). Embora seja crucial identificar esses problemas, essa é uma tarefa complexa, especialmente quando
o código-fonte é o único artefato disponível. Nessa tarefa, os desenvolvedores podem ter que considerar vários sintomas (por exemplo, anomalias de
código) para identificar até mesmo um único problema de projeto. Estudos
anteriores sugerem que usar um único sintoma pode ser inadequado para
identificar tais problemas. Portanto, nesta tese, investigamos como múltiplos
sintomas podem ser usados nessa identificação. Em nosso primeiro estudo,
nos concentramos em investigar o uso de anomalias de código bem conhecidos (anomalias de manutenabilidade). Nós identificamos que os desenvolvedores podem se beneficiar desse tipo de sintoma quando as ocorrências
das anomalias afetam a mesma localização do programa e formam um padrão, podendo indicar melhor a presença de um problema de projeto. No
entanto, também revelamos as limitações ao depender exclusivamente desse
tipo de sintoma, destacando a necessidade de contexto adicional. Isso nos
levou ao segundo estudo, onde investigamos um tipo adicional de sintoma,
anomalias de robustez, e seu uso combinado com anumalias de manutenabilidade. Nós identificamos que ambos os tipos de anomalia de código
podem ajudar os desenvolvedores na identificação de problemas de projeto
principalmente relacionados à má modularização do sistema. Através desses
dois estudos, observamos a necessidade de compreender as perspectivas e
estratégias dos desenvolvedores em relação aos RNFs do sistema. Ao fazê-lo,
podemos potencialmente entender quem são os desenvolvedores mais capazes de prevenir, discutir e identificar problemas de projeto. Isso nos levou
ao terceiro estudo, onde investigamos como os desenvolvedores discutem e
abordam RNFs em seus sistemas, revelando estratégias comuns em relação
a esses requisitos. Esses resultados nos proporcionaram uma compreensão
mais abrangente de como os desenvolvedores podem combinar diferentes
sintomas e como percebem sua importância dentro de seus sistemas. / [en] Software design results from stakeholder decisions made through software
development. Some of these decisions may lead to design problems, negatively impacting non-functional requirements (NFRs). Even though identifying design problems is crucial, this is a complex task, especially when
the source code is the only artifact available. Along this task, developers
may have to reason about multiple symptoms (e.g., code smells and nonconformities with NFRs) to identify even a single design problem. In fact,
previous studies suggest that relying on a single symptom may be inadequate for the design problem identification. Thus, in this thesis, we investigate the role that the use of multiple symptoms may have on the identification of design problems. In our first study, we focused on investigating the
use of well-known code smells (called here maintainability smells) to support
this task. Our results indicated that developers could benefit from this type
of symptom when smell occurrences affect the same program location and
form a pattern; i.e., a set of co-occurring maintainability smells may better
indicate the presence of a design problem. Nevertheless, we also reveal the
limitations of relying solely on this type of symptom, highlighting the need
for additional context. This leads us to the second study, where we investigate an additional type of symptom, robustness smells, and its combined use
with maintainability smells. Our results indicated that the use of both types
of smells can help developers in the identification of design problems mainly
related to bad modularization of the system (e.g. excess of responsibilities
assigned to the same component). Through these two studies, we observed
the need to understand the perspectives and strategies of developers toward
the NFRs of the system. In doing so, we can potentially understand who
are the developers better able to prevent, discuss and identify design problems. That led us to our third study, where we investigated how developers
discuss and address NFRs in their systems, uncovering common strategies
toward these requirements. These results led us to a more comprehensive
understanding of how developers can combine different symptoms and how
they perceive their significance within their systems.
|
4 |
[en] ANOMALIES IN THE BRAZILIAN CAPITAL MARKETS: ESSAYS WITH EMPIRICAL TESTS AT BOVESPA / [pt] ANOMALIAS NO MERCADO DE CAPITAIS BRASILEIRO: ENSAIOS COM TESTES EMPÍRICOS NA BOVESPAPIERRE LUCENA RABONI 28 March 2006 (has links)
[pt] O estudo das anomalias existentes no mercado de capitais
brasileiro vem
ganhando força em pesquisas recentes, tanto pela
curiosidade de pesquisadores
como pela necessidade de pessoas do mercado em entender
alguns fenômenos que
persistem em ocorrer, mesmo com a disseminação da
informação por todo o
mercado, contrariando os pressupostos da eficiência de
mercado. Dentro deste
contexto, esta tese se propôs a estudar alguns deles, e
também realizar
modificações em modelos já consolidados. Foram feitas aqui
três modificações na
maneira tradicional de análise de modelos de anomalias,
dentro de quatro
capítulos distintos, porém inter-relacionados, além da
introdução e da conclusão.
O primeiro capítulo se propõe a verificar dois
pressupostos básicos de modelos
estatísticos, que são a normalidade e a estacionariedade
da série de retornos de
ações no Brasil. O segundo capítulo modifica a metodologia
tradicional de
formação de carteiras, aplicando uma técnica conhecida
como análise de cluster
em detrimento das medidas de posição. A terceira parte
apresenta uma
modificação do modelo de Grinblatt e Moskowitz (2004),
analisando os aspectos
que seriam importantes para o mercado brasileiro nos
retornos futuros das ações.
Por fim, é feita uma modificação importante no Modelo de
Multifatores de Fama
e French (1996), incorporando elementos da variância
condicional, através da
modelagem ARCH e GARCH na equação do modelo. Concluí-se
que o mercado
brasileiro apresenta algumas anomalias comuns a outros
mercados, e que uma
melhoria pode ser realizada nos modelos tradicionais,
levando-se em consideração
características específicas do caso brasileiro. / [en] The anomalies that exist in the Brazilian Capital Markets
have been
increasingly discused in recent research, as much for the
curiosity of researchers
as for the need of the market to understand some phenomena
that persist in
occurring, opposing the assumptions of market efficiency.
In this context, this
thesis aimed at studying some of them, and also to carry
through some
modifications in consolidated models. Three modifications
were made in the
traditional analysis of anomalies models, resulting in
four distinct chapters, but
interrelated, and the introduction and conclusion. The
first study verified two
estimated assumptions of statistical models, that are the
normality and the
stationarity of returns of the shares in Brazil. The
second study modifies the
traditional way of portfolio formation, applying the
cluster analysis technique
instead of by the ranking of position. The third study
presents a modification of
the Grinblatt and Moskowitz Model (2004), analyzing the
aspects that would be
important for the Brazilian market in determines the
returns of the shares. Finally,
in the fourth study, an important modification in the
Multifactor Model of Fama
and French (1996) is proposed, incorporating elements of
the conditional
variance, through applying modeling; ARCH and GARCH in the
equation of the
model. It can be concluded that the Brazilian market
presents some common
anomalies to other markets, and that an improvement can be
implemented in the
traditional models.
|
5 |
[pt] CONSELHOS CONSERVADORES E GESTORES INTRÉPIDOS: A INTERAÇÃO ENTRE GOVERNANÇA CORPORATIVA, LATITUDE GERENCIAL E COMPORTAMENTO FINANCEIRO AO LONGO DE DOIS FAMOSOS ENIGMAS FINANCEIROS / [en] CONSERVATIVE BOARDS AND INTREPID MANAGERS: THE INTERPLAY OF CORPORATE GOVERNANCE, MANAGERIAL DISCRETION AND FINANCING BEHAVIOR ALONG TWO FAMOUS FINANCIAL PUZZLESMICHAEL ESPINDOLA ARAKI 28 May 2020 (has links)
[pt] Nesta tese, utilizo uma perspectiva teórica que integra as teorias tradicionais de finanças às teorias de empreendedorismo e criatividade para investigar o comportamento das empresas ao longo de dois famosos enigmas financeiros: a alavancagem zero e a sensibilidade do investimento ao fluxo de caixa. Particularmente, eu exploro e desenvolvo dois construtos — rule-taking e risk-taking — que existem na interface entre governança corporativa e tomada de decisão gerencial sob incerteza, e que têm uma influência significativa nas decisões de estrutura de capital e de investimento. O rule-taking é um novo construto que reflete o grau em que um gestor é passível de controle externo, intervenção ou tem seu poder decisório restrito. O risk-taking, embora não seja um novo construto, é reexaminado através de uma lente teórica mais abrangente, que engloba as ideias da teoria da criatividade e os conceitos de incerteza knightiana e do estar alerta kirzneriano. Assim, tais construtos servem como o nexo para investigar os famosos enigmas financeiros, indo além das vertentes financeiras tradicionais (e.g., a teoria do trade-off; Modigliani e Miller, 1958) e das vertentes gerenciais tradicionais (e.g., a teoria da agência; Jensen e Meckling, 1976) para analisar as relações negligenciadas entre governança corporativa e a intrepidez do gestor em ambientes competitivos, complexos e incertos. A tese é composta por três artigos autônomos, além de uma introdução comum e uma discussão geral. O primeiro artigo é um ensaio teórico no qual eu problematizo o paradigma dominante da governança corporativa (teoria da agência) e desenvolvo o embasamento teórico para os construtos de rule-taking e risk-taking. O segundo e o terceiro artigo são estudos empíricos que investigam se esses construtos podem ajudar a explicar, respectivamente, o enigma das empresas com alavancagem zero, e a sensibilidade do investimento ao fluxo de caixa. Os resultados em grande parte corroboram as hipóteses. Assim,
este trabalho expande a discussão sobre temas tradicionais relacionados a finanças corporativas e governança corporativa, reunindo perspectivas sub-representadas na literatura financeira, decorrentes de diferentes áreas de pesquisa, como empreendedorismo e criatividade, e demonstrando que elas podem acrescentar ideias novas e úteis para pesquisa e prática. Finalmente, esta tese também é uma resposta a chamados recentes para a utilização de abordagens mais integrativas e multidisciplinares com o fim de melhor analisar o comportamento da empresa. / [en] In this dissertation, I utilize a theoretical perspective that integrates traditional finance theories with the entrepreneurship and creativity theories to investigate the behavior of firms along two conspicuous financial puzzles: the zero-leverage puzzle and the sensitivity of investment to cash flows. Particularly, I explore and develop two constructs—rule-taking and risk-taking—that exist at the interface of corporate governance and managerial decision-making under uncertainty and which are hypothesized to have a significant bearing on capital structure and investment decisions. Rule-taking is a novel construct that reflects the degree to which a manager is liable to external control, intervention or have their discretionary power constrained. Risk-taking, although not a novel construct, is re-examined through a more comprehensive theoretical lens that encompasses the insights from creativity theory and the concepts of Knightian uncertainty and Kirznerian alertness. These constructs, then, serve as the nexus to investigate the financial puzzles going beyond both traditional finance strands (e.g., the trade-off theory; Modigliani and Miller, 1958) and traditional managerial strands (e.g., agency theory; Jensen and Meckling, 1976) to analyze overlooked relationships between corporate governance and managerial intrepidness in competitive, complex and uncertain environments. The dissertation is composed of three stand-alone papers, with a unified introduction and a general discussion. The first paper is a theoretical essay in which I problematize the dominant paradigm of corporate governance (agency theory) and develop the theoretical background for the constructs of risk-taking and rule-taking. The second and third papers are empirical studies that investigate whether these constructs can help explain the puzzles of zero-leverage firms and investment-cash flow sensitivity, respectively. The results mainly support the hypotheses. This work, then, expands the discussion on traditional themes related to corporate finance and corporate
governance by bringing together underrepresented perspectives in the finance literature, stemming from different areas of research, such as the entrepreneurship and creativity literature strands, and demonstrating that they can add novel and useful insights for research and policy. Finally, this dissertation also answers recent calls for the utilization of more integrative and multidisciplinary approaches to further analyze firm behavior.
|
6 |
[en] FACTOR MODELS WITH TIME-VARYING BETAS / [pt] MODELOS DE FATORES COM BETAS VARIANTES NO TEMPOFRANCES FISCHBERG BLANK 12 May 2015 (has links)
[pt] Diversos estudos envolvendo modelos de fatores para apreçamento de ativos contestam a validade do CAPM. Ao longo do tempo, para explicar as chamadas anomalias dos retornos das ações, os trabalhos se voltaram tanto para a busca de novos fatores de risco – os modelos multifatores – bem como para o tratamento dinâmico das sensibilidades relacionadas aos fatores de risco – os modelos condicionais de apreçamento de ativos. Os modelos condicionais, de um ou mais fatores, explicitam o valor esperado do retorno de um ativo de forma condicional a um conjunto de informação disponível no período anterior. As sensibilidades aos fatores de risco, os betas, são estimados como parâmetros dinâmicos a partir de diferentes abordagens na literatura. Nesta tese, o objetivo é o estudo de modelos condicionais na forma espaço-estado, em que os betas seguem processos estocásticos e são estimados a partir do filtro de Kalman, de forma a verificar o ganho na capacidade explicativa dos modelos. Dois estudos empíricos são realizados, um para o CAPM condicional no mercado brasileiro e outro para o modelo de três fatores condicional de Fama e French no mercado norte-americano. De modo geral, os resultados ao se considerar a variação temporal das sensibilidades aos fatores são melhores do que os obtidos a partir dos modelos incondicionais correspondentes, tanto no que se refere ao ajuste aos dados quanto à redução proporcionada nos erros de apreçamento. / [en] The validity of CAPM is contested by several studies based on factor models. During the last decades, aiming to explain the known financial anomalies of stock returns, two major lines of research emerged: the use of asset pricing models that allow for multiple sources of risk – the multifactor models – as well as the dynamic approach to model the sensitivities of returns in respect to the risk factors – the conditional models. The conditional models, based on one or more risk factors, explicit the expected return conditional to the information set available in the previous period. The factor sensitivities, or the betas, are estimated as dynamic parameters according to different approaches in the literature. The main objective in this thesis is to study conditional pricing models based on state-space approach. The betas dynamics are described as stochastic processes and estimated through the Kalman filter in order to verify the models ability to explain the returns and related financial anomalies, such as size and value effects. Two empirical applications are presented: one for Conditional CAPM in the Brazilian stock market and another for Conditional Fama and French (1993) three-factor model in the American stock market. In both cases, time-varying sensitivities treatment provides better model adjustment as well as smaller pricing errors compared to correspondent unconditional models.
|
Page generated in 0.0706 seconds