作者:
Wentzlaff, InaSpecker, MarkusUniversity Duisburg-Essen
Faculty of Engineering Department of Computer Science Software Engineering Oststraße 99 47057 Duisburg Germany University Duisburg-Essen
Faculty of Engineering Department of Computer Science Interactive Systems and Interaction Design Lotharstraße 65 47057 Duisburg Germany
Using patterns to preserve common problem-solving knowledge is a very popular approach. Each computer science community applies its own techniques to document engineering principles for the handling of recurring softw...
详细信息
ISBN:
(纸本)1595934359
Using patterns to preserve common problem-solving knowledge is a very popular approach. Each computer science community applies its own techniques to document engineering principles for the handling of recurring software development questions using patterns. Thus various pattern collections were evolved for dealing with specific problems of the respective community. As a result comparable patterns or redundant pattern descriptions exist in different collections leading unintentionally to a "reinvention of the wheel" time and again. Taking the development of a chat application as an example, we present an approach for integrating patterns from different softwareengineering disciplines. We transform problem patterns (problem frames) into solution patterns (design patterns) by using a case-based reasoning methodology to achieve a pattern-based software development process which systematically leads from natural language requirements to semi-formal near code level descriptions. We particularly consider non-functional software properties by combining design patterns of human-computer interaction (HCI) with softwareengineering (SE) patterns in order to support the systematic development of user-friendly software applications.
It has been considered bon ton to blame locks for their fragility, especially since researchers identified obstruction-freedom: a progress condition that precludes locking while being weak enough to raise the hope for...
详细信息
ISBN:
(纸本)1595933840
It has been considered bon ton to blame locks for their fragility, especially since researchers identified obstruction-freedom: a progress condition that precludes locking while being weak enough to raise the hope for good performance. This paper attenuates this hope by establishing lower bounds on the complexity of obstruction-free implementations in contention-free executions: those where obstruction-freedom was precisely claimed to be effective. Through our lower bounds, we argue for an inherent cost of concurrent computing without locks. We first prove that obstruction-free implementations of a large class of objects, using only overwriting or trivial primitives in contention-free executions, have Ω(n) space complexity and Ω(log2 n) (obstruction-free) step complexity. These bounds apply to implementations of many popular objects, including variants of fetch&add, counter, compare&swap, and LL/SC. When arbitrary primitives can be applied in contention-free executions, we show that, in any implementation of binary consensus, or any perturbable object, the number of distinct base objects accessed and memory stalls incurred by some process in a contention free execution is Ω(√n). All these results hold regardless of the behavior of processes after they become aware of contention. We also prove that, in any obstruction-free implementation of a perturbable object in which processes are not allowed to fail their operations, the number of memory stalls incurred by some process that is unaware of contention is Ω(n). Copyright 2006 ACM.
Reactive real-time systems have to react to external events within time constraints: Triggered tasks must execute within deadlines. It is therefore important for the designers of such systems to analyze the schedulabi...
详细信息
Reactive real-time systems have to react to external events within time constraints: Triggered tasks must execute within deadlines. It is therefore important for the designers of such systems to analyze the schedulability of tasks during the design process, as well as to test the system's response time to events in an effective manner once it is implemented. This article explores the use of genetic algorithms to provide automated support for both tasks. Our main objective is then to automate, based on the system task architecture, the derivation of test cases that maximize the chances of critical deadline misses within the system;we refer to this testing activity as stress testing. A second objective is to enable an early but realistic analysis of tasks' schedulability at design time. We have developed a specific solution based on genetic algorithms and implemented it in a tool. Case studies were run and results show that the tool (1) is effective at identifying test cases that will likely stress the system to such an extent that some tasks may miss deadlines, (2) can identify situations that were deemed to be schedulable based on standard schedulability analysis but that, nevertheless, exhibit deadline misses.
A stress test methodology aimed at increasing chances of discovering faults related to network traffic in distributed systems is presented. The technique uses the UML 2.0 model of the distributed system under test, au...
详细信息
ISBN:
(纸本)1595933751
A stress test methodology aimed at increasing chances of discovering faults related to network traffic in distributed systems is presented. The technique uses the UML 2.0 model of the distributed system under test, augmented with timing information, and is based on an analysis of the control flow in sequence diagrams. It yields stress test requirements that are made of specific control flow paths along with time values indicating when to trigger them. Different variants of our stress testing technique already exist (they stress different aspects of a distributed system) and we focus here on one variant that is designed to identify and to stress test the system at the instant when data traffic on a network is maximal. Using a real-world distributed system specification, we design and implement a prototype distributed system and describe, for that particular system, how the stress test cases are derived and executed using our methodology. The stress test results indicate that the technique is significantly more effective at detecting network traffic-related faults when compared to test cases based on an operational profile. Copyright 2006 ACM.
This paper reports on the construction and validation of fault-proneness prediction models in the context of an object-oriented, evolving, legacy system. The goal is to help QA engineers focus their limited verificati...
详细信息
ISBN:
(纸本)1595932186
This paper reports on the construction and validation of fault-proneness prediction models in the context of an object-oriented, evolving, legacy system. The goal is to help QA engineers focus their limited verification resources on parts of the system likely to contain faults. A number of measures including code quality, class structure, changes in class structure, and the history of class-level changes and faults are included as candidate predictors of class fault-proneness. A cross-validated classification analysis shows that the obtained model has less than 20% of false positives and false negatives, respectively. However, as shown in this paper, statistics regarding the classification accuracy tend to inflate the potential usefulness of the fault-proneness prediction models. We thus propose a simple and pragmatic methodology for assessing the cost-effectiveness of the predictions to focus verification effort. On the basis of the cost-effectiveness analysis we show that change and fault data from previous releases is paramount to developing a practically useful prediction model. When our model is applied to predict faults in a new release, the estimated potential savings in verification effort is about 29%. In contrast, the estimated savings in verification effort drops to 0% when history data is not included. Copyright 2006 ACM.
This paper considers the composition of a DIDS (Distributed Intrusion Detection System) by integrating heterogeneous IDSs (Intrusion Detection systems). A Grid middleware is used for this integration. In addition, an ...
详细信息
Classification of data with imbalanced class distribution has posed a significant drawback of the performance attainable by most standard classifier learning algorithms, which assume a relatively balanced class distri...
详细信息
In recent years, traditional computing systems face the problems of scalability as the need for information processing services is ever increasing. Grid, as a pool of computing resources, solves the problem in some de...
详细信息
Ontology is recognized as a key technology for the success of the Semantic Web. Building reusable and evolve-able ontologies in order to cope with ontology evolution and requirement changes is increasingly important. ...
详细信息
暂无评论