Fair scheduling of dynamic task systems on multiprocessors In dynamic real-time task systems, tasks that are subject to deadlines are allowed to join and leave the system. In previous work, Stoica et al. and Baruah et al. presented conditions under which such joins and leaves may occur in fair-scheduled uniprocessor systems without causing missed deadlines. In this paper, we extend their work by considering fair-scheduled multiprocessors. We show that their conditions are sufficient on M processors, under any deadline-based Pfair scheduling algorithm, if the utilization of every subset of M − 1 tasks is at most one. Further, for the general case in which task utilizations are not restricted in this way, we derive sufficient join/leave conditions for the PD 2 Pfair algorithm. We also show that, in general, these conditions cannot be improved upon without causing missed deadlines. In many real-time systems, the set of runnable tasks may change dynamically. For example, in an embedded system, different modes of operation may need to be supported; a mode change may require adding new tasks and deleting existing tasks. Another example is a desktop system that supports real-time applications such as multimedia and collaborative-support systems, which may be initiated at arbitrary times.. The distinguishing characteristic of dynamic task systems such as these is that tasks are allowed to join and leave the system. If such joins and leaves are unrestricted, then the system may become overloaded, and deadlines may be missed. Thus, joins and leaves must be performed only under conditions that ensure that deadline guarantees are not compromised. A suitable join condition usually can be obtained from the feasibility test associated with the scheduling algorithm being used. A leave condition is somewhat trickier. In particular, if an "over-allocated" task is allowed to leave, then it might re-join immediately, and thus effectively execute at a higher-than-prescribed rate.. In this paper, we consider the problem of scheduling such task systems on multiprocessors. This problem has been studied earlier in the context of uniprocessor static-priority [9, 14] and fair-allocation schemes [5, 13] . Our focus is fair scheduling because it is the only known way of optimally scheduling recurrent real-time tasks on multiprocessors [1, 3, 4, 11] . In addition, practical interest in multiprocessor fair scheduling algorithms is growing. For example, Ensim Corp., an Internet service provider, has deployed such algorithms in its product line [8] . The need to support dynamic tasks is fundamental in this setting.. In fair scheduling disciplines, tasks are required to make progress at steady rates. Steady allocation rates are ensured by scheduling in a manner that closely tracks an ideal, fluid allocation. The lag of a task measures the difference between its ideal and actual allocations. In fair scheduling schemes, lags are required to remain bounded. (Such a bound in turn implies a bound on the timeliness of real-time tasks.) If a task's lag is positive, then it has been under-allocated; if negative, then it has been over-allocated. In the uniprocessor join/leave conditions presented previously [5, 13] , a task is allowed to leave iff it is not over-allocated, and join iff the total utilization after it joins is at most one.. Extending the above-mentioned work to multiprocessors is not straightforward; in fact, Baruah et al. explicitly noted the multiprocessor case as an open problem [5] . In recent work, dynamic multiprocessor systems were considered by Chandra et al. [6, 7] . However, their work was entirely experimental in nature, with no formal analysis of the algorithms considered. In this paper, we present join/leave conditions for which such analysis is provided. Before presenting a more detailed overview of the contributions of this paper, we briefly describe some of the fair scheduling concepts used in this paper.. Pfair scheduling. The periodic task model provides the simplest notion of a recurrent real-time task. In this model, successive job releases (i.e., invocations) by the same task are spaced apart by a fixed interval, called the task's period . Periodic tasks can be optimally scheduled on multiprocessors using Pfair scheduling algorithms [1, 3, 4] . Pfairness requires the lag of each task to be bounded between −1 and 1, which is a stronger requirement than periodicity. As we shall see, these lag bounds have the effect of breaking each task into quantum-length subtasks that must be scheduled within windows of approximately equal lengths. The length and alignment of a task's windows are determined by its weight. The weight or utilization of a task is the ratio of its per-job execution cost and period; a task's weight determines the processor share it requires. Fig. 1(a) shows the subtasks and windows for the first two jobs of a periodic task T with an execution requirement of 8 and a period of 11 (i.e., of weight 8/11).. In the sporadic model, the periodic notion of recurrence is relaxed by specifying a minimum (rather than exact) spacing between consecutive job releases of the same task. In recent work [2, 11] , we extended the sporadic model to obtain the intra-sporadic (IS) and generalized intra-sporadic (GIS) models. The sporadic model allows jobs to be released "late"; the IS model allows subtasks to be released late, as illustrated in Fig. 1(b) . The GIS model is obtained from the IS model by allowing subtasks to be absent. Fig. 1(c) shows an example.. In [11] , we showed that the PD 2 Pfair algorithm optimally schedules static GIS task systems on multiprocessors. In [2] , we proved that the (simpler) earliestpseudo-deadline-first (EPDF) algorithm is optimal for scheduling static IS task systems on two processors. (PD 2 and EPDF are described in Sec. 2.2.). Contributions. In this paper, we extend our earlier work, as well as prior work on uniprocessor fairness, in several significant ways. First, we show that the previously-presented uniprocessor join/leave conditions [5, 13] are insufficient for avoiding deadline misses when tasks are scheduled using any of a class of algorithms that includes all known (dynamic-priority) Pfair scheduling algorithms. Second, we show that these uniprocessor conditions are sufficient when using any deadline-based algorithm, if the total weight of any subset of M − 1 tasks is at most one at all times. This result extends our earlier result on the optimality of EPDF for two-processor systems [2] . Third, we derive sufficient conditions (that are tight) for the general case in which task weights are not restricted as above, and PD 2 is used for scheduling.. Overview. The rest of the paper is organized as follows. In Sec. 2, needed definitions are given. In Sec. 3, our join/leave conditions are stated. Results pertaining to the EPDF and PD 2 algorithms are then presented in Secs. 4 and 5, respectively. We conclude in Sec. 6. In this paper, we have addressed the problem of scheduling dynamic GIS task systems on multiprocessors. We have shown that if the sum of the weights of the M −1 heaviest tasks is at most 1 and EPDF is used, then the uniprocessor join/leave conditions presented previously [5, 13] are sufficient to avoid deadline misses on M processors. This result applies to any EPDF-based algorithm, and hence to PD 2 as well. We have also provided join/leave conditions for the general case in which weights are not restricted in this way and tasks are scheduled using PD 2 . We have further shown that, in general, it is not possible to improve upon these conditions.

O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Backtracking Events as Indicators of Usability Problems in Creation-Oriented Applications A diversity of user goals and strategies make creation-oriented applications such as word processors or photo-editors difficult to comprehensively test. Evaluating such applications requires testing a large pool of participants to capture the diversity of experience, but traditional usability testing can be prohibitively expensive. To address this problem, this article contributes a new usability evaluation method called backtracking analysis, designed to automate the process of detecting and characterizing usability problems in creation-oriented applications. The key insight is that interaction breakdowns in creation-oriented applications often manifest themselves in backtracking operations that can be automatically logged (e.g., undo and erase operations). Backtracking analysis synchronizes these events to contextual data such as screen capture video, helping the evaluator to characterize specific usability problems. The results from three experiments demonstrate that backtracking events can be effective indicators of usability problems in creationoriented applications, and can yield a cost-effective alternative to traditional laboratory usability testing. Creation-oriented software applications such as photo editors, 3D modeling programs, and word processors can be difficult to comprehensively test with traditional laboratory usability testing methods. A diversity of creation goals and strategies causes different people to encounter completely different usability problems. This diversity translates into the need for a large pool of participants in order to identify a high percentage of the problems. However, testing a large pool of participants can be prohibitively expensive, due to the high costs of traditional, expert-moderated think-aloud usability testing. To address this need, we introduce a usability evaluation method called backtracking analysis designed to automate the process of detecting and characterizing usability problems in creation-oriented applications. The key insight is that interaction breakdowns in creation-oriented applications often manifest themselves in simple backtracking operations that can be automatically logged (e.g., undo operations, erase operations, and abort operations). Backtracking analysis synchronizes these events to contextual data such as screen capture video, helping to characterize specific usability problems without requiring the active attention of a human moderator. A pairedparticipant retrospective discussion provides additional context for each backtracking event, providing further insight into the nature of the usability problems experienced. The primary claim of this article is that backtracking events can be effective indicators of usability problems in such applications, and that backtracking analysis provides a cost-effective alternative to traditional laboratory usability testing.. There are several research challenges faced in demonstrating this claim. First, simply detecting a backtracking event tells us nothing about the specific difficulty encountered by a user. One must find a way to collect the contextual information needed to characterize the nature of users' difficulties without compromising the costeffectiveness of the approach. Second, it is clear that not all usability problems are accompanied by backtracking events, and that not every backtracking event indicates a usability problem. What if backtracking events yielded a low hit rate (percentage of usability problems detected), and a high false alarm rate (percentage of events that fail to indicate a usability problem) [Gray 1997; Swallow et al. 1997] ? Finally, from a practical standpoint, it might be difficult to integrate backtracking analysis into the usability evaluator's arsenal of tools.. These challenges can be expressed in the form of three primary research questions addressed by this article. The results of this third experiment touch upon some the strengths and weaknesses of backtracking analysis compared to traditional laboratory usability testing. Data from the experiment indicate that backtracking analysis can be significantly more cost effective than traditional laboratory usability testing, when one takes into account the ability to test participants in large groups. However, an analysis of the problems found by each method suggests that traditional laboratory testing is better suited for detecting problems related to feature discoverability, and perhaps strategy formation as well. Interviews with the three evaluators provided information about the practical applicability of backtracking analysis; evaluators were most excited about the use of paired-participant retrospectives, even outside the context of backtracking analysis. The results from these experiments have convinced us that backtracking analysis provides a promising approach to detect problems in creation-oriented applications such as Google SketchUp and Adobe Photoshop. We have been particularly encouraged by the problem detection rates, especially for severe problems, and by the positive comments of the professional usability evaluators who experimented with backtracking analysis. This section reflects on the results of the two studies, and discusses possible threats to internal and external validity.. Interpreting the Cost-Effectiveness Comparison. Since backtracking analysis turned out to be so much less expensive than traditional testing, we could only compare the methods for costs on the low end of the spectrum (see Figure 7) . Nevertheless, these comparisons are meaningful. The 24 participants in the backtracking condition cost the same as it would to test 11.5 participants in the traditional condition (when k = 2), 8.1 traditional participants when k= 4, and 6.5 traditional participants when k = 8. These sample sizes (611) are within the typical range of scales for traditional usability tests, indicating that the comparisons are still relevant to practitioners.. As mentioned in Section 3, it is worth exploring other metrics for effectiveness besides problem counts and severities. The analysis in this study does not account for possible differences in the downstream utility of backtracking analysis and traditional laboratory testing. As described in Section 6.4, one of the professional usability evaluators speculated that backtracking analysis might be less persuasive because of its extensive reliance on a retrospective protocol, which may artificially distance participants from the negative emotions they felt while experiencing usability problems. Further studies would help to determine the extent to which this is indeed a limitation of backtracking analysis.. Construct Validity. In choosing a single way to operationalize traditional laboratory testing, this study has a mono-operation bias. One cannot know how the study results might have been different if we had provided different instructions to the usability test moderator, or the three evaluators. Even the choice to recruit different individuals to perform the testing and the evaluation can be questioned; it is certainly possible that there is an efficiency gain when the moderator and the evaluator are the same person. (The moderator-evaluator could then make use of her notes during the evaluation phase.) However, it is also possible that moderator-evaluators would make more mistakes during evaluation, in the process of reconstructing what happened from partial memories and hastily-scribbled notes.. Internal Validity. As previously mentioned, reusing the backtracking analysis data from a previous study made it impossible to randomly assign participants to conditions. Without random assignment, it cannot be certain that the participants in each condition were similar along all important dimensions. We attempted to compensate for this shortcoming by applying tight statistical controls on what we considered to be the most significant individual difference factor: the prior Photoshop expertise of participants. The 24 participants in each condition had the exact same distribution of prior experience, as measured by self-report.. External Validity. This study is limited in scope. Researchers should be cautious when generalizing from the success observed with backtracking analysis from usability testing experiments in a laboratory setting with three evaluators, two tasks, and a single application.. However, a broader perspective emerges when one considers the successes of this study in combination with those of previous studies described in Section 5. Together, these studies show that backtracking analysis has proved effective for evaluating two different applications, with two different types of tasks (creating content vs. modifying content), with a total of four evaluators with differing backgrounds. This is reason for optimism among practitioners who consider experimenting with backtracking analysis.. One additional concern about generalizability specific to this study is the reliance on a single usability test moderator to run all of the studies in the traditional laboratory testing condition. It is possible that the test results would have differed if we had chosen a moderator with a different style of interacting with participants. (We are not aware of any formal studies of the "moderator effect," but it seems likely that meaningful differences could exist among moderators.) It is at least encouraging that all three evaluators gave positive feedback on the job performed by the moderator in this study. This section presents a preliminary analysis of cost effectiveness (Section 6.4.1), a characterization of the problems found and missed by backtracking analysis (Section 6.4.2), and a discussion of the usability evaluation contexts in which backtracking analysis might be most useful (Section 6.4.3). One difficulty Hartson and Castillo found with their first implementation of the user-reported critical incident technique was that users often initiated the reporting long after they experienced a problem, making it more difficult to link the reported incident to contemporaneous video or other context. The solution described in their paper was to decouple the detection and description of incidents, which is exactly what our own implementation does by combining contemporaneous detection of incidents with retrospective description.. A legitimate concern for any usability evaluation method that relies extensively on retrospective commentary is whether important information is lost due to the fallibility of human memory. We are encouraged by results from a study comparing current and retrospective think aloud protocols for usability evaluation [Van Den Haak and De Jong 2003] , which found that these protocols produced similar outcomes when testing an online library catalog. A recent eye-tracking study by Guan et al. [2006] provides further evidence that retrospective protocols are effective.. The pairing of participants during retrospective sessions also builds upon prior work. O'Malley et al. [1984] first described the idea of pairing participants during the task phase of think-aloud usability testing, coining the term "constructive interaction". A more recent study by Hackman and Biers [1992] discovered that participants generated more think aloud comments when working in pairs during a test. Note that in constructive interaction participants are paired during the task, whereas in backtracking analysis participants are paired only for the retrospective. (It would be reasonable to try constructive interaction in place of retrospective pairing, but this is left as future work.) While we certainly cannot claim to have invented the idea of paired-participant usability studies, we did find a unique application of this approach that proved to be surprisingly beneficial.. Our focus on backtracking events is closely related to a case study described by Swallow et al. [1997] . They instrumented a direct-manipulation visual builder application to record log data for a variety of indicators of critical incidents, including undo and erase. However, their study focused mainly on the hit rate for each indicator (the rate at which each indicator revealed actual usability problems). The authors performed no severity analysis of problems, and did not compare their methods with any other usability evaluation methods, as we do in Sections 5 and 6.. As in many recent studies [Bruun et al. 2009; Hartson et al. 2000] , this article measures the effectiveness of usability evaluation methods by estimating the number and type of usability problems that each method identifies. But as Wixon [2003] has observed, it does not matter how many problems one finds if these problems do not get fixed in the software. During the past decade, Wixon and others have advocated alternative metrics for success that more faithfully capture the "downstream utility" of a usability evaluation method [John and Marks 1997] : how often do the findings of a method lead to actual design changes that improve the software? A key element of downstream utility not addressed by this article is persuasiveness; how effectively does a usability evaluation method communicate its findings to developers, convincing them to instigate changes? This is left as future work.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B I O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Visual processing-inspired fern-audio features for noise-robust speaker verification In this paper, we consider the problem of speaker verification as a two-class object detection problem in computer vision, where the object instances are 1-D short-time spectral vectors obtained from the speech signal. More precisely, we investigate the general problem of speaker verification in the presence of additive white Gaussian noise, which we consider as analogous to visual object detection under varying illumination conditions. Inspired by their recent success in illumination-robust object detection, we apply a certain class of binary-valued pixel-pair based features called Ferns for noise-robust speaker verification. Intensive experiments on a benchmark database according to a standard evaluation protocol have shown the advantage of the proposed features in the presence of moderate to extremely high amounts of additive noise. Speaker verification systems have emerged as one of the major applications of speech processing technologies [1] , used for secure financial transactions, access control to locations, computer systems and networks [6] . The goal of automatic speaker verification is to accept or reject a claimed identity Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SAC ' based on the speech samples obtained from the user [2] . In this work, we considered text-independent speaker verification.. The first step in a speaker verification system is feature extraction. It extracts speaker-specific information from the speech data. Assuming speech signals are generated from quasi-stationary processes, short-term spectral analysis is applied to short speech segments, yielding a sequence of short-time spectra carrying speaker-specific information [6] . Usually, these short-time spectra are further transformed into more sophisticated feature vectors, involving further computations [1] like Mel-frequency Cepstral Coefficients (MFCC) [3] . After extraction, the features are modelled using various techniques, the most popular being Gaussian Mixture Models (GMM) [14] where generally a client-specific speaker model and a client-independent world model are trained. A score is calculated, typically a log-likelihood ratio, and a decision is obtained by comparing this score to a pre-defined threshold.. One of the main challenges to current speaker verification systems is the presence of background noise which tend to degrade verification performance. The second challenge is the reduction of computational complexity of the system at the same time.. In this work, we have addressed these challenges by viewing the problem of speaker verification from the perspective of computer vision. More precisely, we consider the spectral vectors obtained from speech data collected from a particular user as instances of a particular object class. The corruption by additive noise is considered as analogous to ambient illumination changes which change the appearance of the object. In this context, binary-valued pixel-pair based features like Local Binary Patterns (LBP) [11] , [15] and Ferns [12] have been recently used successfully for fast illumination-robust object detection. By definition, their value depends on the comparison of intensities of two pixel values, thus they are independent of monotonic illumination changes. Furthermore, the final decision is based on a combination of individual decision scores calculated from a set of distinct features. Some of the individual features might produce erroneous decision scores due to noise but it is less likely that their combined decision will be erroneous. Drawing from this idea, we have applied a certain class of these features called single-pair Ferns in the problem of noise-robust speaker verification. We hypothesize that such illumination-robust features will show a more graceful degradation of verification performance with increasing amount of noise, as compared to conventional features like MFCC. Furthermore, our binary features are simple to calculate, requiring a small number of comparisons and additions per feature vector, as compared to additional computations for the calculation of MFCC. Finally, we use a very simple feature selection method, and a Naive-Bayes classifier for obtaining the decision, as opposed to GMM which is more computationally intensive. To our knowledge, this class of pixel-pair based binary features have not been used before in the context of speaker verification. Haitsma et al. have used bit matrices obtained from comparisons of filterbanked spectrogram values as Audio Fingerprint blocks [5] . However, their work differs from ours in several aspects, in terms of methodology and application.. The rest of the paper is organized as follows. In Sec.2, we give a brief overview of binary features followed by a detailed description of the proposed Fern-Audio features in Sec.3. We describe our experiments in Sec.4 and highlight certain aspects of our work in Sec.5. Finally, Sec.6 outlines the main conclusions of our work. Inspired by recent advances in computer vision, we have proposed an alternative feature set called Fern-Audio features for speaker verification. Using a Naive-Bayes classifier and a simple feature selection procedure, our system outperforms the baseline system in an unmatched noisy test scenario involving additive white Gaussian noise across a wide range of SNRs. At the same time, it is less intensive on computation and storage requirements than the baseline system showing promise for use in real-time systems. In Table 1 , we report the verification performance of different systems, in terms of the HTER% on the test data, using a global threshold optimized according to EER criterion on the development data (ref. Sec.4.1). A total of 3 systems are represented. System 1 is the baseline, with (16 MFCC + 16 delta-MFCC) features [4] , modelled by GMM ( either with 2 Gaussians or 32 Gaussians) [1] . It has a CMS step, and silence removal is either by bi-Gaussian or by sorting on frame energies. System 2 shows our proposed approach, with the number of optimally chosen Fern-Audio features N b varying from 5 to 50. System 3 uses the proposed Fern-Audio features but uses random selection. The HTER% for the best performing configuration is highlighted in bold for the first two systems. For this database, the sampling frequency fs is 8kHz. The speech waveform is broken up into frames of length 20 msec, with an overlap of 10 msec. For the FFT, we chose N = 256. For the feature selection, we examined with values of the number of features, N b ranging from 1 to 1000.. We compared our proposed system to a baseline MFCC-GMM system with two configurations (2 and 32 Gaussians) [1] . The baseline system included a noise-removal step by Cepstral Mean Subtraction (CMS) [1] . Our proposed setup has no equivalent noise-removal step because we hypothesize it will be relatively robust to such noise. For the baseline systems, we also implemented Silence Removal by modelling the speech/non-speech segments using a Bi-Gaussian fit over the MFCC features [1] . However, for our proposed features, we cannot use such a technique, because we do not calculate MFCC and also we wanted to maintain the low computational cost requirements. As an alternative, we first sorted the frame energies, and retained 20% of the higher energy frames for training and 10% for testing. It is to be noted that these are not optimized and purely experimental.. To justify our feature selection scheme, we also compared our proposed system with a similar system using the same Fern-Audio features but where the features are selected uni- formly randomly from the feature set Φ instead of using the optimality criterion in Eqn.7.

O O O O O O B I O O O O O O O O B I O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B I I I O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A min-cost flow based detailed router for FPGAs Routing for FPGAs has been a very challenging problem due to the limitation of routing resources. Although the FPGA routing problem has been researched extensively, most algorithms route one net at a time, and it can cause the netordering problem.In this paper, we present a detailed routing algorithm for FPGAs based on min-cost How computations. Using the min-cost flow approach, our algorithm routes all the nets connected to a common logic module simultaneously. At each stage of the network How computation, we guarantee optimal result in terms of routability and delay cost. For further improvement, we adopt an iterative refinement scheme based on the Lagrangian relaxation technique. The Lagrangian relaxation approach transforms the routing problem into a sequence of Lagrangian subproblems. At each iteration of the algorithm, Lagrangian subproblems are solved by our min-cost How based routing algorithm. Any violation of congestion constraints is reHected in the value of corresponding Lagrangian multiplier. The Lagrangian multipliers are incorporated into the cost of each routing rosource node and guide the router.Because our min-cost How based algorithm minimizes cost function while it maximizes the flow, our algorithm finds congestion-free routing solutions with minimum total delay. Comparison with VPR router shows that our router uses less or equal number of routing tracks with smaller critical path delay as well as total routing delay. Due to their low manufacturing cost and $me, field programniahle logic arrays (FPGAs) have been very popular for rapid system prototyping, logic emulation, and reconfigurable computing. Figure 1 shows a typical array-based FPGA architecture. An array-based FPGA consists of a two-dimensional array of logic modules, vertical and horizontal routing channels, and switch modules. The logic niodules contain combinational and sequential circuits to realize logic functions. The routing channels and thc switch modules comprise the routing resources of an FPGA. The *This work was partially supported by the National Science Foundation under grant CCR-0244236 Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided lhat copies are no1 made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redislribute to lisls, routing channels usually have various lengths of wire segments to improve circuit performance and maintain reasonable routability at the same time. Routing of an FPGA is performed by programming the switches to connect the wire segments. Due to their high RC delays and large area, the routability of switch modules are usually limited.. It is widely known that the feasiblity of FPGA design is most constrained by routing resources, and routing delays dominate the performance of FPGAs. The routing problem of the array-based FPGAs has been extensively studied by researchers [4, 6, 9, 12, 13, 14, 16, 181 . Most FPGA routers route one net at a time, and they suffer from netordering problem in which routing results may vary significantly depending on the ordering of the nets to route. The PathFinder algorithm[l4] alleviates this problem by welldesigned ripup and reroute scheme. The VPR routerjl61, based on a careful implementation of the PathFinder a l g e rithm, is a very successful placement and routing tool.. In this paper, we present an effective routability driven detailed routing algorithm, which also considers routing delay. Our algorithm first considers the problem of routing all the nets connected t o one common logic module through logically equivalent input pins. We assume the LUT-based logic modules for our target architecture. Our algorithm exploits the fact that the input pins of a LUT are logically equivalent, and it routes all the nets connected to one LUT simultaneously. Our algorithm is hased on min-cost How computations, and it guarantees to find a congestion-free wire type assignment solution if one exists. Furthermore, it can find B solution with minimum total delay at the same time. Although network flow frameworks have been used for various requires prior specific permission andior a fee.. Copyright2003 ACM 1-58111-762-11031001 I ... $5.00.. ICCAD'O3, November 11. 13.2003 . Figure 2 : A routing g r a p h a n d the routing trees for t w o nets. Black nodes represent input pin nodes, white nodes correspond t o o u t p u t pin nodes, a n d t h e g r a y nodes correspond to the wire segments. Edge p a i r s b e t w e e n the nodes are represented b y t h e bidirectional edges for simplicity. flow frameworks have been used for various routing a l g e rithmsi3, 7 , 11, 151, most of those algorithms need to solve the multicommodity flow problems which cannot guarantee integer flow solutions. Although [15] proposed an algorithm based on min-cost flow algorithm, it can only handle the nets connected to a common node.. To alleviate the possible ordering problem in LUT selection, and to further improve the routing results, we adopt an iterative refinement scheme based on Lagrangian relaxation. In the Lagrangian relaxation framework, the routing problem is transformed into a sequence of subproblems called the Lagrangian subproblems. Each subproblem corresponds to the routing problem for all the nets connected to a LUT, and it is solved by min-cost flow computation. A t each iteration of our algorithm, violations in congestion constraints are reflected in the value of corresponding Lagrangian multipliers, and the multipliers guide the router.. The rest of the paper is organized as follows. The FPGA dctailed routing problem is defined in section 2. In section 3, wc present the flow network graph construction scheme and our nctwmk flow based algorithm for routing nets together with the Lagrangian relaxation franiework lor iterative refinement. Experimental results are shown in section 4, and we conclude the paper in section 5. In this paper, we proposed a congestion-driven detailed router for FPGAs. In our algorithm, we route all the net segments connected to a LUT simultaneously rather than routing one net at a time. By routing several net segments simultaneously using min-cost flow computation, our algu rithm can alleviate the net ordering problem. To avoid ordering problem in selecting LUTs, we adopted an iterative refinement scheme based on Lagrangian relaxation. Each of Lagrangian subproblems is solved by successive application of min-cost flow based routing algorithm on all the net segments connected to each LUT.. We could find feasible routings for the benchmark circuits with less or equal number of routing tracks per channel compared to VPR router. Furthermore, the total delays of the nets are also reduced, which can contribute to reducing critical path delay of the circuit. We compared our algorithm with VPR router and the experimental results shows that our algorithm is very effective.

O O B O O B O B B O B O O O O O O O O O O O B O O O B I O O O O O O O O O O O O O O O O O O O O O B O O O O B B O B O O O O O O O O B O O B O O O O O O O O B B O O O O O O O O B O O O O O O O O O B B O O O O O O O O B O O O B I O O B I O O O B O O O B O O O O O O O O B O O O O O O O O O B B O O O B O O O O O B O O O O O O O O O O O B O O B O O O O O O O O O O B O B O O O O O B O B O O B O O O O B O O O B O O O B O O O O O O B O O O O O B O O O O B B O O O O O B O O O O B O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O B O O O O O O O O B O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O B O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O B B O O O B B O B O O O O O B O O O O O O O O B B O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O B O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O B I O O B I O O B O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O B B O O O O O O B O O B O O O O O B O O O O O O O O O B O O O O B O O O O O O O B O O O O O O O O O O O O B O O O B O O O B O B O B O O O O B I O O O O O O O O O O O O O O O B O O O O O B O O O O O B O B O O B O O O O O O O O O O O O O B O O O O O O B O O O O O O B B O O O O O O O O O O O O O O O O O O O O O B O O B I O O O O O O O O O O O B O B B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O B O O B O O O O O O O B O O O


Chaotic Phase Synchronization and Desynchronization in an Oscillator Network for Object Selection Object selection refers to the mechanism of extracting objects of interest while ignoring other objects and background in a given visual scene. It is a fundamental issue for many computer vision and image analysis techniques and it is still a challenging task to artificial visual systems. Chaotic phase synchronization takes place in cases involving almost identical dynamical systems and it means that the phase difference between the systems is kept bounded over the time, while their amplitudes remain chaotic and may be uncorrelated. Instead of complete synchronization, phase synchronization is believed to be a mechanism for neural integration in brain. In this paper, an object selection model is proposed. Oscillators in the network representing the salient object in a given scene are phase synchronized, while no phase synchronization occurs for background objects. In this way, the salient object can be extracted. In this model, a shift mechanism is also introduced to change attention from one object to another. Computer simulations show that the model produces some results similar to those observed in natural vision systems. Synchronization is characterized by a tendency of two or more dynamical systems to operate in coherent rhythm. It is a common phenomenon observed in science, engineering and social life as diverse as clocks, singing crickets, cardiac pacemakers, firing neurons and applauding audiences (Pikovsky et al., 2001) . Since the early 1990s, there has been strongly increasing interest in the synchronization of chaotic systems (Pecora and Carroll, 1990) .. In fact, one can distinguish among different types of synchronization for chaotic systems, from complete synchronization, to phase synchronization, lag synchronization, anticipating synchronization, and generalized synchronization. Complete synchronization is defined as the complete coincidence of the trajectories of the coupled individual chaotic systems in the phase space. Mathematically, given state variable vectors x and y representing two dynamical systems, they are said to be completely synchronized if |x − y| → 0 as t → ∞. Phase synchronization takes place in cases involving almost identical dynamical systems and it means that the phase difference between the systems is kept bounded over the time, while their amplitudes remain chaotic and may be uncorrelated (Pikovsky et al., 2001; Rosenblum et al., 1996) . A third type of synchronization is lag synchronization, occurring for a stronger coupling of the oscillating subsystems until they become identical in phases and amplitudes, but shifted in time . Anticipating synchronization occurs in unidirectional delayed coupling schemes to produce a collective behavior wherein the output of the response system anticipates the output of the drive one (Voss, 2000) . Generalized synchronization implies that the trajectory of one subsystem is a function of other ones (Uchida et al., 2003) .. Evidence from physiological experiments has been accumulating with strong indication on the existence of synchronous rhythmic activities in different areas of the brain of human beings, cats and monkeys (Eckhorn et al., 1988; Engel et al., 1991; Fries et al., 2001; Gong et al., 2003; Grey et al., 1989; Kim et al., 2007; Murthy and Fetz, 1992) . It has been suggested that this neuronal oscillation and synchronization have a role in feature binding and scene segmentation problems. The processing through synchronous oscillations is related to the temporal coding: an object is represented by temporal correlation of firing activities of spatially distributed neurons (von der Malsburg, 1981) . In practice, a special form of temporal correlation, called oscillatory correlation, has been successfully applied to several computational problems (Terman and Wang, 1995; von der Malsburg and Schneider, 1986; Wang and Terman, 1997; Wang, 2005) . The oscillatory correlation role can be described as follows: oscillators which represent different features of the same object are synchronized, while oscillators coding different objects are desynchronized (Wang, 2005) . Complete chaotic synchronization has been implemented in oscillatory correlation models with advantage of unbounded capacity of segmentation (Hansel, 1992; Zhao et al., 2000; Zhao and Macau, 2001) .. The role of synchronization in brain functions has received support from neurobiological findings (Jermakowicz and Casagrande, 2007) . For example, it has been shown that visual attention is strongly linked with synchronization, in which the coherence among neurons responding to the same stimulus is increased (Fries et al., 2001; Kim et al., 2007; Buia and Tiesinga, 2006; Niebur and Koch, 1994) . Visual attention is the capacity developed by living systems to select just relevant environmental information. It reduces the combinatorial explosion of information received by sensory system (Shic and Scassellati, 2007; Tsotsos, 1992) , identifies the region of the visual input which reaches certain awareness level (focus of attention), and suppresses irrelevant information (Itti and Koch, 2001; Carota et al., 2004) . Thus, a visual selection system should satisfy the following requirements:. • Considering a combination of features as input, the system must highlight (select) the regions of the image (or objects) where the focus of attention is directed;. • All other locations (objects) of the visual input must be suppressed by the system in order to keep the focus of attention on just few of the active objects.. • The focus of attention must be shifted to other remaining active locations (objects). It means that the system must implement a type of habituation system where the presence of a fixed winner stimulus must be followed by a progressive diminution of its response and allowing other stimuli to become active.. There are basically two approaches for computer visual attention models. One is location-based and another is object-based (Wang, 2005) . The majority of visual attention models are implemented by using WTA (Winner Take All) mechanisms, which are compatible to location-based theory. In this case, a single neuron is activated. As a result, the attention is directed to a point or a small area, but not a whole object or a component of object (Itti et al., 1998) . Object-based theories consider objects as the basic units of perception acting as a whole in a competitive process for attention (Desimone and Duncan, 1995; Roelfsema et al., 1998; O'Craven et al., 1999; Wang, 1999) . This approach not only receives behavioral and neurophysiological experimental support, which shows that the selection of objects plays a central role in primate vision (Roelfsema et al., 1998; Richard et al., 2008; 3 Wang et al., 2005) , but also matches well to our everyday experience. The model proposed in this paper is object-based, in which visual attention is delivered to the salient object or component.. Owing to the relation between synchronization and visual attention, some visual attention models have been proposed where the complete synchronization among oscillators is used to represent objects (Wang, 1999; Kazanovich and Borisyuk, 2002; Quiles et al., 2007) . However, the synchronization phenomena observed in real experiments rarely represent a complete synchronization. Thus, other forms of synchronization should be taken into consideration. Particularly, phase synchronization is a model of reciprocal interaction, which is believed to be the key mechanism for neural integration in brain. Direct evidence supporting phase synchrony as a basic mechanism for brain integration has recently been provided by extensive studies of visual binding (Varela et al., 2001) .. In this paper we propose a chaotic oscillatory correlation network for object selection (Breve et al., 2009) . In general, the focus of attention can be several locations or objects, the so-called magic number 4 ± 1 of human short-term memory (Cowan, 2001) . In this paper, we limit our objective to select only one salient object at each time. In contrast to other oscillationbased object selection models (Wang, 1999; Kazanovich and Borisyuk, 2002) , our model is the first to use chaotic phase synchronization. It is based on a network of coupled chaotic Rössler oscillators (Rosenblum et al., 1996) , which is used to create a selection mechanism where one of several objects is segmented and highlighted (receives the focus of attention). As the system runs, the group of neurons representing the salient object of a visual input is locked in phase, which means each oscillator still produces a unique chaotic trajectory, but with their phases bounded. At the same time, the groups of neurons representing other objects in the scene remain with their phases uncorrelated. After receiving attention, the salient object is inhibited in order to permit other objects to receive the focus of attention. This attention shift process can be seen as a habituation system where the presence of a fixed winner stimulus must be followed by a progressive diminution of its response and allowing other stimulus to become active (focus of attention shifting). In this model, we consider pixel contrast as visual attention clue, i.e., the object with the higher contrast in the scene is considered as the most salient object. This feature is also supported by biological findings which show that the perceptual system might encode contrast of features rather than the absolute level of them (Yantis, 2005) . This paper is organized as follows. In section 2, the chaotic phase synchronization is presented. In section 3 the proposed model is described. In Section 4, the results obtained through simulation of the proposed model applied to synthetic and real images are showed. Finally, in Section 5, conclusions are drawn. This paper presented a visual selection mechanism based on a network composed of chaotic Rössler oscillators, taking advantage of its phase synchronization behavior. This mechanism can be seen as part of a visual attention system, which is responsible for selecting one object of interest from an input image at each time, while keeping the non-salient, or less salient, objects unsynchronized.. Oscillatory networks have been applied to solve problems of image segmentation, auditory signal segregation, feature binding, and object selection. This kind of models requires two mechanisms: synchronization to group each object and desynchronization to distinguish one object form another. Network of coupled periodical oscillators has advantage to easily synchronize each group of oscillators. But it has difficulty to discriminate different objects due to accident coincidence of various synchronized trajectories. Chaos and chaotic synchronization is a suitable solution to this problem. This is because a group of chaotic oscillators can be synchronized and at the same time all groups of oscillators can be easily distinguished following the high sensitivity to initial conditions and the dense properties of chaos (Hansel, 1992; Zhao et al., 2000; Zhao and Macau, 2001) . However, complete chaotic synchronization of a large amount of locally coupled oscillators (like in image processing applications) requires a strong coupling strength, which may leads the system to diverge to infinity. On the other hand, the coupling strength required for chaotic phase synchronization is much smaller, thus the system is safe. Moreover, chaotic phase synchronization is more robust than chaotic complete synchronization or periodic synchronization. This feature can be seen from the simulation results performed on real-world images shown by Figs. 6a and 8a , where the pixels within the "flower" object or within the "grass" object vary in a certain range. In these cases, the oscillators representing the "flower" object or the "grass" object may not be completely synchronized but can be phase synchronized. This is a desirable feature in image segmentation and object selection. Moreover, chaotic phase synchronization is usually observed in nonidentical systems. This is also desirable in engineering applications, since real systems are rarely identical.

B I I O O O O O O O B I B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I I O O O O O O O O O O O O O O O O O O O


Understanding changes in belief and attitude toward information technology usage: a theoretical model and longitudinal test JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide range of content in a trusted digital archive. We use information technology and tools to increase productivity and facilitate new forms of scholarship. For more information about JSTOR, please contact support@jstor.org. Management Information Systems Research

O O O B O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O


An empirical study of regression test application frequency Regression testing is an expensive maintenance process used to revalidate modified software. Regression test selection (RTS) techniques try to lower the cost of regression testing by selecting and running a subset of the existing test cases. Many such techniques have been proposed and initial studies show that they can produce savings. We believe, however, that issues such as the frequency with which testing is done have a strong effect on the behavior of these techniques. Therefore, we conducted an experiment to assess the effects of test application frequency on the costs and benefits of regression test selection techniques. Our results expose essential tradeoffs that should be considered when using these techniques over a series of software releases.Keywords regression testing, application frequency, empirical studyAfter modifying software, developers typically want to know that unmodified code has not been adversely affected. When such unmodified code is adversely affected, we say that a regression error has occurred.Developers often do regression testing to search for such regression errors. The simplest regression testing strategy is to rerun all existing test cases. This method is simple to implement, but can be unnecessarily expensive, especially when changes affect only a small part of the system.Consequently, an alternative approach, regression test selection (RTS) technique, has been proposed [e.g., 1,2,5,6,10,14]. With this approach only a subset of test cases are selected and rerun. Since, in general, optimal test selection (i.e., selecting exactly the fault-revealing test cases) is impossible, the cost-benefit tradeoffs of RTS techniques is a central concern of regression testing research and practice.Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are !lot made or distributed for profit or comiiiercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise. to republish, to post on seiiws or to rcdistribute to lists, requires prior specific pemdssion andior a fee.Copyright ACM 2000 1-581 13-206-9/00/6 ... $5.00A common way to study this problem has been to find or create base and modified versions of a system and accompanying test suites. Next, a test selection algorithm is run and the size and effectiveness of the selected test suite is compared to the size and effectiveness of the original test suite [e.g., 4,11,16,17].One limitation of this approach is that it models regression testing as a one-time activity rather than as the continuous process it is. For example, software releases often require many changes to a system with regression testing interspersed between some number of changes (rather than one regression test at the end of a release). In practice, many companies integrate changes and then regression test on a monthly, weekly, or even daily basis.Our hypothesis is that the amount of change made between regression testing sessions strongly affects the costs and benefits of different regression test selection techniques. That is, we believe that some test selection techniques will perform less cost-effectively as the amount of changes made between regression testing sessions grows. This is because they will select increasingly larger test suites and because these suites will become increasingly less cost-effective at finding faults.If this hypothesis is true, testing practitioners may be able to better manage and coordinate their integration and regression testing processes, thereby saving time and money. Therefore we have designed and implemented an experiment to examine this hypothesis.In the remainder of this paper we review the relevant literature, describe our research hypotheses, present the design and analysis of our experiment and discuss our conclusions and future research directions.BACKGROUND AND LITERATURE REVIEWLet P be a procedure or program, let P' be a modified version of P and let T be a test suite for P. After modifying software, developers typically want to know that unmodified code has not been adversely affected. When such unmodified code is adversely affected, we say that a regression error has occurred.. Developers often do regression testing to search for such regression errors. The simplest regression testing strategy is to rerun all existing test cases. This method is simple to implement, but can be unnecessarily expensive, especially when changes affect only a small part of the system. Consequently, an alternative approach, regression test selection (RTS) technique, has been proposed [e.g., 1,2,5,6, 10, 14] . With this approach only a subset of test cases are selected and rerun. Since, in general, optimal test selection (i.e., selecting exactly the fault-revealing test cases) is impossible, the cost-benefit tradeoffs of RTS techniques is a central concern of regression testing research and practice.. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are !lot made or distributed for profit or comiiiercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise. to republish, to post on seiiws or to rcdistribute to lists, requires prior specific pemdssion andior a fee. A common way to study this problem has been to find or create base and modified versions of a system and accompanying test suites. Next, a test selection algorithm is run and the size and effectiveness of the selected test suite is compared to the size and effectiveness of the original test suite [e.g., 4, 11, 16, 17] .. One limitation of this approach is that it models regression testing as a one-time activity rather than as the continuous process it is. For example, software releases often require many changes to a system with regression testing interspersed between some number of changes (rather than one regression test at the end of a release). In practice, many companies integrate changes and then regression test on a monthly, weekly, or even daily basis.. Our hypothesis is that the amount of change made between regression testing sessions strongly affects the costs and benefits of different regression test selection techniques. That is, we believe that some test selection techniques will perform less cost-effectively as the amount of changes made between regression testing sessions grows. This is because they will select increasingly larger test suites and because these suites will become increasingly less cost-effective at finding faults.. If this hypothesis is true, testing practitioners may be able to better manage and coordinate their integration and regression testing processes, thereby saving time and money. Therefore we have designed and implemented an experiment to examine this hypothesis.. In the remainder of this paper we review the relevant literature, describe our research hypotheses, present the design and analysis of our experiment and discuss our conclusions and future research directions. We have presented the initial results of an empirical study of regression test application frequency. We investigated some of the costs and benefits of several RTS techniques when the number of changes between the base and subsequent versions of a program increases. Our results highlight several differences among RTS techniques with respect to test application frequency. They also illustrate some tradeoffs and provide an infrastructure for further research.. As we discussed earlier, this study has several limits to its validity. Particularly, several threats to external validity limit our ability to generalize our results. These threats can only be addressed by extensive experiments with a wider variety of programs, test suites, series of versions, type of faults, etc. Keeping this in mind, we drew the Our experimental results strongly support our hypotheses that the size and fault detection effectiveness of test suites chosen by regression test selection techniques change as the frequency of regression testing changes.. As testing interval increases so does the percentage of faults that are undetectable by the original test suite. This affects the performance of all RTS techniques we studied.. Safe techniques selected the same or fewer test cases as retest-all did while having the same effectiveness. Therefore, they are preferable to retest-all as long as their analysis costs are less than the cost of running the unselected test cases. We saw, however, that as the testing interval grew, almost all test cases were selected. In this case, safe methods may not be preferable to retest-all.. Nevertheless, our analysis showed that the performance of safe techniques depended heavily on the structure of the program, the location of faults and the composition of the test suites. For instance, test cases for the program schedule2 are constructed in such a way that each test case exercises large portions of the code. Consequently, changes, no matter how small, tend to involve all test cases in the test suite. Test cases that exercise independent portions of the system might not exhibit such behavior and thus might be more amenable to safe test selection. Research that successfully merges the RTS techniques with test suite construction is likely to have a large effect on the use of safe techniques in practice.. Random techniques are surprisingly cheap and effective. Interestingly, as the testing interval increases their median effectiveness approaches that of retest-all with less variation between runs. That is: at small testing intervals effectiveness ranges from very high to very low. However, as the testing interval increases, this range gets much smaller. Thus, a user of random techniques might be more confident of their effectiveness in the latter situation.. The difference in performance between minimization at low testing intervals and minimization at high testing intervals was remarkable. At low testing intervals minimization selected one or two test cases and was only 16% as (relative) effective as retest-all. However, at a testing interval of 10, it selected only four or five test cases, while having about 60% of the (relative) effectiveness of retest-all.. Thus, although this approach will miss some faults, from a cost-benefit perspective it presents an interesting option. Also, in our study minimization picks exactly one test case through a change. It would be interesting to ask what would happen if it instead picked two, three or more.. As testing intervals increase, complex fault interactions can make it harder to detect some faults. This is somewhat obvious. More to the point, however, is that as the testing interval increases, information about a base program P, and test set T, will become less predictive of the state of P'. For example, a test set that was edge-coverage-adequate on program P, might have very different coverage of program P.. We are continuing this family of experiments. We plan to (1) improve our cost models to include factors such as testing overhead and to better handle analysis cost, (2) extend our experiment to larger programs with a wider variety of naturally-occurring faults, and (3) explore techniques that incorporate previous testing history.

O B I O O B O O B I O O O B B O O O O B O B O O O O O O O B O B I O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O B I O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B I O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O B I O O O O O O O O O B O O O O B O O O O O O O O O B I O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O B I O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B I O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O B I O O O O O O O O O B O O O O B O O O O O O O O O B I O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O B I O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O B I O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O B O B O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O


Estimation for discrete-time systems with multiple packet dropouts using covariance information The problem is considered of estimating a signal based on measurements with multiple packet dropouts when the probability of data arrival at a processing unit is known. Assuming that the equation which describes the signal is unknown, we derive recursive algorithms for the prediction, filtering and smoothing problems using the information provided by the covariance functions of the processes involved in the measurement equation. Recently, the trend to utilize networks for transmitting measurement data has gained ground over traditional systems of communication. This form of transmission has several advantages, such as low cost, simple installation and maintenance, and flexibility. However, in many practical situations, its use may bring about problems such as the loss of data or packet dropouts due to unreliable features of networks.. Packet dropouts are a kind of uncertainty, and can occur randomly, due to failures in transmission or to network congestion. This problem is common in network systems and so, in the last few years, estimation and control problems in systems with multiple packet dropouts has received a lot of attention.. The estimation problem in multiple packet dropouts systems has been studied using different approaches, for example, by considering switched systems (see [1] ), modeling packet dropouts by Markov chains (see, for example, [2-4]) or assuming that the packet dropouts are realizations of independent Bernoulli random variables. Under this latter assumption, Sinopoli et al. [5] obtained the Kalman filter with intermittent observations by using ''dummy'' observations with a given variance when the real observations do not arrive; they also analyzed the stability of the proposed filter. Other authors, under the framework of packet dropouts modeled by independent Bernoulli random variables, have studied the estimation problem of the signal by transforming the original system into a stochastic parameter system and by augmenting the state and measurement. Specifically, Sahebsara et al. [6] solved the filtering problem for systems with multiple packet dropouts as well as other typical problems of networks such as random sensor delay and uncertain observations through the same framework, using the stochastic H 2 -norm for systems with stochastic parameters. In [7] the problem of optimal H ∞ filtering in the network with multiple packet dropouts was addressed by generalizing the H ∞ -norm for systems with stochastic parameters. Adopting a similar model to that used in [6] , Sun et al. [8, 9] derived the optimal linear estimator, including the filter, predictor and smoother in the minimum variance sense using an innovation approach.. The aforementioned papers study the estimation problem in multiple packet dropout systems considering that the statespace model is fully known; however, in many practical contexts, the equation which describes the state is unknown. In this

O O O O O O B I O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Partitioning a graph of bounded tree-width to connected subgraphs of almost uniform size Assume that each vertex of a graph G is assigned a nonnegative integer weight and that l and u are nonnegative integers. One wishes to partition G into connected components by deleting edges from G so that the total weight of each component is at least l and at most u. Such an "almost uniform" partition is called an (l, u)-partition. We deal with three problems to find an (l, u)-partition of a given graph; the minimum partition problem is to find an (l, u)-partition with the minimum number of components; the maximum partition problem is defined analogously; and the p-partition problem is to find an (l, u)-partition with a fixed number p of components. All these problems are NP-complete or NP-hard, respectively, even for series-parallel graphs. In this paper we show that both the minimum partition problem and the maximum partition problem can be solved in time O(u 4 n) and the p-partition problem can be solved in time O(p 2 u 4 n) for any series-parallel graph with n vertices. The algorithms can be extended for partial k-trees, that is, graphs with bounded tree-width. Let G = (V , E) be an undirected graph with vertex set V and edge set E, and let |V | = n. Assume that each vertex v ∈ V is assigned a nonnegative integer ω(v), called the weight of v. Let l and u be nonnegative integers, called the lower bound and upper bound on component size, respectively. We wish to partition G into connected components by deleting edges from G so that the total weights of all components are almost uniform, that is, the sum of weights of all vertices in each component is at least l and at most u for some bounds l and u. We call such an almost uniform partition an (l, u)-partition of G. In this paper we deal with the following three partition problems to find an (l, u)-partition of a given graph G: the minimum partition problem is to find an (l, u)-partition of G with the minimum number of components; the minimum number is denoted by p min (G); the maximum partition problem is defined analogously; and the p-partition problem is to find an (l, u)-partition of G with a fixed number p of components.. Figs. 1(a) and (b) illustrate two (10, 20)-partitions of the same graph, where each vertex is drawn as a circle, the weight of each vertex is written inside the circle, and the deleted edges are drawn as dotted lines. The (10, 20)-partition with four components in Fig. 1(a) is a solution for the minimum partition problem, and hence p min (G) = 4 for the graph G in Fig. 1(a) . The (10, 20)-partition with six components in Fig. 1(b) is a solution for the maximum partition problem.. The three partition problems often appear in many practical situations such as with image processing [5, 8] , paging systems of operation systems [11] , and political districting [3, 12] . Consider, for example, political districting. Let M be a map of a country, which is divided into several regions. Let G be the dual graph of the map M. Each vertex v of G represents a region, and let the weight ω(v) represent the number of voters in region v. Each edge (u, v) of G represents the adjacency of the two regions u and v. For the political districting, one wishes to divide the country into electoral zones. Each zone must consist of connected regions, that is, the regions in each zone must induce a connected subgraph of G. There must be an almost equal number of voters in each zone, that is, the sum of ω(v) for all regions v in each zone is at least l and at most u for some bounds l and u. Such electoral zoning corresponds to an (l, u)-partition of the plane graph G.. Two related problems have been studied for trees. One is to partition a tree into the maximum number of subtrees so that the total weight of each subtree is at least l [9] . The other is to partition a tree into the minimum number of subtrees so that the total weight of each subtree is at most u [7] . Both can be solved for trees in linear time. Our three partition problems are generalizations of these problems. One may expect that there would exist efficient algorithms for the three partition problems on trees, but our problems are more difficult than the two problems in [7, 9] , except for paths; all the three partition problems can be solved for paths in linear time [8] .. An NP-complete problem called the set partition problem PARTITION [4] can be easily reduced in linear time to our problems for a complete bipartite graph K 2,n−2 , and K 2,n−2 is a series-parallel graph. (A definition of a series-parallel graph will be given in Section 2.) Therefore, the p-partition problem for general p is NP-complete and both the minimum partition problem and the maximum partition problem for general l and u are NP-hard even for series-parallel graphs. Hence, it is very unlikely that the three partition problems can be solved for series-parallel graphs in polynomial time, although a number of combinatorial problems including many NP-complete problems on general graphs can be solved for series-parallel graphs and partial k-trees in polynomial time or even in linear time [1, 2, 10] . One can also observe from the above reduction that, for any ε > 0, there is no polynomial-time ε-approximation algorithm for the minimum partition problem or the maximum partition problem on series-parallel graphs unless P = NP.. A strong NP-complete problem called 3-PARTITION [4] can be easily reduced in pseudo-polynomial time to our problems for a complete graph. Hence the p-partition problem is strong NP-complete and both the minimum partition problem and the maximum partition problem are strong NP-hard for general graphs. Therefore, there is no pseudopolynomial-time algorithm for any of our three problems for general graphs unless P = NP.. In this paper we first obtain pseudo-polynomial-time algorithms to solve the three partition problems for series-parallel graphs. More precisely, we show that both the minimum partition problem and the maximum partition problem can be solved in time O(u 4 n) and hence in time O(n) for any bounded constant u, and that the p-partition problem can be solved in time O(p 2 u 4 n). We then show that our algorithms can be extended for partial k-trees, that is, graphs with bounded tree-width [1, 2] . (A definition of a partial k-tree will be given in Section 5.) An early version of the paper has been presented at [6] . In this paper we first obtained pseudo-polynomial-time algorithms for three partition problems on series-parallel graphs. Both the minimum partition problem and the maximum partition problem can be solved in time O(u 4 n), and hence they can be solved in time O(n) if u = O(1). On the other hand, the p-partition problem can be solved in time O(p 2 u 4 n). Thus these algorithms take polynomial time if u is bounded by a polynomial in n.. We then showed that our algorithms for series-parallel graphs can be extended for partial k-trees, that is, graphs of bounded tree-width. The extended algorithm takes time O(u 2(k+1) n) for the minimum and maximum partition problems, and takes time O(p 2 u 2(k+1) n) for the p-partition problem.. We finally remark that, for ordinary trees, one can solve the minimum and maximum partition problems in time O(u 2 n) and the p-partition problem in time O(p 2 u 2 n) or O n + n p−1 .

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O B O O O O O O B I I O O O O B O O O O O O O O B I I O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O B I I O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O B I I O O O O B O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B I O O O O O O O O O O O O O O O O O O B I I O O B I I O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B I I O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O B I I O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O B I I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O