• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 6
  • 3
  • Tagged with
  • 9
  • 9
  • 9
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 3
  • 3
  • 3
  • 3
  • 3
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Inspeção de aplicações Java através da identificação de padrões de projeto

Freitas, Andre Luis Castro de January 2003 (has links)
Para reutilização, manutenção e refatoração, projetistas de sistemas de software, freqüentemente, precisam examinar o código fonte da aplicação para entender os detalhes dos sistemas desenvolvidos. As aplicações orientadas a objetos em geral, tornam-se coleções nebulosas de classes e implementações de métodos. Sem dúvida a habilidade de entender sistemas de software é largamente aumentada visualizando-se esses produtos em níveis mais altos de abstração. Os padrões de projeto demonstram um alto índice de abstração e são considerados uma ferramenta efetiva para o entendimento de sistemas de software orientados a objetos. Aplicações orientadas a objetos visualizadas como um sistema de interação de padrões requerem a descoberta, identificação e classificação de grupos de classes relacionadas. Estas visualizações podem representar qualquer padrão conhecido ou agrupamentos que executam uma tarefa abstrata e necessariamente não são uma solução de padrão conhecida. Os padrões de projeto descrevem, portanto, microarquiteturas que resolvem problemas arquitetônicos em sistemas de software orientados a objetos. É importante identificar estas microarquiteturas durante a fase de manutenção de aplicações orientadas a objetos. Faz-se necessário salientar que estas microarquiteturas aparecem freqüentemente distorcidas na aplicação fonte. O objeto deste trabalho é demonstrar a viabilidade de construir uma ferramenta para descobrir a utilização de padrões de projeto em aplicações Java. Assim, esta tese examina as características de alguns padrões, determinando a natureza do que faz um padrão ser detectável por intermédio de meios automatizados, e propõe algumas regras pelas quais um conjunto de padrões possa ser identificado. As regras são baseadas nos relacionamentos entre classes e objetos mediante observação dos modelos estático e dinâmico. Este trabalho também documenta o desenvolvimento do protótipo da ferramenta de inspeção, que tem por objetivo aplicar os processos de engenharia reversa e reflexão computacional sobre código Java, utilizando as informações adquiridas para detectar padrões de projeto. Finalmente, esta tese demonstra a utilização dessa ferramenta em um exemplo pequeno de aplicação Java e forma a base para trabalhos adicionais que investiguem a existência de diferentes padrões de projeto em sistemas de software construídos em Java.
2

Inspeção de aplicações Java através da identificação de padrões de projeto

Freitas, Andre Luis Castro de January 2003 (has links)
Para reutilização, manutenção e refatoração, projetistas de sistemas de software, freqüentemente, precisam examinar o código fonte da aplicação para entender os detalhes dos sistemas desenvolvidos. As aplicações orientadas a objetos em geral, tornam-se coleções nebulosas de classes e implementações de métodos. Sem dúvida a habilidade de entender sistemas de software é largamente aumentada visualizando-se esses produtos em níveis mais altos de abstração. Os padrões de projeto demonstram um alto índice de abstração e são considerados uma ferramenta efetiva para o entendimento de sistemas de software orientados a objetos. Aplicações orientadas a objetos visualizadas como um sistema de interação de padrões requerem a descoberta, identificação e classificação de grupos de classes relacionadas. Estas visualizações podem representar qualquer padrão conhecido ou agrupamentos que executam uma tarefa abstrata e necessariamente não são uma solução de padrão conhecida. Os padrões de projeto descrevem, portanto, microarquiteturas que resolvem problemas arquitetônicos em sistemas de software orientados a objetos. É importante identificar estas microarquiteturas durante a fase de manutenção de aplicações orientadas a objetos. Faz-se necessário salientar que estas microarquiteturas aparecem freqüentemente distorcidas na aplicação fonte. O objeto deste trabalho é demonstrar a viabilidade de construir uma ferramenta para descobrir a utilização de padrões de projeto em aplicações Java. Assim, esta tese examina as características de alguns padrões, determinando a natureza do que faz um padrão ser detectável por intermédio de meios automatizados, e propõe algumas regras pelas quais um conjunto de padrões possa ser identificado. As regras são baseadas nos relacionamentos entre classes e objetos mediante observação dos modelos estático e dinâmico. Este trabalho também documenta o desenvolvimento do protótipo da ferramenta de inspeção, que tem por objetivo aplicar os processos de engenharia reversa e reflexão computacional sobre código Java, utilizando as informações adquiridas para detectar padrões de projeto. Finalmente, esta tese demonstra a utilização dessa ferramenta em um exemplo pequeno de aplicação Java e forma a base para trabalhos adicionais que investiguem a existência de diferentes padrões de projeto em sistemas de software construídos em Java.
3

Inference rules for generic code migration of aspect-oriented programs

Rubbo, Fernando Barden January 2009 (has links)
The latest versions of AspectJ { the most popular aspect oriented extension for Java { must cope with complex changes that occurred in the Java type system, specially with the parametric polymorphism which aims to improve the type safety and the readability of the source code. However, for legacy and non-generic constructions to take advantage of this pervasive feature, they must be migrated to explicitly supply actual type parameters in both declarations and instantiations of generic classes. Even though the type systems of Java and AspectJ were designed to support this kind of migration in a gradual way, this process is somewhat complex and error prone. The reason behind this assertion is that actual type parameters must be inferred to remove as much unsafe downcasts as possible without a ecting the original semantics of the program. Therefore, tools are essential to minimize the e ort of a manual application of the refactoring steps and to prevent the introduction of new errors. Since current automated solutions focus only on Java programs, they do not consider the use of aspects to encapsulate crosscutting concerns. Thus, this dissertation proposes a novel collection of inference rules to derive type constraints for the polymorphic version of AspectJ. These rules were used together with an existing generic migration algorithm to enable the conversion of non-generic legacy code to add actual type parameters in both Java and AspectJ languages.
4

Inspeção de aplicações Java através da identificação de padrões de projeto

Freitas, Andre Luis Castro de January 2003 (has links)
Para reutilização, manutenção e refatoração, projetistas de sistemas de software, freqüentemente, precisam examinar o código fonte da aplicação para entender os detalhes dos sistemas desenvolvidos. As aplicações orientadas a objetos em geral, tornam-se coleções nebulosas de classes e implementações de métodos. Sem dúvida a habilidade de entender sistemas de software é largamente aumentada visualizando-se esses produtos em níveis mais altos de abstração. Os padrões de projeto demonstram um alto índice de abstração e são considerados uma ferramenta efetiva para o entendimento de sistemas de software orientados a objetos. Aplicações orientadas a objetos visualizadas como um sistema de interação de padrões requerem a descoberta, identificação e classificação de grupos de classes relacionadas. Estas visualizações podem representar qualquer padrão conhecido ou agrupamentos que executam uma tarefa abstrata e necessariamente não são uma solução de padrão conhecida. Os padrões de projeto descrevem, portanto, microarquiteturas que resolvem problemas arquitetônicos em sistemas de software orientados a objetos. É importante identificar estas microarquiteturas durante a fase de manutenção de aplicações orientadas a objetos. Faz-se necessário salientar que estas microarquiteturas aparecem freqüentemente distorcidas na aplicação fonte. O objeto deste trabalho é demonstrar a viabilidade de construir uma ferramenta para descobrir a utilização de padrões de projeto em aplicações Java. Assim, esta tese examina as características de alguns padrões, determinando a natureza do que faz um padrão ser detectável por intermédio de meios automatizados, e propõe algumas regras pelas quais um conjunto de padrões possa ser identificado. As regras são baseadas nos relacionamentos entre classes e objetos mediante observação dos modelos estático e dinâmico. Este trabalho também documenta o desenvolvimento do protótipo da ferramenta de inspeção, que tem por objetivo aplicar os processos de engenharia reversa e reflexão computacional sobre código Java, utilizando as informações adquiridas para detectar padrões de projeto. Finalmente, esta tese demonstra a utilização dessa ferramenta em um exemplo pequeno de aplicação Java e forma a base para trabalhos adicionais que investiguem a existência de diferentes padrões de projeto em sistemas de software construídos em Java.
5

Inference rules for generic code migration of aspect-oriented programs

Rubbo, Fernando Barden January 2009 (has links)
The latest versions of AspectJ { the most popular aspect oriented extension for Java { must cope with complex changes that occurred in the Java type system, specially with the parametric polymorphism which aims to improve the type safety and the readability of the source code. However, for legacy and non-generic constructions to take advantage of this pervasive feature, they must be migrated to explicitly supply actual type parameters in both declarations and instantiations of generic classes. Even though the type systems of Java and AspectJ were designed to support this kind of migration in a gradual way, this process is somewhat complex and error prone. The reason behind this assertion is that actual type parameters must be inferred to remove as much unsafe downcasts as possible without a ecting the original semantics of the program. Therefore, tools are essential to minimize the e ort of a manual application of the refactoring steps and to prevent the introduction of new errors. Since current automated solutions focus only on Java programs, they do not consider the use of aspects to encapsulate crosscutting concerns. Thus, this dissertation proposes a novel collection of inference rules to derive type constraints for the polymorphic version of AspectJ. These rules were used together with an existing generic migration algorithm to enable the conversion of non-generic legacy code to add actual type parameters in both Java and AspectJ languages.
6

Inference rules for generic code migration of aspect-oriented programs

Rubbo, Fernando Barden January 2009 (has links)
The latest versions of AspectJ { the most popular aspect oriented extension for Java { must cope with complex changes that occurred in the Java type system, specially with the parametric polymorphism which aims to improve the type safety and the readability of the source code. However, for legacy and non-generic constructions to take advantage of this pervasive feature, they must be migrated to explicitly supply actual type parameters in both declarations and instantiations of generic classes. Even though the type systems of Java and AspectJ were designed to support this kind of migration in a gradual way, this process is somewhat complex and error prone. The reason behind this assertion is that actual type parameters must be inferred to remove as much unsafe downcasts as possible without a ecting the original semantics of the program. Therefore, tools are essential to minimize the e ort of a manual application of the refactoring steps and to prevent the introduction of new errors. Since current automated solutions focus only on Java programs, they do not consider the use of aspects to encapsulate crosscutting concerns. Thus, this dissertation proposes a novel collection of inference rules to derive type constraints for the polymorphic version of AspectJ. These rules were used together with an existing generic migration algorithm to enable the conversion of non-generic legacy code to add actual type parameters in both Java and AspectJ languages.
7

Improving the search for refactoring opportunities on object-oriented and aspect-oriented software / Melhorando a busca por oportunidades de refatoração em software orientado a objetos e orientado a aspectos

Piveta, Eduardo Kessler January 2009 (has links)
Refatoração é o processo de melhorar o projeto de sistemas de software sem modificar seu comportamento externamente observável. O processo de refatoração pode auxiliar a incrementalmente melhorar a qualidade de software de um sistema através da aplicação de transformações que preservam comportamento chamadas de padrões de refatoração. O principal objetivo da pesquisa que esta tese descreve é prover um processo detalhado para refatoração, incluindo mecanismos para (i) seleção e criação de modelos de qualidade, padrões de refatoração e funções heurísticas, (ii) a busca e priorização de oportunidades de refatoração, (iii) a avaliação dos efeitos da refatoração na qualidade de software e (iv) a análise de vantagens e desvantagens e a aplicação de padrões de refatoração. Para exemplificar como os mecanismos propostos funcionam e como o processo pode ser usado, diferentes estudos de caso são usados ao longo da tese. A seleção dos padrões de refatoração, dos modelos de qualidade e das funções heurísticas são exemplificados para software orientado a objetos, bem como os mecanismos de busca e priorização. A avaliação dos efeitos da refatoração na qualidade de software, a análise de vantagens e desvantagens e a aplicação de padrões de refatoração são discutidos no contexto de programação orientada a aspectos. Além da definição de um processo de refatoração, um conjunto adicional de contribuições desta tese são: (i) a definição de uma abordagem para a seleção e ranking de padrões de refatoração baseada no AHP (Analytic Hierarchy Process), (ii) uma abordagem para reduzir o espaço de busca para oportunidades de refatoração ao manipular refatorações sucessivas, (iii) a definição de mecanismos de busca para oportunidades de refatoração, (iv) uma abordagem para avaliar os efeitos de refatoração na qualidade de software, (v) um catálogo de problemas encontrados em software orientado a aspectos e seus padrões de refatoração associados, e também um conjunto de recomendações para evitar estes problemas e (vi) um estudo de métricas orientadas a aspectos, incluindo a sua definição formal, avaliação analítica e interpretação de dados. / Refactoring is the process of improving the design of software systems without changing their externally observable behaviour. Refactoring can help to incrementally improve the quality of a software system through the application of behavioural preserving transformations called refactoring patterns. The main goal of the research this thesis reports is to provide a detailed process for refactoring, including mechanism for (i) the selection and creation of quality models, the selection of refactoring patterns, and the creation and use of heuristic rules, (ii) the search for refactoring opportunities and prioritisation, (iii) the assessment of the effects of refactoring on software quality, and (iv) the trade-off analysis and the application of refactoring patterns. To exemplify how the approach works and how the process can be used, different case studies are being used throughout the thesis. The selection of refactoring patterns, quality models and heuristic rules, and the search and prioritisation mechanisms are exemplified for object-oriented software. The assessment of refactoring effects on software quality, the trade-off analysis and the application of refactoring patterns are discussed in the context of aspect-oriented programming. Besides the definition of a refactoring process, a set of additional contributions of this thesis are (i) the definition of an approach for the selection and ranking of refactoring patterns, (ii) an approach for reducing the search space for refactoring opportunities when dealing with successive refactoring, (iii) the definition of search mechanisms for refactoring opportunities, (iv) an approach to evaluate the effects of refactoring on software quality, (v) a catalogue of shortcomings in aspect-oriented software and their related refactoring patterns, and (vi) an study of metrics for aspect-oriented software, including their formal definition, analytical evaluation and data interpretation.
8

Improving the search for refactoring opportunities on object-oriented and aspect-oriented software / Melhorando a busca por oportunidades de refatoração em software orientado a objetos e orientado a aspectos

Piveta, Eduardo Kessler January 2009 (has links)
Refatoração é o processo de melhorar o projeto de sistemas de software sem modificar seu comportamento externamente observável. O processo de refatoração pode auxiliar a incrementalmente melhorar a qualidade de software de um sistema através da aplicação de transformações que preservam comportamento chamadas de padrões de refatoração. O principal objetivo da pesquisa que esta tese descreve é prover um processo detalhado para refatoração, incluindo mecanismos para (i) seleção e criação de modelos de qualidade, padrões de refatoração e funções heurísticas, (ii) a busca e priorização de oportunidades de refatoração, (iii) a avaliação dos efeitos da refatoração na qualidade de software e (iv) a análise de vantagens e desvantagens e a aplicação de padrões de refatoração. Para exemplificar como os mecanismos propostos funcionam e como o processo pode ser usado, diferentes estudos de caso são usados ao longo da tese. A seleção dos padrões de refatoração, dos modelos de qualidade e das funções heurísticas são exemplificados para software orientado a objetos, bem como os mecanismos de busca e priorização. A avaliação dos efeitos da refatoração na qualidade de software, a análise de vantagens e desvantagens e a aplicação de padrões de refatoração são discutidos no contexto de programação orientada a aspectos. Além da definição de um processo de refatoração, um conjunto adicional de contribuições desta tese são: (i) a definição de uma abordagem para a seleção e ranking de padrões de refatoração baseada no AHP (Analytic Hierarchy Process), (ii) uma abordagem para reduzir o espaço de busca para oportunidades de refatoração ao manipular refatorações sucessivas, (iii) a definição de mecanismos de busca para oportunidades de refatoração, (iv) uma abordagem para avaliar os efeitos de refatoração na qualidade de software, (v) um catálogo de problemas encontrados em software orientado a aspectos e seus padrões de refatoração associados, e também um conjunto de recomendações para evitar estes problemas e (vi) um estudo de métricas orientadas a aspectos, incluindo a sua definição formal, avaliação analítica e interpretação de dados. / Refactoring is the process of improving the design of software systems without changing their externally observable behaviour. Refactoring can help to incrementally improve the quality of a software system through the application of behavioural preserving transformations called refactoring patterns. The main goal of the research this thesis reports is to provide a detailed process for refactoring, including mechanism for (i) the selection and creation of quality models, the selection of refactoring patterns, and the creation and use of heuristic rules, (ii) the search for refactoring opportunities and prioritisation, (iii) the assessment of the effects of refactoring on software quality, and (iv) the trade-off analysis and the application of refactoring patterns. To exemplify how the approach works and how the process can be used, different case studies are being used throughout the thesis. The selection of refactoring patterns, quality models and heuristic rules, and the search and prioritisation mechanisms are exemplified for object-oriented software. The assessment of refactoring effects on software quality, the trade-off analysis and the application of refactoring patterns are discussed in the context of aspect-oriented programming. Besides the definition of a refactoring process, a set of additional contributions of this thesis are (i) the definition of an approach for the selection and ranking of refactoring patterns, (ii) an approach for reducing the search space for refactoring opportunities when dealing with successive refactoring, (iii) the definition of search mechanisms for refactoring opportunities, (iv) an approach to evaluate the effects of refactoring on software quality, (v) a catalogue of shortcomings in aspect-oriented software and their related refactoring patterns, and (vi) an study of metrics for aspect-oriented software, including their formal definition, analytical evaluation and data interpretation.
9

Improving the search for refactoring opportunities on object-oriented and aspect-oriented software / Melhorando a busca por oportunidades de refatoração em software orientado a objetos e orientado a aspectos

Piveta, Eduardo Kessler January 2009 (has links)
Refatoração é o processo de melhorar o projeto de sistemas de software sem modificar seu comportamento externamente observável. O processo de refatoração pode auxiliar a incrementalmente melhorar a qualidade de software de um sistema através da aplicação de transformações que preservam comportamento chamadas de padrões de refatoração. O principal objetivo da pesquisa que esta tese descreve é prover um processo detalhado para refatoração, incluindo mecanismos para (i) seleção e criação de modelos de qualidade, padrões de refatoração e funções heurísticas, (ii) a busca e priorização de oportunidades de refatoração, (iii) a avaliação dos efeitos da refatoração na qualidade de software e (iv) a análise de vantagens e desvantagens e a aplicação de padrões de refatoração. Para exemplificar como os mecanismos propostos funcionam e como o processo pode ser usado, diferentes estudos de caso são usados ao longo da tese. A seleção dos padrões de refatoração, dos modelos de qualidade e das funções heurísticas são exemplificados para software orientado a objetos, bem como os mecanismos de busca e priorização. A avaliação dos efeitos da refatoração na qualidade de software, a análise de vantagens e desvantagens e a aplicação de padrões de refatoração são discutidos no contexto de programação orientada a aspectos. Além da definição de um processo de refatoração, um conjunto adicional de contribuições desta tese são: (i) a definição de uma abordagem para a seleção e ranking de padrões de refatoração baseada no AHP (Analytic Hierarchy Process), (ii) uma abordagem para reduzir o espaço de busca para oportunidades de refatoração ao manipular refatorações sucessivas, (iii) a definição de mecanismos de busca para oportunidades de refatoração, (iv) uma abordagem para avaliar os efeitos de refatoração na qualidade de software, (v) um catálogo de problemas encontrados em software orientado a aspectos e seus padrões de refatoração associados, e também um conjunto de recomendações para evitar estes problemas e (vi) um estudo de métricas orientadas a aspectos, incluindo a sua definição formal, avaliação analítica e interpretação de dados. / Refactoring is the process of improving the design of software systems without changing their externally observable behaviour. Refactoring can help to incrementally improve the quality of a software system through the application of behavioural preserving transformations called refactoring patterns. The main goal of the research this thesis reports is to provide a detailed process for refactoring, including mechanism for (i) the selection and creation of quality models, the selection of refactoring patterns, and the creation and use of heuristic rules, (ii) the search for refactoring opportunities and prioritisation, (iii) the assessment of the effects of refactoring on software quality, and (iv) the trade-off analysis and the application of refactoring patterns. To exemplify how the approach works and how the process can be used, different case studies are being used throughout the thesis. The selection of refactoring patterns, quality models and heuristic rules, and the search and prioritisation mechanisms are exemplified for object-oriented software. The assessment of refactoring effects on software quality, the trade-off analysis and the application of refactoring patterns are discussed in the context of aspect-oriented programming. Besides the definition of a refactoring process, a set of additional contributions of this thesis are (i) the definition of an approach for the selection and ranking of refactoring patterns, (ii) an approach for reducing the search space for refactoring opportunities when dealing with successive refactoring, (iii) the definition of search mechanisms for refactoring opportunities, (iv) an approach to evaluate the effects of refactoring on software quality, (v) a catalogue of shortcomings in aspect-oriented software and their related refactoring patterns, and (vi) an study of metrics for aspect-oriented software, including their formal definition, analytical evaluation and data interpretation.

Page generated in 0.0923 seconds