10 research outputs found

    Uso de riscos na validação de sistemas baseados em componentes

    Get PDF
    Orientadores: Eliane Martins, Henrique Santos do Carmo MadeiraTese (doutorado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: A sociedade moderna está cada vez mais dependente dos serviços prestados pelos computadores e, conseqüentemente, dependente do software que está sendo executado para prover estes serviços. Considerando a tendência crescente do desenvolvimento de produtos de software utilizando componentes reutilizáveis, a dependabilidade do software, ou seja, a segurança de que o software irá funcionar adequadamente, recai na dependabilidade dos componentes que são integrados. Os componentes são normalmente adquiridos de terceiros ou produzidos por outras equipes de desenvolvimento. Dessa forma, os critérios utilizados na fase de testes dos componentes dificilmente estão disponíveis. A falta desta informação aliada ao fato de se estar utilizando um componente que não foi produzido para o sistema e o ambiente computacional específico faz com que a reutilização de componentes apresente um risco para o sistema que os integra. Estudos tradicionais do risco de um componente de software definem dois fatores que caracteriza o risco, a probabilidade de existir uma falha no componente e o impacto que isso causa no sistema computacional. Este trabalho propõe o uso da análise do risco para selecionar pontos de injeção e monitoração para campanhas de injeção de falhas. Também propõe uma abordagem experimental para a avaliação do risco de um componente para um sistema. Para se estimar a probabilidade de existir uma falha no componente, métricas de software foram combinadas num modelo estatístico. O impacto da manifestação de uma falha no sistema foi estimado experimentalmente utilizando a injeção de falhas. Considerando esta abordagem, a avaliação do risco se torna genérica e repetível embasando-se em medidas bem definidas. Dessa forma, a metodologia pode ser utilizada como um benchmark de componentes quanto ao risco e pode ser utilizada quando é preciso escolher o melhor componente para um sistema computacional, entre os vários componentes que provêem a mesma funcionalidade. Os resultados obtidos na aplicação desta abordagem em estudos de casos nos permitiram escolher o melhor componente, considerando diversos objetivos e necessidades dos usuáriosAbstract: Today's societies have become increasingly dependent on information services. A corollary is that we have also become increasingly dependent on computer software products that provide such services. The increasing tendency of software development to employ reusable components means that software dependability has become even more reliant on the dependability of integrated components. Components are usually acquired from third parties or developed by unknown development teams. In this way, the criteria employed in the testing phase of components-based systems are hardly ever been available. This lack of information, coupled with the use of components that are not specifically developed for a particular system and computational environment, makes components reutilization risky for the integrating system. Traditional studies on the risk of software components suggest that two aspects must be considered when risk assessment tests are performed, namely the probability of residual fault in software component, and the probability of such fault activation and impact on the computational system. The present work proposes the use of risk analysis to select the injection and monitoring points for fault injection campaigns. It also proposes an experimental approach to evaluate the risk a particular component may represent to a system. In order to determine the probability of a residual fault in the component, software metrics are combined in a statistical mode!. The impact of fault activation is estimated using fault injection. Through this experimental approach, risk evaluation becomes replicable and buttressed on well-defined measurements. In this way, the methodology can be used as a components' risk benchmark, and can be employed when it is necessary to choose the most suitable among several functionally-similar components for a particular computational system. The results obtained in the application of this approach to specific case studies allowed us to choose the best component in each case, without jeopardizing the diverse objectives and needs of their usersDoutoradoDoutor em Ciência da Computaçã

    Sixth Goddard Conference on Mass Storage Systems and Technologies Held in Cooperation with the Fifteenth IEEE Symposium on Mass Storage Systems

    Get PDF
    This document contains copies of those technical papers received in time for publication prior to the Sixth Goddard Conference on Mass Storage Systems and Technologies which is being held in cooperation with the Fifteenth IEEE Symposium on Mass Storage Systems at the University of Maryland-University College Inn and Conference Center March 23-26, 1998. As one of an ongoing series, this Conference continues to provide a forum for discussion of issues relevant to the management of large volumes of data. The Conference encourages all interested organizations to discuss long term mass storage requirements and experiences in fielding solutions. Emphasis is on current and future practical solutions addressing issues in data management, storage systems and media, data acquisition, long term retention of data, and data distribution. This year's discussion topics include architecture, tape optimization, new technology, performance, standards, site reports, vendor solutions. Tutorials will be available on shared file systems, file system backups, data mining, and the dynamics of obsolescence

    Technology 2002: The Third National Technology Transfer Conference and Exposition, volume 2

    Get PDF
    Proceedings from symposia of the Technology 2002 Conference and Exposition, December 1-3, 1992, Baltimore, MD. Volume 2 features 60 papers presented during 30 concurrent sessions

    Ontology based data warehousing for mining of heterogeneous and multidimensional data sources

    Get PDF
    Heterogeneous and multidimensional big-data sources are virtually prevalent in all business environments. System and data analysts are unable to fast-track and access big-data sources. A robust and versatile data warehousing system is developed, integrating domain ontologies from multidimensional data sources. For example, petroleum digital ecosystems and digital oil field solutions, derived from big-data petroleum (information) systems, are in increasing demand in multibillion dollar resource businesses worldwide. This work is recognized by Industrial Electronic Society of IEEE and appeared in more than 50 international conference proceedings and journals

    An Architecture for the Compilation of Persistent Polymorphic Reflective Higher-Order Languages

    Get PDF
    Persistent Application Systems are potentially very large and long-lived application systems which use information technology: computers, communications, networks, software and databases. They are vital to the organisations that depend on them and have to be adaptable to organisational and technological changes and evolvable without serious interruption of service. Persistent Programming Languages are a promising technology that facilitate the task of incrementally building and maintaining persistent application systems. This thesis identifies a number of technical challenges in making persistent programming languages scalable, with adequate performance and sufficient longevity and in amortising costs by providing general services. A new architecture to support the compilation of long-lived, large-scale applications is proposed. This architecture comprises an intermediate language to be used by front-ends, high-level and machine independent optimisers, low-level optimisers and code generators of target machine code. The intermediate target language, TPL, has been designed to allow compiler writers to utilise common technology for several different orthogonally persistent higher-order reflective languages. The goal is to reuse optimisation and code-generation or interpretation technology with a variety of front-ends. A subsidiary goal is to provide an experimental framework for those investigating optimisation and code generation. TPL has a simple, clean type system and will support orthogonally persistent, reflective, higher-order, polymorphic languages. TPL allows code generation and the abstraction over details of the underlying software and hardware layers. An experiment to build a prototype of the proposed architecture was designed, developed and evaluated. The experimental work includes a language processor and examples of its use are presented in this dissertation. The design space was covered by describing the implications of the goals of supporting the class of languages anticipated while ensuring long-term persistence of data and programs, and sufficient efficiency. For each of the goals, the design decisions were evaluated in face of the results

    Space Station data system analysis/architecture study. Task 1: Functional requirements definition, DR-5

    Get PDF
    The initial task in the Space Station Data System (SSDS) Analysis/Architecture Study is the definition of the functional and key performance requirements for the SSDS. The SSDS is the set of hardware and software, both on the ground and in space, that provides the basic data management services for Space Station customers and systems. The primary purpose of the requirements development activity was to provide a coordinated, documented requirements set as a basis for the system definition of the SSDS and for other subsequent study activities. These requirements should also prove useful to other Space Station activities in that they provide an indication of the scope of the information services and systems that will be needed in the Space Station program. The major results of the requirements development task are as follows: (1) identification of a conceptual topology and architecture for the end-to-end Space Station Information Systems (SSIS); (2) development of a complete set of functional requirements and design drivers for the SSIS; (3) development of functional requirements and key performance requirements for the Space Station Data System (SSDS); and (4) definition of an operating concept for the SSIS. The operating concept was developed both from a Space Station payload customer and operator perspective in order to allow a requirements practicality assessment

    Fault Injection Approach Based On Dependence Analysis

    No full text
    Fault Injection is used to validate a system in the presence of faults. Jaca, a software injection tool developed in previous work, is used to inject faults at interfaces between classes of a system written in Java. We present a strategy for fault injection validation based on dependence analysis. The dependence analysis approach is used to help in reducing the number of experiments necessary to cover the system's interfaces. For the experiments we used a system that consists of two integrated components, an ODBMS performance test benchmark, Wisconsin OO7 and an ODBMS, Ozone. The results of some experiments and their analysis are presented. © 2005 IEEE.2181188Arlat, J., Aguera, M., Amat, L., Crouzet, Y., Fabre, J.C., Laprie, J.C., Martins, E., Powell, D., Fault Injection for Dependability Validation-A Methodology and some Applications IEEE Transactions on Software Engineering, 16 (2), pp. 166-182. , Feb/1990Bach, J., Heuristic risk-based testing (1999) Software Testing and Quality Engineering Magazine, , NovCarey, M. J., DeWitt, D. J., Naughton, J. F.: The OO7 Benchmark. http://www.columbia.edu/, 1994, recovered Feb/2005Carreira, J., Madeira, H., Silva, J., Xception, G., Software Fault Injection and Monitoring in Processor Functional Units (1995) 5th IFIP International Working Conference on Dependable Computing for Critical Applications, pp. 135-149. , Urbana-Champaign, EUA, ppChen, Z., Xul, B., Zhao, J., An Overview of Methods for Dependence Analysis of Concurrent Programs ACM SIGPLAN Notices, 37 (8), pp. 45-52. , Aug/2002Chiba, Shigeru. Javassist - A Reflection-based Programming Wizard for Java. Proc of the ACM OOPSLA '98 Workshop on Reflective Programming in C++ and Java, Oct/1998Costa, D., Madeira, H., (1999) Experimental Assessment of COTS DBMS Robustness under Transient Faults, Pacific Rim Dependability Computing, , Hong KongCosta, D., Rilho, T., Madeira, H., Joint Evaluation of Performance and Robustness of a COTS DBMS through Fault Injection, , New York, DSN 2000De Millo, R. A., Li, T., Mathur, A. P.: Architecture of TAMER: A Tool for dependability analysis of distributed fault-tolerant systems, Purdue University, 1994Fetzer, C.Högstedt, K.Felber, P. Automatic Detection and Masking of Non-Atomic Exception Handling, proceedings of DSN 2003, pages 445/454, San Francisco, USA, June/2003Hsueh, Mei-Chen, Tsai, Timothy, Iyer, R.: Fault Injection Techniques and Tools. IEEE Computer, pp. 75-82, Apr/1997Koopman, P., Siewiorek, D., DeVale, K., DeVale, J., Fernsler, K., Guttendorf, D., Kropp, N., Pan, J., Shelton, C., Shi, Y.: Ballista Project:COTS Software Robustness Testing, Carnegie Mellon University, www.ece.cmu.edu/ ~koopman/ballista/, 2003Martins, E., Rubira, C. M. F., Lerne N.G.M.: Jaca: A reflective fault injection tool based on patterns. Proc of the 2002 Intern Conference on Dependable Systems & Networks, Washington D.C. USA, 23-267, pp. 483-487 June/2002Moraes, R, Martins, E.: Testing Component-based Applications in the Presence of Faults. Proc. of the 7th World Multi-conference on Systemic, CyberneticsMoraes, R., Martins, E., A Strategy for Validating an ODBMS Component Using a High-Level Software Fault Injection Tool (2003) Proc. of the First Latin-American Symposium, LADC, pp. 56-68. , São Paulo, BrazilMoraes, R., Martins, E., An Architecture-based Strategy for Interface Fault Injection (2004) Proc. International Conference no Dependable Systems and Networks, , Firenze, ItalyMoraes, R., Martins, E., Fault Injection Approach based on Architectural Dependences. Architecting Dependable Systems III, Lecture Notes in Computer Science, Springer-Verlag Berlin Heidelberg New York to appear(2004) Ozone, Object Oriented Database Management System, , www.ozone-db.orgPressman, R.S., (1997) Software Engineering a Practitioner Approach, , 4 th edition, Me Graw HullRosenberg, L., Stapko, R., Gallo, A., Risk-based Object Oriented Testing (2000) 13th International Software / Internet Quality Week (QW2000), , San Francisco, California USASherer, S.A., A Cost-Effective Approach to Testing (1991) IEEE Software, , MarchStafford, J. A., Richardson, D.J., Wolf, A.L.: Chainning: A Software Architecture Dependence Analysis Technique, Technical Report CU-CS845-97, Department of Computer Science, University of Colorado, September/1997Vieira, M., Madeira, H., Recovery and Performance Balance of COTS DBMS in Presence of Operator Fault. IPDS (2002), Bethesda, Washington DCVoas, J., McGraw, G., (1998) Software Fault Injection: Inoculating Programs against Errors, , John Wiley & Sons, New York, EUAVoas, J. (2003) Marrying Software Fault Injection Technology Results with Software Reliability Growth Models, Fast Abstract ISSRE 2003, Chillarege Pres

    Using Stratified Sampling For Fault Injection

    No full text
    In a previous work we validated an ODBMS component injecting errors in the application's interface. The aim was to observe the robustness of the component when the application that interacted with it failed. In this work we tackle the injection of errors directly into the interfaces among the target component's classes. As the component under test has several classes, we use stratified sampling to reduce the amount of injections without losing the ability to detect faults. Strata are defined based on a complexity metric, Weighted Methods in a Class - WMC. Experiments show that this metric alone is not sufficient to select strata for testing purposes. © Springer-Verlag Berlin Heidelberg 2005.3747 LNCS919Bach, J., Heuristic risk-based testing (1999) Software Testing and Quality Engineering MagazineBeydeda, S., Volker, G., State of the art in testing components (2003) Proc. of the International Conference on Quality SoftwareCarey, M.J., DeWitt, D.J., Naughton, J.F., (1994) The OO7 Benchmark, , http://www.columbia.edu/, recovered February (2005)Chidamber, K., (1994) Principal Components of Orthogonal Object-oriented Metrics, , http://satc.gsfc.nasa.gov, recovered November (2004)De Millo, R.A., Li, T., Mathur, A.P., (1994) Architecture of TAMER: A Tool for Dependability Analysis of Distributed Fault-tolerant Systems, , Purdue UniversityFabre, J.-C., Rodriguez, M., Arlat, J., Sizum, J.-M., Building dependable COTS microkernel-based systems using MAFALDA (2000) Proc. of 2000 Pacific Rim International Symposium on Dependable Computing - PRDC'00, , Los Angeles, USAHsueh, M.C., Tsai, T., Iyer, R., Fault injection techniques and tools (1997) IEEE Computer, pp. 75-82Koopman, P., Siewiorek, D., DeVale, K., DeVale, J., Fernsler, K., Guttendorf, D., Kropp, N., Shi, Y., (2003) Ballista Project : COTS Software Robustness Testing, , http://www.ece.cmu.edu/~koopman/ballista/, Carnegie Mellon UniversityMartins, E., Rubira, C.M.F., Leme, N.G.M., Jaca: A reflective fault injection tool based on patterns (2002) Proc. of the 2002 Intern Conference on Dependable Systems & Networks, 23 (267), pp. 483-487. , Washington D.C. USAMoraes, R., Martins, E., A strategy for validating an ODBMS component using a high-level software fault injection tool (2003) Proc. of the First Latin-American Symposium, LADC 2003, pp. 56-68. , São Paulo, BrazilMoraes, R., Martins, E., Mendes, N., Fault injection approach based on dependence analysis (2005) Proc. of the First International Workshop on Testing and Quality Assurance for Component-based Systems - TQACBS(2004) Object Oriented Database Management System, , www.ozone-db.org/Podgurski, A., Yang, C., Partition testing, stratified sampling and cluster analysis (1993) Proc.of the 1st ACM SIGSOFT Symposium on Foundations of Software Engineering, pp. 169-181. , Los Angeles, USAPressman, R.S., (1997) Software Engineering A Practitioner Approach, 4 th Edition, , Mc Graw HillRosenberg, L., Stapko, R., Gallo, A., Risk-based object oriented testing (2000) Proc. 13 th International Software/Internet Quality Week (QW2000), , San Francisco, California USA(2005) Transaction Processing Performance Council "TPC-C - Benchmarks", , http://www.tpc.org/tpcc/default.aspTriola, M.F., (1999) Introcução A Estatística, 7th Edition, , LTC Editor, Rio de Janeiro, (in Portuguese)Voas, J., McGraw, G., (1998) Software Fault Injection: Inoculating Programs Against Errors, , John Wiley & Sons, New York, EUAVoas, J.M., Charron, F., McGraw, G., Miller, K., Friedman, M., Predicting how badly good software can behave (1997) IEEE Software, pp. 73-83Voas, J., Marrying software fault injection technology results with software reliability growth models (2003) Fast Abstract ISSRE 2003, , Chillarege PressVoas, J., An approach to certifying off-the-shelf software components (1998) IEEE Computer, 31 (6), pp. 53-5

    Fault Injection Approach Based On Architectural Dependencies

    No full text
    In a previous paper we described a fault injection strategy that applies risk-based analysis to select the system's riskiest components for testing. Among other criteria, this analysis considers the number of upstream and downstream dependencies of a component in a system. In order to obtain this number, we propose the use of architectural-level dependency analysis. One advantage of an analysis at architectural level is that systems may often contain COTS components from which no source code is available. The approach is illustrated with a case study, and the preliminary experimental results are also discussed. © 2005 Springer-Verlag.3549 LNCS300321Allen, R., Garlan, D., Formalizing Architectural Connection (1994) Proc. of the 16th International Conference on Software Engineering, pp. 71-80. , IEEE Computer SocietyAnderson, T., et., al., Protective Wrapper Development: A Case Study (2003) Lecture Notes in Computer Science (LNCS, 2580, pp. 1-14. , Spring VerlagArlat, J., Aguera, M., Amat, L., Crouzet, Y., Fabre, J.C., Laprie, J.C., Martins, E., Powell, D., Fault Injection for Dependability Validation-A Methodology and some Applications (1990) IEEE Transactions on Software Engineering, 16 (2), pp. 166-182Bach, J., Heuristic risk-based testing (1999) Software Testing and Quality Engineering MagazineBeydeda, S., Volker, G., State of the art in testing components (2003) Proc. Of the International Conference on Quality SoftwareChiba, S.: Javassist - A Reflection-based Programming Wizard for Java. In: Proc of the ACM OOPSLA'98 Workshop on Reflective Programming in C++ and Java, (1998)Chen, Z., Xul, B., Zhao, J., An Overview of Methods for Dependence Analysis of Concurrent Programs (2002) ACM SIGPLAN Notices, 37 (8), pp. 45-52Clemens, S., (1998) Component Software: Beyond Object-Oriented Programming, , New York, Addison-WesleyDe Millo, R.A., Li, T., Mathur, A.P., (1994) Architecture of TAMER: A Tool for dependability analysis of distributed fault-tolerant systems, , Purdue University(2005), http://depfind.sourceforge.net, Dependency Finder tool projectFabre, J.-C., Rodriguez, M., Arlat, J., Sizum, J.-M., Building dependable COTS microkernel-based systems using MAFALDA (2000) Proc. of 2000 Pacific Rim International Symposium on Dependable Computing - PRDC'00, , Los Angeles, USAFetzer, C., Högstedt, K., Felber, P., Automatic Detection and Masking of Non-Atomic Exception Handling (2003) Proc. of DSN, pp. 445-454. , San Francisco, USAGarlan, D., Allen, R., Ockerbloom, J., Architectural Mismatch: Why Reuse is so Hard (1995) IEEE Software, 12 (6), pp. 17-26Guerra, P., et., al., A Dependable Architecture for COTS-based Software Systems using Protective Wrappers (2004) Lecture Notes in Computer Science (LNCS, 3069, pp. 147-170. , Spring VerlagHsueh, M.-C., Tsai, T., Iyer, R., Fault Injection Techniques and Tools (1997) IEEE Computer, pp. 75-82Inverardi, P., Wolf, A.L., Yankelevich, D., Checking Assumptions in Component Dynamics at the Architectural Level (1997) Proc. of the 2nd International Conference on Coordination Models and Languages, , Springer-VerlagKoopman, P., Siewiorek, D, DeVale, K., DeVale, J., Fernsler, K., Guttendorf, D., Kropp, N., Pan, J., Shelton, C., Shi, Y.: Ballista Project : COTS Software Robustness Testing. Carnegie Mellon University, http://www.ece.cmu.edu/~koopman/ballista/, (2003)Leme, N.G.M., (2001) A Software Fault Injection Systems based on Patterns, , Master Thesis, UNICAMP, Brasil, in PortugueseMaes, P., Concepts and Experiments in Computational Reflection (1987) Proc. of OOPSLA'87, pp. 147-155Martins, E., Rubira, C. M. F., Leme N.G.M.: Jaca: A reflective fault injection tool based on patterns. In: Proc of the 2002 International Conference on Dependable Systems & Networks, Washington D.C. USA, (2002) 483-487Martins, E., Moraes, R., Testing Component-based Applications in the Presence of Faults (2003) Proc. of the 7th World Multi-conference on Systemic, Cybernetics and Informatics, pp. 112-117Moraes, R., Martins, E., A Strategy for Validating an ODBMS Component Using a High-Level Software Fault Injection Tool (2003) Proc. of the First Latin-American Symposium, LADC, pp. 56-68. , São Paulo, BrazilMoraes, R., Martins, E., An Architecture-based Strategy for Interface Fault Injection (2004) Proc. of the International Conference no Dependable Systems and Networks, , Firenze, ItalyNaumovich, G., Avrunin, G.S., Clarke, L.A., Osterweil, L.J., Applying Static Analysis to Software Architectures (1997) Proc. of the 6th European Software Engineering Conference, , Springer-VerlagPressman, R.S., (1997) Software Engineering a Practitioner Approach, , Mc Graw Hill1, 4th editionRosa, A., (1998) A Reflexive Architecture to Inject Faults in Object-Oriented Applications, , Master Thesis, UNICAMP, Campinas, Brasil, in PortugueseRosenberg, L., Stapko, R., Gallo, A., Risk-based Object Oriented Testing (2000) Proc. of 13th International Software / Internet Quality Week (QW2000), , San Francisco, California USASaridakis, T., Issarny, V., Developing Dependable Systems using Software Architecture (1999) Proc. of the 1st Working IFIP Conference on Software Architecture, pp. 83-104Shaw, M., Clements, P.C., A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems (1997) Proc. of the 21st International Computer Software and Applications Conference, pp. 6-13Sherer, S.A., A Cost-Effective Approach to Testing (1991) IEEE SoftwareSotirovski, D., Towards Fault-Tolerant Software Architectures (2001) Working IEEE/IFIP Conference on Software Architecture, pp. 7-13. , R. Kazman, P. Kruchten, C. Verhoef, H. Van Vliet, editors, Los Alamitos, CAStafford, J.A., Richardson, D.J., Wolf, A.L.: Chainning: A Software Architecture Dependence Analysis Technique. Technical Report CU-CS845-97, Department of Computer Science, University of Colorado, (1997)Taylor, R. N., Medvidovic, N., Anderson, K.M., Whitehead Jr.E.J., Robbins, J.E., Nies, K.A., Oreizy, P., Dubrow, D.L.: A Component and Message-based Architectural Style for GUI Software. IEEE Transactions on Software Engineering, 22(6): 390-406, (1996)Voas, J., McGraw, G., (1998) Software Fault Injection: Inoculating Programs against Errors, , John Wiley & Sons, New York, EUAVoas, J., Charron, F., McGraw, G., Miller, K., Friedman, M., Predicting how Badly Good Software can Behave (1997) IEEE Software, pp. 73-83Voas, J., (2003) Marrying Software Fault Injection Technology Results with Software Reliability Growth Models. Fast Abstract ISSRE 2003, , Chillarege Pres
    corecore