• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 35
  • 9
  • 2
  • 1
  • 1
  • Tagged with
  • 56
  • 56
  • 40
  • 21
  • 14
  • 13
  • 9
  • 8
  • 8
  • 7
  • 7
  • 7
  • 7
  • 6
  • 6
  • 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.
41

A model checker for the LF system

Gerber, Erick D. B. 03 1900 (has links)
Thesis (MSc)--University of Stellenbosch, 2007. / ENGLISH ABSTRACT: Computer aided veri cation techniques, such as model checking, can be used to improve the reliability of software. Model checking is an algorithmic approach to illustrate the correctness of temporal logic speci cations in the formal description of hardware and software systems. In contrast to traditional testing tools, model checking relies on an exhaustive search of all the possible con gurations that these systems may exhibit. Traditionally model checking is applied to abstract or high level designs of software. However, often interpreting or translating these abstract designs to implementations introduce subtle errors. In recent years one trend in model checking has been to apply the model checking algorithm directly to the implementations instead. This thesis is concerned with building an e cient model checker for a small concurrent langauge developed at the University of Stellenbosch. This special purpose langauge, LF, is aimed at developement of small embedded systems. The design of the language was carefully considered to promote safe programming practices. Furthermore, the language and its runtime support system was designed to allow directly model checking LF programs. To achieve this, the model checker extends the existing runtime support infrastructure to generate the state space of an executing LF program. / AFRIKAANSE OPSOMMING: Rekenaar gebaseerde program toetsing, soos modeltoetsing, kan gebruik word om die betroubaarheid van sagteware te verbeter. Model toetsing is 'n algoritmiese benadering om die korrektheid van temporale logika spesi kasies in die beskrywing van harde- of sagteware te bewys. Anders as met tradisionlee program toetsing, benodig modeltoetsing 'n volledige ondersoek van al die moontlike toestande waarin so 'n beskrywing homself kan bevind. Model toetsing word meestal op abstrakte modelle van sagteware of die ontwerp toegepas. Indien die ontwerp of model aan al die spesi kasies voldoen word die abstrakte model gewoontlik vertaal na 'n implementasie. Die vertalings proses word gewoontlik met die hand gedoen en laat ruimte om nuwe foute, en selfs foute wat uitgeskakel in die model of ontwerp is te veroorsaak. Deesdae, is 'n gewilde benadering tot modeltoetsing om di e tegnieke direk op die implementasie toe te pas, en sodoende die ekstra moeite van model konstruksie en vertaling uit te skakel. Hierdie tesis handel oor die ontwerp, implementasie en toetsing van 'n e ektiewe modeltoetser vir 'n klein gelyklopende taal, LF, wat by die Universiteit van Stellenbosch ontwikkel is. Die enkeldoelige taal, LF, is gemik op die veilige ontwikkeling van ingebedde sagteware. Die taal is ontwerp om veilige programmerings praktyke aan te moedig. Verder is die taal en die onderliggende bedryfstelsel so ontwerp om 'n model toetser te akkomodeer. Om die LF programme direk te kan toets, is die model toetser 'n integrale deel van die bedryfstelsel sodat dit die program kan aandryf om alle moontlike toestande te besoek.
42

Avaliação comparativa entre técnicas de programação defensiva aplicadas a um sistema crítico simulado. / Comparative evaluation among defensive programming techniques applied in a critical system simulated.

Zumalde, Alex Ander Javarotti 05 May 2011 (has links)
A introdução de software em sistemas de aplicações críticas traz consigo questões relacionadas à segurança (safety) que, durante muito tempo recaíram predominantemente sobre o desenvolvimento do hardware que compunha tais sistemas. Atualmente, padrões relacionados à segurança de software avaliam qualitativamente o impacto do seu uso sobre sistemas suscetíveis a falhas de natureza randômica. A pesquisa aqui desenvolvida visa, em complemento a outras investigações já realizadas, avaliar quantitativamente diversas técnicas de programação defensiva em função de sua representatividade no quesito segurança de sistemas de aplicação crítica tolerantes a erros. Como objetivo essencial, buscou-se avaliar o comportamento adquirido por um sistema tolerante a erros quando submetido a um processo de injeção de falhas por software. A tolerância a erros do sistema de aplicação crítica em estudo é alcançada, através de técnicas de programação defensiva aplicadas ao software original. Foram aplicadas diversas técnicas de programação defensiva e diversas combinações entre elas, de modo que foi possível avaliar quantitativamente e identificar possíveis padrões de níveis de segurança adquiridos em cada caso. / The introduction of software systems for critical applications raises safety issues that have long fell predominantly on the development of the hardware composing such systems. Currently, standards related to safety software qualitatively assess the impact of their use on systems sensitive to random errors. The research developed here seeks, in addition to other previous investigations, to quantitatively evaluate different techniques of defensive programming in function of their safety level in fault-tolerant safety critical systems. As a key objective, we sought to evaluate the behavior acquired by a fault-tolerant system when subjected to a software fault injection process. The fault-tolerance system, in a typical critical application under study, is achieved through the application of defensive programming techniques over the original software. Many defensive programming techniques and various combinations among them were applied, hence making it possible to quantitatively assess and identify possible patterns of safety levels acquired in each case.
43

Avaliação comparativa entre técnicas de programação defensiva aplicadas a um sistema crítico simulado. / Comparative evaluation among defensive programming techniques applied in a critical system simulated.

Alex Ander Javarotti Zumalde 05 May 2011 (has links)
A introdução de software em sistemas de aplicações críticas traz consigo questões relacionadas à segurança (safety) que, durante muito tempo recaíram predominantemente sobre o desenvolvimento do hardware que compunha tais sistemas. Atualmente, padrões relacionados à segurança de software avaliam qualitativamente o impacto do seu uso sobre sistemas suscetíveis a falhas de natureza randômica. A pesquisa aqui desenvolvida visa, em complemento a outras investigações já realizadas, avaliar quantitativamente diversas técnicas de programação defensiva em função de sua representatividade no quesito segurança de sistemas de aplicação crítica tolerantes a erros. Como objetivo essencial, buscou-se avaliar o comportamento adquirido por um sistema tolerante a erros quando submetido a um processo de injeção de falhas por software. A tolerância a erros do sistema de aplicação crítica em estudo é alcançada, através de técnicas de programação defensiva aplicadas ao software original. Foram aplicadas diversas técnicas de programação defensiva e diversas combinações entre elas, de modo que foi possível avaliar quantitativamente e identificar possíveis padrões de níveis de segurança adquiridos em cada caso. / The introduction of software systems for critical applications raises safety issues that have long fell predominantly on the development of the hardware composing such systems. Currently, standards related to safety software qualitatively assess the impact of their use on systems sensitive to random errors. The research developed here seeks, in addition to other previous investigations, to quantitatively evaluate different techniques of defensive programming in function of their safety level in fault-tolerant safety critical systems. As a key objective, we sought to evaluate the behavior acquired by a fault-tolerant system when subjected to a software fault injection process. The fault-tolerance system, in a typical critical application under study, is achieved through the application of defensive programming techniques over the original software. Many defensive programming techniques and various combinations among them were applied, hence making it possible to quantitatively assess and identify possible patterns of safety levels acquired in each case.
44

Software architecture evaluation for framework-based systems.

Zhu, Liming, Computer Science & Engineering, Faculty of Engineering, UNSW January 2007 (has links)
Complex modern software is often built using existing application frameworks and middleware frameworks. These frameworks provide useful common services, while simultaneously imposing architectural rules and constraints. Existing software architecture evaluation methods do not explicitly consider the implications of these frameworks for software architecture. This research extends scenario-based architecture evaluation methods by incorporating framework-related information into different evaluation activities. I propose four techniques which target four different activities within a scenario-based architecture evaluation method. 1) Scenario development: A new technique was designed aiming to extract general scenarios and tactics from framework-related architectural patterns. The technique is intended to complement the current scenario development process. The feasibility of the technique was validated through a case study. Significant improvements of scenario quality were observed in a controlled experiment conducted by another colleague. 2) Architecture representation: A new metrics-driven technique was created to reconstruct software architecture in a just-in-time fashion. This technique was validated in a case study. This approach has significantly improved the efficiency of architecture representation in a complex environment. 3) Attribute specific analysis (performance only): A model-driven approach to performance measurement was applied by decoupling framework-specific information from performance testing requirements. This technique was validated on two platforms (J2EE and Web Services) through a number of case studies. This technique leads to the benchmark producing more representative measures of the eventual application. It reduces the complexity behind the load testing suite and framework-specific performance data collecting utilities. 4) Trade-off and sensitivity analysis: A new technique was designed seeking to improve the Analytical Hierarchical Process (AHP) for trade-off and sensitivity analysis during a framework selection process. This approach was validated in a case study using data from a commercial project. The approach can identify 1) trade-offs implied by an architecture alternative, along with the magnitude of these trade-offs. 2) the most critical decisions in the overall decision process 3) the sensitivity of the final decision and its capability for handling quality attribute priority changes.
45

Mining Software Repositories to Assist Developers and Support Managers

Hassan, Ahmed January 2004 (has links)
This thesis explores mining the evolutionary history of a software system to support software developers and managers in their endeavors to build and maintain complex software systems. We introduce the idea of evolutionary extractors which are specialized extractors that can recover the history of software projects from software repositories, such as source control systems. The challenges faced in building C-REX, an evolutionary extractor for the C programming language, are discussed. We examine the use of source control systems in industry and the quality of the recovered C-REX data through a survey of several software practitioners. Using the data recovered by C-REX, we develop several approaches and techniques to assist developers and managers in their activities. We propose <em>Source Sticky Notes</em> to assist developers in understanding legacy software systems by attaching historical information to the dependency graph. We present the <em>Development Replay</em> approach to estimate the benefits of adopting new software maintenance tools by reenacting the development history. We propose the <em>Top Ten List</em> which assists managers in allocating testing resources to the subsystems that are most susceptible to have faults. To assist managers in improving the quality of their projects, we present a complexity metric which quantifies the complexity of the changes to the code instead of quantifying the complexity of the source code itself. All presented approaches are validated empirically using data from several large open source systems. The presented work highlights the benefits of transforming software repositories from static record keeping repositories to active repositories used by researchers to gain empirically based understanding of software development, and by software practitioners to predict, plan and understand various aspects of their project.
46

Mining Software Repositories to Assist Developers and Support Managers

Hassan, Ahmed January 2004 (has links)
This thesis explores mining the evolutionary history of a software system to support software developers and managers in their endeavors to build and maintain complex software systems. We introduce the idea of evolutionary extractors which are specialized extractors that can recover the history of software projects from software repositories, such as source control systems. The challenges faced in building C-REX, an evolutionary extractor for the C programming language, are discussed. We examine the use of source control systems in industry and the quality of the recovered C-REX data through a survey of several software practitioners. Using the data recovered by C-REX, we develop several approaches and techniques to assist developers and managers in their activities. We propose <em>Source Sticky Notes</em> to assist developers in understanding legacy software systems by attaching historical information to the dependency graph. We present the <em>Development Replay</em> approach to estimate the benefits of adopting new software maintenance tools by reenacting the development history. We propose the <em>Top Ten List</em> which assists managers in allocating testing resources to the subsystems that are most susceptible to have faults. To assist managers in improving the quality of their projects, we present a complexity metric which quantifies the complexity of the changes to the code instead of quantifying the complexity of the source code itself. All presented approaches are validated empirically using data from several large open source systems. The presented work highlights the benefits of transforming software repositories from static record keeping repositories to active repositories used by researchers to gain empirically based understanding of software development, and by software practitioners to predict, plan and understand various aspects of their project.
47

Ações atomicas coordenadas na plataforma Java EE / Coordinated atomic actions in Java EE platform

Santos, Peterson Peixoto dos 15 August 2018 (has links)
Orientador: Cecilia Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-15T17:42:34Z (GMT). No. of bitstreams: 1 Santos_PetersonPeixotodos_M.pdf: 1073315 bytes, checksum: 7071b3cca814f678b2dae606f78f6eff (MD5) Previous issue date: 2010 / Resumo: À medida que os sistemas de software evoluem, precisam garantir requisitos funcionais e de qualidade cada vez mais complexos e com maior rigor de qualidade. Nos _últimos anos, várias abordagens e ferramentas t^em sido propostas para guiar o processo de desenvolvimento de software visando atingir altos níveis de qualidade. O Desenvolvimento Baseado em Componentes (DBC) _e uma das técnicas mais bem aceitas tanto na indústria quanto no meio acadêmico e se propõe a compor sistemas de software a partir de componentes reutilizáveis já prontos e, se possível, de uma relativamente pequena quantidade de linhas de código específicas para a aplicação. Existem diversas plataformas para DBC, das quais Java Enterprise Edition (Java EE) _e uma das mais populares. Por outro lado, tolerância a falhas _e uma das abordagens mais empregadas para construir sistemas que consigam prover seus serviços especificados mesmo na presença de diferentes tipos de falhas de forma a atingir os níveis desejados de confiabilidade. O conceito de Ação Atômica Coordenada (CA Action) foi proposto para prover tolerância a falhas em sistemas concorrentes orientados a objetos, integrando os conceitos complementares de conversação (concorrência cooperativa) e transação atômica (concorrência competitiva) e estabelecendo uma semântica para tratamento de exceções concorrentes (exceções lançadas simultaneamente por threads concorrentes) além de dar suporte ao uso conjunto de recuperação de erro por avanço e por retrocesso. A proposta deste trabalho _e acrescentar _a plataforma de desenvolvimento baseado em componentes Java Enterprise Edition (Java EE) alguns mecanismos de tolerância a falhas propostos pelo conceito de CA Action. A implementação da solução proposta foi baseada em Java, programação orientada a aspectos e no conceito de comunicação assíncrona implementada pelos componentes message-driven beans da plataforma Java Enterprise Edition. A solução foi avaliada através da construção de 2 estudos de caso: (i) uma aplicação JBoss baseada em message-driven beans e (ii) um sistema real de faturamento de energia elétrica. Desta forma, procuramos demonstrar a factibilidade de proporcionar mecanismos simples para adaptações permitindo que aplicações desta plataforma possam usufruir de mais benefícios de tolerância a falhas sem grandes modificações em seu código fonte já previamente implementado e implantado / Abstract: As software systems evolve, they should provide stronger functional and quality requirements. In the last years, many diferent approaches and tools have been proposed to guide software development process aiming to achieve higher quality levels. Component-Based Development (CBD) is one of the most accepted techniques in the academy as well as in the industry and proposes to build software systems from pre-existing reusable components and, if possible, a relative low quantity of application specific glue code. There are many CBD platforms and Java Enterprise Edition (Java EE) is one of the most popular. Fault tolerance is one of the most adopted means to build up systems that are capable of providing their intended service, even if only partially, when faults occur, so as the desired reliability levels be achieved. The Coordinated Atomic Action (CA Action) concept was proposed to provide fault tolerance in concurrent object-oriented software systems and to integrate two complementary concepts, conversations (cooperative concurrency) and transactions (competitive concurrency). It establishes a semantic for concurrent exception handling and also supports the combined use of forward and backward error recovery. This work proposes to extend the component-based development platform Java Enterprise Edition (Java EE) with some of the fault tolerance means proposed by CA Action's concept by incorporating a concurrent exception handling mechanism to the platform. The proposed solution implementation was based on Java, aspect oriented programming and on the asynchronous communication concept implemented by Java EE message-driven bean components. The solution was assessed by two case studies: (i) a JBoss application based on message-driven beans and (ii) a real billing system for electric power companies by which we try to demonstrate the feasibility of providing simple means for adapting Java Enterprise Edition applications in a way that they could appropriate more fault tolerance benefits without big changes in their previously implemented and deployed source code / Mestrado / Engenharia de Software / Mestre em Ciência da Computação
48

Método Ágil aplicado ao desenvolvimento de software confiável baseado em componentes / Reliable component-based software development with Agile Method

Braz, Alan, 1980- 23 August 2018 (has links)
Orientador: Cecília Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-23T09:09:24Z (GMT). No. of bitstreams: 1 Braz_Alan_M.pdf: 1903353 bytes, checksum: 9bff9aefdcc11d6d8fe46490302d6291 (MD5) Previous issue date: 2013 / Resumo: Os Métodos Ágeis, ou Desenvolvimento Ágil de Software (DAS), tem se popularizado, na última década, por meio de métodos como Extreme Programming (XP) e Scrum e isso fez com que fossem aplicadas no desenvolvimento de sistemas computacionais de diversos tamanhos, complexidades técnica e de domínio, e de rigor quanto à confiabilidade. Esse fato evidencia a necessidade de processos de desenvolvimento de software que sejam mais rigorosos e que possuam uma quantidade adequada de modelagem e documentação, em especial no que concerne ao projeto arquitetural, com o objetivo de garantir maior qualidade no seu resultado final. A confiabilidade pode ser alcançada adicionando elementos de tratamento de exceções às fases iniciais do processo de desenvolvimento e à reutilização de componentes. O tratamento de exceções tem sido uma técnica muito utilizada na verificação e na depuração de erros em sistemas de software. O MDCE+ é um método que auxilia a modelagem do comportamento excepcional de sistemas baseados em componentes que, por ser centrado na arquitetura, melhora a definição e a análise do fluxo de exceções entre os componentes do sistema. Este trabalho propõe uma solução para guiar o desenvolvimento de sistemas confiáveis baseados em componentes por meio da adição de práticas do MDCE+ ao Scrum, resultando no método Scrum+CE (Scrum com Comportamento Excepcional). Esse processo passa a expor os requisitos excepcionais em nível das Estórias de Usuário, adiciona testes de aceitação mais detalhados, obriga a criação do artefato de Arquitetura Inicial e adiciona um novo papel de Dono da Arquitetura. Como forma de avaliar esse método proposto, foi realizado um experimento controlado com três equipes, que desenvolveram um sistema com requisitos de confiabilidade, utilizando Scrum e Scrum+CE. Foram coletadas métricas para comparar a eficiência do novo processo e o resultado obtido, com a utilização do Scrum+CE, foi à produção de software com melhor qualidade, porém com menor número de funcionalidades / Abstract: Agile Software Development (ASD) has been on mainstream through methodologies such as Extreme Programming (XP) and Scrum in the last decade enabling them to be applied in the development of computer systems of various size, technical and domain complexity and degress of reliability. This fact highlights the need for software development processes that are accurate and have an adequate amount of modeling and documentation, especially regarding the architectural design, aiming to increase the quality of the end result. The reliability can be achieved by adding elements of exception handling at early stages of development and through components reuse. Exception handling has been a widely used technique in detecting and fixing errors in software systems. The MDCE+ is a method that assists exceptional behavior modeling at components based systems, which is architecture-centric what improves the definition and flow analysis of exceptions between system components. This paper proposes a solution to guide the development of reliable systems based on components by adding MDCE+ practices to Scrum, resulting in the Scrum+CE method (Scrum with Exceptional Behavior). This process exposes the exceptional requirements, at the User Stories level, documents acceptance tests with more details, requires the creation of a high-level architecture artifact and adds a new role of Architecture Owner. In order to evaluate this proposed method, a controlled experiment was conducted with three teams, who developed a system with reliability requirements using Scrum and Scrum+CE. We collected metrics to compare the efficiency of the new process and the result was the production of software with better quality but with less features using Scrum+CE / Mestrado / Ciência da Computação / Mestre em Ciência da Computação
49

Application of Hazard and Operability (HAZOP) Methodology to Safety-Related Scientific Software

Gupta, Jatin 02 October 2014 (has links)
No description available.
50

Statistical Estimation of Software Reliability and Failure-causing Effect

Shu, Gang 02 September 2014 (has links)
No description available.

Page generated in 0.0454 seconds