15986119
Designing activities for learning software quality practices
This paper presents our design of the learning activities in a course on software quality practices. We describe how we strive to provide opportunities for students to gain hands-on experience on exemplar software quality practices in spite of various constraints.
3035412
On the Expected Number of Failures Detected by Subdomain Testing and Random Testing
We investigate the efficacy of subdomain testing and random testing using the expected number of failures detected (the E-measure) as a measure of effectiveness. Simple as it is, the E-measure does provide a great deal of useful information about the fault detecting capability of testing strategies. With the E-measure, we obtain new characterizations of subdomain testing, including several new conditions that determine whether subdomain testing is more or less effective than random testing. Previously, the efficacy of subdomain testing strategies has been analyzed using the probability of detecting at least one failure (the P-measure) for the special case of disjoint subdomains only. On the contrary, our analysis makes use of the E-measure and considers also the general case in which subdomains may or may not overlap. Furthermore, we discover important relations between the two different measures. From these relations, we also derive corresponding characterizations of subdomain testing in terms of the P-measure.
28280708
Prioritization of Test Cases in MUMCUT Test Sets: An Empirical Study
Software developers often have to test a program with a large number of test cases to reveal faults in the program. Some of these test cases may detect faults, and some may not. This leads to an important question on how to arrange the test cases to be executed so that more faults can be detected earlier. With a higher rate of fault detection at the early stage of testing, software developers can then spend more time on fixing the faults. This paper studies several ways of prioritizing test cases in a MUMCUT test set, which guarantees to detect certain types of faults in a Boolean specification written in irredundant disjunctive normal form. Our results suggest a certain ordering that reveals more faults earlier in the testing phases.
26872843
Promoting the use of information technology in education via lightweight authoring tools
The potential benefits of using information technology in classrooms for enhancing students' learning have been well known, but the realisation of these benefits is often hindered by a number of factors, notably the lack of knowledge/skills of teachers, the lack of appropriate software, insufficient teacher time, and the limitation of hardware and network infrastructure. In this paper, we introduce the approach of using lightweight authoring tools to address the difficulties faced by teachers. This approach has been adopted on many occasions for the continuing development of primary school teachers in Hong Kong, including many workshops and a formal in-service teacher education course. This paper describes how the approach works, and reports our experiences and the very encouraging feedback we received with the use of lightweight authoring tools.
17708725
An extended fault class hierarchy for specification-based testing
Kuhn, followed by Tsuchiya and Kikuno, have developed a hierarchy of relationships among several common types of faults (such as variable and expression faults) for specification-based testing by studying the corresponding fault detection conditions. Their analytical results can help explain the relative effectiveness of various fault-based testing techniques previously proposed in the literature. This article extends and complements their studies by analyzing the relationships between variable and literal faults, and among literal, operator, term, and expression faults. Our analysis is more comprehensive and produces a richer set of findings that interpret previous empirical results, can be applied to the design and evaluation of test methods, and inform the way that test cases should be prioritized for earlier detection of faults. Although this work originated from the detection of faults related to specifications, our results are equally applicable to program-based predicate testing that involves logic expressions.
15449420
Procurement of enterprise resource planning systems: experiences with some Hong Kong companies
Many cases of adoption of Enterprise Resource Planning (ERP) systems have been reported in the literature. Some of the adopted ERP systems fail to satisfy the customer's requirements, despite the high spending and substantial efforts that have been put into the adoption exercise. This is undoubtedly unsatisfactory. A way to avoid this problem is to adopt a well planned, managed, and controlled ERP procurement process. This paper describes our studies of three Chinese companies in Hong Kong which have adopted ERP systems. We report the experience of these companies, and discuss how the Chinese culture might have shaped the procurement practices in their ERP adoption exercises.
1624571
Non-uniform dependences partitioned by recurrence chains
Nonuniform distance loop dependences are a known obstacle to find parallel iterations. To find the outermost loop parallelism in these "irregular" loops, a novel method is presented based on recurrence chains. The scheme organizes nonuniformly dependent iterations into lexicographically ordered monotonic chains. While the initial and final iterations of monotonic chains form two parallel sets, the remaining iterations form an intermediate set that can be partitioned further. When there is only one pair of coupled array references, the nonuniform dependences are represented by a single recurrence equation. In that case, the chains in the intermediate set do not bifurcate and each can be executed as a WHILE loop. The independent and the initial iterations of monotonic dependence chains constitute the outermost parallelism. The proposed approach compares favorably with other treatments of nonuniform dependences in the literature. When there are multiple recurrence equations, a dataflow parallel execution can be scheduled using the technique to find maximum loop parallelism.
13948350
Feature matching and deformation for texture synthesis
One significant problem in patch-based texture synthesis is the presence of broken features at the boundary of adjacent patches. The reason is that optimization schemes for patch merging may fail when neighborhood search cannot find satisfactory candidates in the sample texture because of an inaccurate similarity measure. In this paper, we consider both curvilinear features and their deformation. We develop a novel algorithm to perform feature matching and alignment by measuring structural similarity. Our technique extracts a feature map from the sample texture, and produces both a new feature map and texture map. Texture synthesis guided by feature maps can significantly reduce the number of feature discontinuities and related artifacts, and gives rise to satisfactory results.
10085601
Considering circuit observability don't cares in CNF satisfiability
Boolean satisfiability (SAT) has seen significant use in various tasks in circuit verification. A key contributor to the efficiency of contemporary SAT solvers is fast deduction using Boolean constraint propagation (BCP). This can be efficiently implemented with a conjunctive normal form (CNF) representation of a circuit. However, most circuit verification tasks start from a logic circuit description of the problem instance. A simple conversion from a logic circuit to a CNF (Tseitin, G.S., 1968), that enables the use of the CNF representation even for circuit verification tasks, loses some information regarding the structure of the circuit. One example of such structural information is circuit observability don't cares. Several recent papers have addressed the issue of handling circuit unobservability in CNF-based SAT, but none of them accurately captures the conditions for use of this information in all stages of a CNF-based SAT solver. To take such don't care information into consideration in a CNF-based SAT solver, we propose a broader approach that adds certain don't care literals to clauses in the CNF representation. These literals are treated differently at different times during the solution process, much like don't cares in logic synthesis. The major merit of this scheme is that the solver can continue to use this don't care information during the learning process, which is an important part of contemporary SAT solvers. We have implemented this approach in the zChaff SAT solver and experiments show that significant performance gain can be obtained.
146270
Requirements-driven design of autonomic application software
Autonomic computing systems reduce software maintenance costs and management complexity by taking on the responsibility for their configuration, optimization, healing, and protection. These tasks are accomplished by switching at runtime to a different system behaviour - the one that is more efficient, more secure, more stable, etc. - while still fulfilling the main purpose of the system. Thus, identifying the objectives of the system, analyzing alternative ways of how these objectives can be met, and designing a system that supports all or some of these alternative behaviours is a promising way to develop autonomic systems. This paper proposes the use of requirements goal models as a foundation for such software development process and demonstrates this on an example.
13290415
Quality-Based Software Reuse
Work in software reuse focuses on reusing artifacts. In this context, finding a reusable artifact is driven by a desired functionality. This paper proposes a change to this common view. We argue that it is possible and necessary to also look at reuse from a non-functional (quality) perspective. Combining ideas from reuse, from goal-oriented requirements, from aspect-oriented programming and quality management, we obtain a goal-driven process to enable the quality-based reusability.