首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
许多关键业务应用要求系统能够持续稳定地运行以便为用户提供不问断的服务。高可用系统通过配置冗余硬件和故障监控处理软件,可以大幅度地提高系统的可用性。本文设计实现了一个基于Motorola CPX8216和HA-Linux的电信高可用应用软件。实验证明该软件能够自动检测系统控制节点和服务进程的错误、失效,并且当发生这种情况时能够自动将系统控制和服务切换到备用节点。文中最后指出了需要进一步研究的问题。  相似文献   

2.
H. Szer 《Software》2015,45(10):1359-1373
Static code analysis tools automatically generate alerts for potential software faults that can lead to failures. However, these tools usually generate a very large number of alerts, some of which are subject to false positives. Because of limited resources, it is usually hard to inspect all the alerts. As a complementary approach, runtime verification techniques verify dynamic system behavior with respect to a set of specifications. However, these specifications are usually created manually based on system requirements and constraints. In this paper, we introduce a noval approach and a toolchain for integrated static code analysis and runtime verification. Alerts that are generated by static code analysis tools are utilized for automatically generating runtime verification specifications. On the other hand, runtime verification results are used for automatically generating filters for static code analysis tools to eliminate false positives. The approach is illustrated for the static analysis and runtime verification of an open‐source bibliography reference manager software. Copyright © 2014 John Wiley & Sons, Ltd.  相似文献   

3.
路晓丽  董云卫 《计算机应用》2011,31(7):1756-1758
在面向服务软件的测试过程中,由于在服务发现之前不可知的交互对象和同一个服务可能会有不同实现,往往出现程序执行结果不能提前预知的Oracle问题。为了有效地解决面向服务软件测试中的Oracle问题,基于面向服务架构(SOA)的特点,提出将蜕变测试方法用于面向服务软件的单元测试和集成测试过程中,依据面向服务软件每个服务的自身性质构造蜕变关系,设计蜕变测试类执行测试用例并验证蜕变关系是否保持,如果蜕变关系被违反了,则发现和报告缺陷,从而有效地支持面向服务软件的测试。  相似文献   

4.
SLR(1)词/语法分析的自动构造   总被引:5,自引:0,他引:5  
主要讨论了SLR(1)词/语法分析器的自动构造,自动生成的SLR(1)语法分析器可从自动生成的SLR(1)词法分析器中获得测试数据进行语法分析,论文相关的软件除可用于编译原理课程教学演示外,还可用于实际编译程序的SLR(1)词/语法分析器的自动构造。由于具有SLR(1)分析表自动构造功能,因此该软件还可作为软件工具用于程序设计语言本身的设计和构造。  相似文献   

5.
Based on extensive field failure data for Tandem's GUARDIAN operating system, the paper discusses evaluation of the dependability of operational software. Software faults considered are major defects that result in processor failures and invoke backup processes to take over. The paper categorizes the underlying causes of software failures and evaluates the effectiveness of the process pair technique in tolerating software faults. A model to describe the impact of software faults on the reliability of an overall system is proposed. The model is used to evaluate the significance of key factors that determine software dependability and to identify areas for improvement. An analysis of the data shows that about 77% of processor failures that are initially considered due to software are confirmed as software problems. The analysis shows that the use of process pairs to provide checkpointing and restart (originally intended for tolerating hardware faults) allows the system to tolerate about 75% of reported software faults that result in processor failures. The loose coupling between processors, which results in the backup execution (the processor state and the sequence of events) being different from the original execution, is a major reason for the measured software fault tolerance. Over two-thirds (72%) of measured software failures are recurrences of previously reported faults. Modeling, based on the data, shows that, in addition to reducing the number of software faults, software dependability can be enhanced by reducing the recurrence rate  相似文献   

6.
In this paper, we examine external failures and internal faults traceable to web software and source contents. We develop related defect and quality measurements based on different perspectives of customers, users, information or service hosts, maintainers, developers, integrators, and managers. These measurements can help web information and service providers with their quality assessment and improvement activities to meet the quality expectations of their customers and users. The different usages of our measurement framework by different stakeholders of web sites and web applications are also outlined and discussed. The data sources include existing web server logs and statistics reports, defect repositories from web application development and maintenance activities, and source files. We applied our approach to four diverse websites: one educational website, one open source software project website, one online catalog showroom for a small company, and one e-Commerce website for a large company. The results demonstrated the viability and effectiveness of our approach.  相似文献   

7.
This paper presents an analysis of operating system failures on an IBM 3081 running VM/SP. We find three broad categories of software failures: error handling (ERH), program control or logic (CTL), and hardware related (HS); it is found that more than 25 percent of software failures occur in the hardware/software interface. Measurements show that results on software reliability cannot be considered representative unless the system workload is taken into account. For example, it is shown that the risk of a software failure increases in a nonlinear fashion with the amount of interactive processing, as measured by parameters such as the paging rate and the amount of overhead (operating system CPU time). The overall CPU execution rate, although measured to be close to 100 percent most of the time, is not found to correlate strongly with the occurrence of failures. The paper discusses possible reasons for the observed workload failure dependency based on detailed investigations of the failure data.  相似文献   

8.
The benefits of the analysis of software faults and failures have been widely recognized. However, detailed studies based on empirical data are rare. In this paper, we analyze the fault and failure data from two large, real-world case studies. Specifically, we explore: 1) the localization of faults that lead to individual software failures and 2) the distribution of different types of software faults. Our results show that individual failures are often caused by multiple faults spread throughout the system. This observation is important since it does not support several heuristics and assumptions used in the past. In addition, it clearly indicates that finding and fixing faults that lead to such software failures in large, complex systems are often difficult and challenging tasks despite the advances in software development. Our results also show that requirement faults, coding faults, and data problems are the three most common types of software faults. Furthermore, these results show that contrary to the popular belief, a significant percentage of failures are linked to late life cycle activities. Another important aspect of our work is that we conduct intra- and interproject comparisons, as well as comparisons with the findings from related studies. The consistency of several main trends across software systems in this paper and several related research efforts suggests that these trends are likely to be intrinsic characteristics of software faults and failures rather than project specific.  相似文献   

9.
Even with todays hardware improvements, performance problems are still common in many software systems. An approach to tackle this problem for component-based software architectures is to predict the performance during early development stages by combining performance specifications of prefabricated components. Many existing methods in the area of component-based performance prediction neglect several influence factors on the performance of a component. In this paper, we present a method to calculate the performance of component services while including influences of external services and different usages. We use stochatic regular expressions with non-Markovian loop iterations to model the abstract control flow of a software component and probability mass functions to specify the time consumption of internal and external services in a fine grain way. An experimental evaluation is reported comparing results of the approach with measurements on a component-based webserver. The evaluation yields that using measured data as inputs, our approach can predict the mean response time of a service with less than 2 percent deviation from measurements taken when executing the service in our scenarios.  相似文献   

10.
With the increase in personal computer clusters in popularity and quantity, message passing between nodes has been an important issue for high failure rate in the network. File access in a cluster file system often contains several sub-operations; each includes one or more network transmissions. Any network failures cause the file system service unavailable. In this paper, we describe a highly reliable message-passing mechanism (HR-NET), which tolerates both software and hardware network failures. HR-NET provides fine-grained, connection-level failover across redundant communication paths. With it, the file system can keep passing messages because HR-NET handles failures automatically by either recovery from network failures or failed over to a backup; therefore, it screens network failures from requests or data transmission of cluster file system. Load balance for messages is also achieved to relieve network traffic. For transmission timeout, HR-NET proposes a priority-based message scheduling which dynamically manages messages in an appropriate order to tolerate request–response failures between clients and servers. HR-NET is implemented upon standard network protocol stack. Performance results show that HR-NET can provide almost full underlying network bandwidth with average 6.17% throughput loss and provide a fast recovery. Experiments with cluster file system show that the overall performance degradation is below 8% due to failover of HR-NET while the reliability is highly enhanced.  相似文献   

11.
12.
测试用例的自动生成是软件测试研究的主要方向之一。针对现有的UML模型驱动测试方法在测试数据生成方面存在低效、无目的性、冗余等问题,提出了基于UML活动图模型驱动的划分测试用例自动生成方法。该方法将测试场景归为五种类型,并为每种类型规划了测试数据取值范围和选择方法。构建了基于该方法的原型工具软件,提供被测软件原模型和数据约束即可生成测试用例。实验结果表明,该方法能够在不降低测试覆盖率的情况下,能生成数量少、针对性强的测试用例集。  相似文献   

13.
马友  王尚广  孙其博  杨放春 《软件学报》2014,25(11):2473-2485
已有的Web服务QoS(quality of service)度量方法由于无法对用户偏好的模糊性予以准确量化,以及对候选服务 QoS 属性数据分布特征的忽视,导致其度量结果不准确。为此,提出了一种综合考虑主客观权重的 Web 服务QoS 度量算法。该算法利用自适应用户偏好的主观权重计算方法和服务潜能保障的客观权重计算方法,从主观和客观两个角度进行QoS度量,以保障度量结果在符合用户偏好的基础上能够准确地反映服务的整体性能。理论分析和基于QWS真实数据集的实验结果表明,所提出的方法能够准确地获得Web服务QoS的度量结果。  相似文献   

14.
Modern software systems are increasingly requested to be adaptive to changes in the environment in which they are embedded. Moreover, adaptation often needs to be performed automatically, through self-managed reactions enacted by the application at run time. Off-line, human-driven changes should be requested only if self-adaptation cannot be achieved successfully. To support this kind of autonomic behavior, software systems must be empowered by a rich run-time support that can monitor the relevant phenomena of the surrounding environment to detect changes, analyze the data collected to understand the possible consequences of changes, reason about the ability of the application to continue to provide the required service, and finally react if an adaptation is needed. This paper focuses on non-functional requirements, which constitute an essential component of the quality that modern software systems need to exhibit. Although the proposed approach is quite general, it is mainly exemplified in the paper in the context of service-oriented systems, where the quality of service (QoS) is regulated by contractual obligations between the application provider and its clients. We analyze the case where an application, exported as a service, is built as a composition of other services. Non-functional requirements—such as reliability and performance—heavily depend on the environment in which the application is embedded. Thus changes in the environment may ultimately adversely affect QoS satisfaction. We illustrate an approach and support tools that enable a holistic view of the design and run-time management of adaptive software systems. The approach is based on formal (probabilistic) models that are used at design time to reason about dependability of the application in quantitative terms. Models continue to exist at run time to enable continuous verification and detection of changes that require adaptation.  相似文献   

15.
熊利  周宽久 《微机发展》2010,(5):92-95,99
基于Markov链使用模型的软件统计测试是产生高效测试用例,实现软件可靠性定量评估的有效方法。介绍了基于使用模型的统计测试方法,论述了使用模型的概念和特点,以及从使用模型中可以计算出的静态参数和它们在统计测试和软件开发中所起的作用。提出Markov链使用模型用于嵌入式软件的测试,从理论上得到嵌入式软件的可靠性。具体阐述了嵌入式软件的Markov链使用模,型自动生成测试模型的方法。同时使用改进的Kullback判别式探讨测试的可靠性问题,从理论上证明了测试链到使用链收敛的必然性。理论分析和初步的实例证明该方法是可行的和有前途的。  相似文献   

16.
软件的功能描述文档是开发人员了解软件的重要基础.现有软件项目并不都具备全面描述软件功能的文档,但软件项目开发和应用过程中的各种交流记录蕴含了讨论其功能的大量信息.为此,本文提出了一种基于StackOverflow问答数据的软件功能特征挖掘组织方法.该方法提出以动宾短语形式描述软件功能特征,挖掘并组织蕴含在StackOverflow数据中的软件功能特征,自动生成一种以层次化方式展示的软件项目功能特征文档.在针对真实项目的实验中,本文方法生成的软件功能文档可以覆盖官方文档中列举的97.6%的软件常用功能.同时,该方法可以扩展从不同形式的项目交流记录中生成全面描述软件功能特征的文档.  相似文献   

17.
硬/软件可靠性增长模型   总被引:1,自引:0,他引:1  
在现有的描述计算机系统可靠性增长的模型当中,提出了一个描述硬/软件综合系统 可靠性增长的二维跳跃马氏链模型.该模型基于下面两个主要假设:1)在故障间隔期间内, 硬、软件的故障率均是常数,硬(软)件的故障率仅在每个硬(软)件的故障恢复点处发生跳 跃变化.2)同一时间发生多于一次故障的机会近乎为0.本文推导了系统各种可用度指标 的显式表达式,并给出计算复杂度的度量.为了降低应用时求解的复杂程度,在当前硬、软 件可靠性增长模型研究的基础上,提出了一种在工程应用中的简化计算方法.  相似文献   

18.
Dynamic planning approach to automated web service composition   总被引:3,自引:1,他引:2  
In this paper, novel ideas are presented for solving the automated web service composition problem. Some of the possible real world problems such as partial observability of the environment, nondeterministic effects of web services and service execution failures are solved through a dynamic planning approach. The proposed approach is based on a novel AI planner that is designed for working in highly dynamic environments under time constraints, namely Simplanner. World altering service calls are done according to the WS-Coordination and WS-Business Activity web service transaction specifications in order to physically recover from failure situations and prevent the undesired side effects of the aborted web service composition efforts.  相似文献   

19.
Statistical Debugging: A Hypothesis Testing-Based Approach   总被引:1,自引:0,他引:1  
Manual debugging is tedious, as well as costly. The high cost has motivated the development of fault localization techniques, which help developers search for fault locations. In this paper, we propose a new statistical method, called SOBER, which automatically localizes software faults without any prior knowledge of the program semantics. Unlike existing statistical approaches that select predicates correlated with program failures, SOBER models the predicate evaluation in both correct and incorrect executions and regards a predicate as fault-relevant if its evaluation pattern in incorrect executions significantly diverges from that in correct ones. Featuring a rationale similar to that of hypothesis testing, SOBER quantifies the fault relevance of each predicate in a principled way. We systematically evaluate SOBER under the same setting as previous studies. The result clearly demonstrates the effectiveness: SOBER could help developers locate 68 out of the 130 faults in the Siemens suite by examining no more than 10 percent of the code, whereas the cause transition approach proposed by Holger et al. [2005] and the statistical approach by Liblit et al. [2005] locate 34 and 52 faults, respectively. Moreover, the effectiveness of SOBER is also evaluated in an "imperfect world", where the test suite is either inadequate or only partially labeled. The experiments indicate that SOBER could achieve competitive quality under these harsh circumstances. Two case studies with grep 2.2 and bc 1.06 are reported, which shed light on the applicability of SOBER on reasonably large programs  相似文献   

20.
服务发现是面向服务的网络软件开发过程的关键阶段,同时也是影响服务组合效率的关键因素.针对当前服务发现自动化程度低下、准确性不高的现状,从两个方面提高服务组合效率:首先,提出一种自动组合服务发现模式,支持流程粒度的组合服务发现及复用;其次,在发现过程中设计了一种量化的相似性评估算法,综合考虑组合流程的静态结构与动态行为特征,以提高服务发现的准确率;最后,结合以上两方面形成一个基于流程相似性的自动服务发现框架(automatic service discovery framework based on business process similarity,简称AutoDisc).利用真实数据完成的评估实验结果表明,AutoDisc的准确性优于单纯考虑结构或行为的发现方法,在所给出的应用案例中,使服务组合效率提高75.5%,具有较好的可扩展性.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号