共查询到20条相似文献,搜索用时 15 毫秒
1.
Like all engineering disciplines, software engineering relies on quantitative analysis to support rationalized decision making. Software engineering researchers and practitioners have traditionally relied on software metrics to quantify attributes of software products and processes. Whereas traditional software metrics are typically based on a syntactic analysis of software products, we introduce and discuss metrics that are based on a semantic analysis: our metrics do not reflect the form or structure of software products, but rather the properties of their function. At a time when software systems grow increasingly large and complex, the focus on diagnosing, identifying and removing every fault in the software product ought to relinquish the stage to a more measured, more balanced, and more realistic approach, which emphasizes failure avoidance, in addition to fault avoidance and fault removal. Semantic metrics are a good fit for this purpose, reflecting as they do a system’s ability to avoid failure rather than its proneness to being free of faults. 相似文献
2.
Testability measures have been defined on flowgraphs modelling the control flow through a program. These measures attempt to quantify aspects of the structural complexity of code that might give useful information about the testing stage of software production. This paper shows how two such metrics, the Number of Trails metric and the Mask [ k = 2] metric, can be calculated axiomatically. 相似文献
3.
To deal with the increased complexity related to the testing of communications software, we propose the integration and application of finite state machine based specification transformations and testability measures early in the communications software development process. Based on this integration, the testability of a given design is estimated and appropriate specification transformations are defined and applied iteratively to enhance the testability of the product implementation. 相似文献
4.
软件测试性设计分为四类:设计时应当遵循的测试性设计原则,通过改变设计或代码提高软件测试性的专用测试性设计技术,为软件增加专门测试结构的结构化测试性设计技术和在软件开发全周期考虑软件测试的测试性设计综合技术。软件测试性设计方法借用了很多硬件测试性设计思想,但在许多方面还能进一步发展。 相似文献
5.
Clearly, in today's complex systems, hardware and software approaches to DFT must work together to achieve a successful overall solution. The authors investigate existing and new concepts that may lead to a single design for test strategy in the future 相似文献
6.
Testing is an expensive activity in the development process of any software system. Measuring and assessing the testability of software would help in planning testing activities and allocating required resources. More importantly, measuring software testability early in the development process, during analysis or design stages, can yield the highest payoff as design refactoring can be used to improve testability before the implementation starts. This paper presents a generic and extensible measurement framework for object-oriented software testability, which is based on a theory expressed as a set of operational hypotheses. We identify design attributes that have an impact on testability directly or indirectly, by having an impact on testing activities and sub-activities. We also describe the cause-effect relationships between these attributes and software testability based on thorough review of the literature and our own testing experience. Following the scientific method, we express them as operational hypotheses to be further tested. For each attribute, we provide a set of possible measures whose applicability largely depends on the level of details of the design documents and the testing techniques to be applied. The goal of this framework is twofold: (1) to provide structured guidance for practitioners trying to measure design testability, (2) to provide a theoretical framework for facilitating empirical research on testability. 相似文献
7.
为了能够通过软件的源代码度量面向对象软件的适应性,提出了一个包含七个具体度量指标的软件适应性度量模型,并开发了在Java软件中提取各度量指标的支持工具FlexTool;为了避免通过手动调整大量软件源代码的方式度量软件适应性,使研究人员能够在不太了解软件实现细节的情况下对适应性进行度量,提出了将该适应性模型应用于软件版本的演化从而度量软件适应性的方法,并通过著名开源软件Ant的版本演化对该方法的合理性进行了验证。 相似文献
8.
为研究软件可测性,从数据处理过程中信息掩盖这一新的角度对软件可测性度量进行研究,提出了一种基线模型用以描写输入、处理和输出之间的关系,并在此基础上提出了一套基线度量指标,用以度量信息处理过程中的信息掩盖程度,揭示软件的可测性;基线模型中3条基线度量定理的发现,进一步揭示了信息掩盖程度与基本处理片和过程临时元的定量关系;两种度量模型的比较显示了基线度量模型的合理性。 相似文献
9.
Presents empirical evidence that metrics on communication artifacts generated by groupware tools can be used to gain significant insight into the development process that produced them. We describe a test-bed for developing and testing communication metrics, a senior-level software engineering project course at Carnegie Mellon University, in which we conducted several studies and experiments from 1991-1996 with more than 400 participants. Such a test-bed is an ideal environment for empirical software engineering, providing sufficient realism while allowing for controlled observation of important project parameters. We describe three proof-of-concept experiments to illustrate the value of communication metrics in software development projects. Finally, we propose a statistical framework based on structural equations for validating these communication metrics 相似文献
10.
A comprehensive metrics validation methodology is proposed that has six validity criteria, which support the quality functions assessment, control, and prediction, where quality functions are activities conducted by software organizations for the purpose of achieving project quality goals. Six criteria are defined and illustrated: association, consistency, discriminative power, tracking, predictability, and repeatability. The author shows that nonparametric statistical methods such as contingency tables play an important role in evaluating metrics against the validity criteria. Examples emphasizing the discriminative power validity criterion are presented. A metrics validation process is defined that integrates quality factors, metrics, and quality functions 相似文献
11.
在软件开发和评估过程中,软件测试性是一个越来越需要考虑的重要因素,对于软件测试性的计算则是指导软件进行有效测试的理论工具。目前,对软件测试性有几种不同的理解,从而导致测试性计算方法的不同。从探索这些不同定义间关系的角度出发,分类介绍了一些测试性计算方法,并分析了这两类方法之间的区别和联系。这种讨论有助于促进对软件测试性的理解,并能根据不同的情况选择不同的计算方法。 相似文献
12.
为了对软件测试过程中发现缺陷能力的进行有效的度量,研究了基于缺陷的软件测试性评估方法。从缺陷导致失效的过程出发,描述了基于缺陷的软件测试性评估模型和评估方法,并对该方法针对运算量大以及缺陷分布不合理问题而衍生的改进方法进行了综述。深入的分析和比较了各方法的原理、应用和局限性,并对软件测试性评估的应用方向进行了探讨和展望。 相似文献
13.
Test case design is the most important test activity with respect to test quality. For this reason, a large number of testing methods have been developed to assist the tester with the definition of appropriate, error-sensitive test data. Evolutionary testing is a promising approach for automating structure-oriented test case design completely. In many experiments, high coverage degrees were reached using evolutionary testing. However, evolutionary testing is not equally well applicable to different test objects. For example, evolutionary testing of a test object with complex predicates might fail. In order to assess the difficulty of a test object for evolutionary testing, software measures can be used. The knowledge provided by software measurements could lead to a significant increase in efficiency of evolutionary testing. In this paper, we investigate the suitability of structure-based complexity measures for the assessment of whether or not evolutionary testing can be performed successfully for a given test object. 相似文献
16.
It can be argued that the quality of software management has an effect on the degree of success or failure of a software development program. We have developed a metric for measuring the quality of software management along four dimensions: requirements management, estimation/planning management, people management, and risk management. The quality management metric (QMM) for a software development program manager is a composite score obtained using a questionnaire administered to both the program manager and a sample of his or her peers. The QMM is intended to both characterize the quality of software management and serve as a template for improving software management performance. We administered the questionnaire to measure the performance of managers responsible for large software development programs within the US Department of Defense (DOD). Informal verification and validation of the metric compared the QMM score to an overall program-success score for the entire program; this resulted in a positive correlation. 相似文献
17.
分析了面向对象软件测试的特点,重点讨论了类的不变式、前置条件和后置条件对测试的影响。提出了软件内建自测试的解决方案,并举例说明了观察型测试点的插装过程。 相似文献
18.
Several metrics for the quality assessment of a software system design are discussed. The metrics are based on the entropy function of communication information theory. The design of software systems is viewed as a trade-off between the information contained within a subsystem and the information shared among the subsystems of a given system. Since information can be shared in different ways by different system designs, we can compute the excess entropy and thereby rank different design alternatives. Consequently, the quality improvement due to reconfigurations can be determined by calculating the excess entropies for each reconfiguration. 相似文献
19.
The word success is very powerful. It creates strong, but widely varied, images that may range from the final seconds of an athletic contest to a graduation ceremony to the loss of 10 pounds. Success makes us feel good; it's cause for celebration. All these examples of success are marked by a measurable end point, whether externally or self-created. Most of us who create software approach projects with some similar idea of success. Our feelings from project start to end are often strongly influenced by whether we spent any early time describing this success and how we might measure progress. Software metrics measure specific attributes of a software product or a software development process. In other words, they are measures of success. It's convenient to group the ways that we apply metrics to measure success into four areas. What do you need to measure and analyze to make your project a success? We show examples from many projects and Hewlett Packard divisions which may help you chart your course 相似文献
20.
Coupling represents the degree of interdependence between two software components. Understanding software dependency is directly
related to improving software understandability, maintainability, and reusability. In this paper, we analyze the difference
between component coupling and component dependency, introduce a two-parameter component coupling metric and a three-parameter
component dependency metric. An important parameter in both these metrics is coupling distance, which represents the relevance
of two coupled components. These metrics are applicable to layered component-based software. These metrics can be used to
represent the dependencies induced by all types of software coupling. We show how to determine coupling and dependency of
all scales of software components using these metrics. These metrics are then applied to Apache HTTP, an open-source web server.
The study shows that coupling distance is related to the number of modifications of a component, which is an important indicator
of component fault rate, stability and subsequently, component complexity.
Liguo Yu
received the Ph.D. degree in Computer Science from Vanderbilt University. He is an assistant professor of Computer and Information
Sciences Department at Indiana University South Bend. Before joining IUSB, he was a visiting assistant professor at Tennessee
Technological University. His research concentrates on software coupling, software maintenance, software reuse, software testing,
software management, and open-source software development.
Kai Chen
received the Ph.D. degree from the Department of Electrical Engineering and Computer Science at Vanderbilt University. He
is working at Google Incorporation. His current research interests include development and maintenance of open-source software,
embedded software design, component-based design, model-based design, formal methods and model verification.
Srini Ramaswamy
earned his Ph.D. degree in Computer Science in 1994 from the Center for Advanced Computer Studies (CACS) at the University
of Southwestern Louisiana (now University of Louisiana at Lafayette). His research interests are on intelligent and flexible
control systems, behavior modeling, analysis and simulation, software stability and scalability. He is currently the Chairperson
of the Department of Computer Science, University of Arkansas at Little Rock. Before joining UALR, he is the chairman of Computer
Science Department at Tennessee Tech University. He is member of the Association of Computing Machinery, Society for Computer
Simulation International, Computing Professionals for Social Responsibility and a senior member of the IEEE.
相似文献
|