39 research outputs found

    Survey of source code metrics for evaluating testability of object oriented systems

    No full text
    Software testing is costly in terms of time and funds. Testability is a software characteristic that aims at producing systems easy to test. Several metrics have been proposed to identify the testability weaknesses. But it is sometimes difficult to be convinced that those metrics are really related with testability. This article is a critical survey of the source-code based metrics proposed in the literature for object-oriented software testability. It underlines the necessity to provide testability metrics that are proved to be intuitive and adequate for the testing cost prediction

    A survey on software testability

    Full text link
    Context: Software testability is the degree to which a software system or a unit under test supports its own testing. To predict and improve software testability, a large number of techniques and metrics have been proposed by both practitioners and researchers in the last several decades. Reviewing and getting an overview of the entire state-of-the-art and state-of-the-practice in this area is often challenging for a practitioner or a new researcher. Objective: Our objective is to summarize the body of knowledge in this area and to benefit the readers (both practitioners and researchers) in preparing, measuring and improving software testability. Method: To address the above need, the authors conducted a survey in the form of a systematic literature mapping (classification) to find out what we as a community know about this topic. After compiling an initial pool of 303 papers, and applying a set of inclusion/exclusion criteria, our final pool included 208 papers. Results: The area of software testability has been comprehensively studied by researchers and practitioners. Approaches for measurement of testability and improvement of testability are the most-frequently addressed in the papers. The two most often mentioned factors affecting testability are observability and controllability. Common ways to improve testability are testability transformation, improving observability, adding assertions, and improving controllability. Conclusion: This paper serves for both researchers and practitioners as an "index" to the vast body of knowledge in the area of testability. The results could help practitioners measure and improve software testability in their projects

    Buletin UTHM Edisi 2/2021

    Get PDF

    A Very High Level Logic Synthesis

    Get PDF
    The evolution of Computer Aided Design (CAD) calls for the incorporation of design specifications into a microelectronics system development cycle. This expansion requires the establishment of a new generation of CAD procedures, defined as Very High Level Logic Synthesis (VHLLS). The fundamental characteristics of open-ended VHLLS are: (1) front-end graphical interface; (2) time encapsulation; and (3) automatic translation into a behavioral description. Consequently, the VHLLS paradigm represents an advanced category of CAD-based microelectronics system design, built on a deep usage of expert systems and intelligent methods. Artificial Intelligence (AI) formalisms such as Knowledge Representation System (KRS) are necessary to model properties related to the very high level of specification such as: dealing with ambiguities and inconsistencies, reasoning, computing high-level specification, etc. A prototype VHLLS design suite, called Specification Procedure for Electronic Circuits in Automation Language (SPECIAL), is defined, compared with today\u27s commercial tools and verified using numerous design examples. As a result, a new family of formal and accelerated development methodologies has become feasible with a better understanding of formalized knowledge driving these design processes

    An Empirical Evaluation of the Effectiveness of JML Assertions as Test Oracles

    Get PDF
    Test oracles remain one of the least understood aspects of the modern testing process. An oracle is a mechanism used by software testers and software engineers for determining whether a test has passed or failed. One widely-supported approach to oracles is the use of runtime assertion checking during the testing activity. Method invariants,pre- and postconditions help detect bugs during runtime. While assertions are supported by virtually all programming environments, are used widely in practice, and are often assumed to be effective as test oracles, there are few empirical studies of their efficacy in this role. In this thesis, we present the results of an experiment we conducted to help understand this question. To do this, we studied seven of the core Java classes that had been annotated by others with assertions in the Java Modeling Language, used the muJava mutation analysis tool to create mutant implementations of these classes, exercised them with input-only (i.e., no oracle) test suites that achieve branch coverage, and used a machine learning tool, Weka, to determine which annotations were effective at ``killing\u27\u27 these mutants. We also evaluate how effective the ``null oracle\u27\u27 (in our case, the Java runtime system) is at catching these bugs. The results of our study are interesting, and help provide software engineers with insight into situations in which assertions can be relied upon to find bugs, and situations in which assertions may need to be augmented with other approaches to test oracles

    Tradespace and Affordability – Phase 2

    Get PDF
    MOTIVATION AND CONTEXT: One of the key elements of the SERC’s research strategy is transforming the practice of systems engineering – “SE Transformation.” The Grand Challenge goal for SE Transformation is to transform the DoD community’s current systems engineering and management methods, processes, and tools (MPTs) and practices away from sequential, single stovepipe system, hardware-first, outside-in, document-driven, point-solution, acquisition-oriented approaches; and toward concurrent, portfolio and enterprise-oriented, hardware-software-human engineered, balanced outside-in and inside-out, model-driven, set-based, full life cycle approaches.This material is based upon work supported, in whole or in part, by the U.S. Department of Defense through the Office of the Assistant Secretary of Defense for Research and Engineering (ASD(R&E)) under Contract H98230-08- D-0171 (Task Order 0031, RT 046).This material is based upon work supported, in whole or in part, by the U.S. Department of Defense through the Office of the Assistant Secretary of Defense for Research and Engineering (ASD(R&E)) under Contract H98230-08- D-0171 (Task Order 0031, RT 046)

    Emotions in conceptual spaces

    Get PDF

    The Impact of User Involvement on Information System Projects

    Get PDF
    Information systems (IS) development has been studied from many perspectives. Information systems are being viewed as a service as the economy shifts from being industrial-based to service-based. This shift is motivating the business user to become more involved with the development of the system. The once clear roles of user-as-specifier and IT professional-as-developer are blurring. This research addresses three objectives. First, we survey the actual business users themselves for their perception of activities and satisfaction with the completed system. Second, we analyze the separation of business requirements into two constructs representing the functional and presentation dimensions of these requirements to advance our understanding of user involvement on information system projects. Third, we explore the combinations of user characteristics and their activities that can improve IS project performance. A new comprehensive model is proposed to represent the business user as an active participant in system development. A survey instrument is developed from a widespread literature review of IS project performance, user involvement and project management. The instrument was tested to ensure its ease of completion and its comprehensibility. The revised instrument was sent to 3,419 U.S. business users in multiple industries from which 205 valid surveys were received. Structural Equation Modeling was used to validate the measurements and analyze the hypotheses and the overall model. The results confirm some previous findings and document new discoveries regarding the users, their activities and the impact on user satisfactio

    The Impact of User Involvement on Information System Projects

    Get PDF
    Information systems (IS) development has been studied from many perspectives. Information systems are being viewed as a service as the economy shifts from being industrial-based to service-based. This shift is motivating the business user to become more involved with the development of the system. The once clear roles of user-as-specifier and IT professional-as-developer are blurring. This research addresses three objectives. First, we survey the actual business users themselves for their perception of activities and satisfaction with the completed system. Second, we analyze the separation of business requirements into two constructs representing the functional and presentation dimensions of these requirements to advance our understanding of user involvement on information system projects. Third, we explore the combinations of user characteristics and their activities that can improve IS project performance. A new comprehensive model is proposed to represent the business user as an active participant in system development. A survey instrument is developed from a widespread literature review of IS project performance, user involvement and project management. The instrument was tested to ensure its ease of completion and its comprehensibility. The revised instrument was sent to 3,419 U.S. business users in multiple industries from which 205 valid surveys were received. Structural Equation Modeling was used to validate the measurements and analyze the hypotheses and the overall model. The results confirm some previous findings and document new discoveries regarding the users, their activities and the impact on user satisfactio
    corecore