Two-Component Poisson Mixture Regression Modelling of Count Data with Bivariate Random Effects ABSTRACT Two-component Poisson mixture regression is typically used to model heterogeneous count outcomes that arise from two underlying sub-populations. Furthermore, a random component can be incorporated into the linear predictor to account for the clustering data structure.However, when including random effects in both components of the mixture model, the two random effects are often assumed to be independent for simplicity. A two-component Poisson mixture regression model with bivariate random effects is proposed to deal with the correlated situation. A restricted maximum quasi-likelihood estimation procedure is provided to obtain the parameter estimates of the model. A simulation study shows both fixed effects and variance component estimates perform well under different conditions. An application to childhood gastroenteritis data demonstrates the usefulness of the proposed methodology, and suggests that neglecting the inherent correlation between random effects may lead to incorrect inferences concerning the count outcomes. The analysis of count data that are overdispersed relative to the Poisson distribution (i.e., variance > mean) has been paid much attention. It is well known that application of the standard Poisson model may result in misleading inferences. Alternative methods of analysis have been proposed to deal with the overdispersion problem. Finite mixture models are appropriate when the extra variability comes from the unobserved heterogeneity of the population, which composes of two or more subgroups mixed in various proportions [1, 2] . In particular, Poisson mixture regression can be fitted to such overdispersed count data in the presence of covariate information. The methodology of Poisson mixture regression, including properties of estimators, adequacy of fit, and model selection procedure, have been extensively investigated in the literature [3] .. In the manner of generalized linear mixed models (GLMM) [4] , when the count outcomes are clustered or represent repeated measurements, random effects can be incorporated within the regression model to account for the inherent correlation between observations. Typically, fixed effect parameters and variance component estimation can be implemented using numerical procedures to compute restricted maximum likelihood estimates [5] . Recently, Chan et al. [6] proposed a Monte Carlo approximation method to achieve maximum likelihood estimation in GLMM. A two-component Poisson mixture regression model was developed for analysing maternity length of hospital stay, where random effects were included in the linear predictor of both mixture components to accommodate the hierarchical nesting of observations [7] . Similarly, a normal mixture regression model with random hospital effects was presented by Ng et al. [8] to model the clustered neonatal length of stay.. Both approaches assume the random effects in different mixture components are independent.. In this study, the two-component Poisson mixture regression is extended to the bivariate random effects setting for the mixture components. Specifically, the random effect vectors in the two components are assumed to be bivariate normally distributed with a correlation parameter. Such an extension allows the estimation of the correlation between the two components via the random effects, and enables the assessment of the relationship between the first and second components. Ignoring the correlation between random effects may result in misleading inferences.. In Section 2, a numerical estimation procedure is developed to obtain the fixed effect parameter estimates. The estimation equations for random effect parameters are derived in Section 3. A simulation study is conducted in Section 4 to assess the performance of the estimators, followed by a practical example on childhood gastroenteritis in Section 5 to demonstrate the applicability of the method. Discussion on computational issues and further extensions are given in Section 6. comes from a mixture of two Poisson populations with mixing probability p, then the probability distribution function is v are likely to be correlated if they arise from the same hospital or cluster. Therefore,

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 B I I 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 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 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 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 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


The Derivational Complexity Induced by the Dependency Pair Method We study the derivational complexity induced by the dependency pair method, enhanced with standard refinements. We obtain upper bounds on the derivational complexity induced by the dependency pair method in terms of the derivational complexity of the base techniques employed. In particular we show that the derivational complexity induced by the dependency pair method based on some direct technique, possibly refined by argument filtering, the usable rules criterion, or dependency graphs, is primitive recursive in the derivational complexity induced by the direct method. This implies that the derivational complexity induced by a standard application of the dependency pair method based on traditional termination orders like KBO, LPO, and MPO is exactly the same as if those orders were applied as the only termination technique. Several notions to assess the complexity of a terminating term rewrite system (TRS) have been proposed in the literature, compare [7, 8, 16, 20] . The conceptually simplest one was suggested by Hofbauer and Lautemann in [20] : the complexity of a given TRS is measured as the maximal length of derivation sequences. More precisely, the derivational complexity function with respect to a terminating TRS R relates the maximal derivation height to the size of the initial term. We adopt this notion as our central definition of the complexity of a TRS.. For termination proofs by direct methods a considerable number of results establish essentially optimal upper bounds on the growth rate of the derivational complexity function. See for example [18, 20, 22, 26, 29, 30, 31, 37, 38] for results in this direction. However, for transformation techniques like semantic labelling [40] or the dependency pair method [1] the situation changes. For semantic labelling, it is a trivial observation that the derivational complexity of the original TRS is bounded from above by the derivational complexity of the labelled system. However, if the domain of the used (quasi-)models is infinite, the labelled TRS is generally infinite, as well. Estimating the derivational complexity of such systems is harder than for finite systems: for some termination proof methods, such as the multiset path order (MPO for short) or the lexicographic path order (LPO for short) the complexity results only hold for finite TRSs [18, 38] . For the Knuth-Bendix order (KBO for short) the situation is better. If some weak conditions are in place, then the bound on the derivational complexity with respect to finite TRSs extends to infinite TRSs [25] . With respect to the dependency pair method, in [2, 16, 17, 23, 24, 32, 39] the bounds on derivation heights induced by the dependency pair method or its framework are investigated. However only variations on the original definition of the dependency pair method were analysed.. In this paper we give a derivational complexity analysis of the dependency pair method. It should be emphasised that the notion of dependency pair method studied here amounts to the original technique as introduced by Arts and Giesl [1] (see also Hirokawa and Middeldorp [14] ). As the dependency pair method is a transformation technique, we can only give a parametrised analysis. We call those techniques that are applied on the transformed system: base techniques. Let us exemplify this notation on the next example. Example 1.1. Consider the TRS R 1 given below:. R 1 is a variation of a TRS encoding the Ackermann function, introduced by Hofbauer [20, Proposition 5.9] (also compare [19] ). Note that R 1 is not simply terminating and the derivational complexity of R 1 grows as fast as the Ackermann function. However, termination can be (automatically) shown by the dependency pair method in conjunction with argument filtering and KBO (we give all necessary definitions in Sections 2 and 3).. In Example 1.1 we cannot apply KBO directly (the TRS R 1 is not simply terminating), but we apply KBO as base technique. In order to measure the strength of the dependency pair method itself, we express the induced complexity relative to the (maximal) complexities of the base techniques. With respect to Example 1.1 it is not difficult to see that the derivational complexity of R 1 belongs to Ack(Θ(n), 0), where n is the size of the start term. Essentially this follows from [19, Proposition 5.9 ], due to the closeness of R 1 to Hofbauer's original example. As this is also the complexity induced by KBO [22] it may appear that the dependency pair method does not add any power. Our results provide a clear picture of the true connection. With respect to upper bounds on the derivational complexity, we establish the following (technical) results: (1) For the basic dependency pair method (potentially using argument filterings) the induced derivational complexity is bounded triple exponentially in the derivational complexity of the base technique used. If we restrict to string rewrite systems, then the induced derivational complexity is exponential in the derivational complexity of the base technique.. (2) If we consider the basic dependency pair method using the usable rules refinement, then the induced derivational complexity is primitive recursive in the derivational complexity of the base technique. (3) Finally, if we consider the dependency pair method in conjunction with dependency graphs, then the induced derivational complexity is primitive recursive in the (maximal) derivational complexity of the base techniques employed.. Complementing these results, we present results on lower bounds. For the basic dependency pair method, we present an example which shows that at least two of the three exponentials in its upper bound can actually be reached. If we restrict to string rewriting, this bound reduces to a single exponential. Hence the corresponding upper bound mentioned in result (1) is optimal. For the usable rules refinement, we show that the growth rate of the derivational complexity function may be nonelementary. Furthermore we show that the bound for dependency graphs given by result (3) is essentially optimal.. To exemplify these results, we momentarily focus on polynomial interpretations as base technique. It is well-known that polynomial interpretations induce a double exponential bound on the derivational complexity [20] . Let R be a TRS and suppose termination of R has been established by applying the basic dependency pair method, where polynomial interpretations are used to define the employed reduction pair. According to result (1) the derivational complexity function with respect to R is bounded by 2 5 (O(n)), i.e, by a tower of 2s of height 5 in n. On the other hand, if in addition the usable rules criterion or dependency graphs are used, then results (2) and (3) yield that the derivational complexity is (at most) primitive recursive.. Thus seemingly easy refinements of the dependency pair method like dependency graphs may lead to noteworthy speed-ups of the growth rates of the derivational complexity function. On the other hand if strong techniques (with respect to the complexity induced) are employed in conjunction with the dependency pair method, then the derivational complexity of the analysed TRS may only depend on the complexity induced by the base technique.. Re-consider the TRS R 1 given in Example 1.1. There are nine dependency pairs.. To show termination of R 1 one may use the argument filtering π: π(f) = π(f ♯ ) = π(i ♯ ) = 1, π(i) = [1] , π(•) = π(• ♯ ) = [1, 2] and the reduction pair ( π KBO , > π KBO ), where ( π KBO , > π KBO ) is induced by the (admissible) weight function w with w 0 = 1, w(•) = w(• ♯ ) = 1, and w(i) = 0. Furthermore the precedence ≻ fulfils: i ≻ •, • ♯ . Due to result (1) and [22] the derivational complexity of R 1 belongs to Ack(Θ(n), 0).. In contrast to the case for polynomial interpretations, the complexity induced by the base technique belongs to a class of functions closed under primitive recursion. Hence it is already so huge, that the inherent complexity of the dependency pair method becomes negligible.. Note the challenges of our investigation: In order to estimate the derivational complexity of a rewrite system we only consider the (maximal) derivation complexities induced by the base techniques employed. This entails that we exploit the upper bound on the maximal number of dependency pair steps to bound the length of derivations.. Some of the results in this paper appeared in an earlier conference paper [27] . Apart from correcting some shortcomings of the conference paper the journal version extends [27] by providing a full analysis of the dependency graph refinement (see Section 8) . Furthermore the treatment of the usable rules criterion is new (see Section 7) , as well as the improvement of the lower-and upper-bound in the context of string rewriting (see Section 6) .. The technically most involved result is the proof of the triple exponential upper bound for the basic dependency pair method. Our proof rests on the observation that it suffices to bound the maximal depth of a term during a given derivation. We show that the depth of any term occurring in a derivation is bounded exponentially in the maximal number of dependency pair steps. Based on this result the triple exponential upper bound follows by standard observations. Due to this ground work the analysis of the usable rules refinement is relatively straightforward. On the other hand, for the analysis of the dependency graph refinement we employ a different, but conceptually simpler technique. Essentially, it suffices to embed the analysed TRS in a generic simulating TRS whose derivational complexity can be analysed directly.. The rest of this paper is organised as follows. In Sections 2 and 3 we present basic notions and starting points of the paper. Sections 4 and 5 establish result (1) . The mentioned improvement for string rewriting is given in Section 6. In Section 7, we extend our considerations to usable rules and thus show result (2) . In Section 8, we consider dependency graphs and show result (3). Finally we conclude in Section 9. To ease the presentation some technical results have been moved to the appendix. In this paper we have investigated the derivational complexity induced by the dependency pair method, where the object of our investigation is the standard formulation of the dependency pair method [1, 14] together with natural refinements.. We have established the following results: Firstly, for the basic dependency pair method (potentially using argument filterings) the induced derivational complexity is triple exponentially bounded in the derivational complexity of the base technique used. For string rewrite systems we have an optimal exponential upper bound and for the general case, we presented a double exponential lower bound. Secondly, if we consider the dependency pair method using the usable rules refinement, then the induced derivational complexity is primitive recursive in the derivational complexity of the base technique. Here we have provided a nonelementary lower bound. Finally, if we consider the dependency pair method in conjunction with dependency graphs, then the induced derivational complexity is again primitive recursive in the derivational complexity of the base techniques employed. This result is essentially optimal. It is worthy of note that this is the very first analysis of the dependency pair method (without any dilutions) from a complexity analysis point of view. It remains to clarify to what extent such results hold for other notions of complexity.. As briefly mentioned in the introduction the derivational complexity is not the only measure of the complexity of a TRS suggested in the literature. In particular, alternative approaches have been suggested by Choppy et al. [7] , Cichon and Lescanne [8] , and Hirokawa and the first author [16] . In [16] the runtime complexity with respect to a TRS is defined as a refinement of the derivational complexity, by restricting the set of admitted initial terms. This notion has first been suggested in [7] , where it is augmented by an average case analysis. Finally [8] studies the complexity of the functions computed by a given TRS. This latter notion is often studied within implicit computational complexity theory (see [5] for an overview).. We have chosen to present our results in terms of derivational complexity as this simplifies the comparison to well-known results in this area. However, it is easy to see that all upper bound results hold as well, if we would study the runtime complexity of a TRS. Furthermore, the runtime complexity of a TRS is an invariant cost model [10] and thus it is straightforward to rephrase our results in terms of the complexity of the function computed by the TRS in question. Let f be a function computable by a TRS R and let g denote a function that grows at least linearly. Suppose the runtime complexity of R is bounded by g(n). Then there exists a Turing machine running in time polynomial in g(n) that computes f [3] . Thus our results also characterises the complexity of functions computed by rewrite systems, whose termination has been shown by the dependency pair method together with natural refinements.. From the original viewpoint of derivational complexity analysis, as an analysis of the strength of termination methods, the implications of our results are easy to state. For example, our results imply that the (technically simple) extensions of the dependency pair method with the dependency graph refinement greatly increase the strength of the method. On the other hand our results also provide limitations on the strength of the studied techniques. For instance consider the following example.. Example 9.1. Consider the TRS R 9 introduced by Touzet in [36] . R 9 encodes the Ackermann function [36] and therefore the derivational complexity function belongs to Ack(Θ(n), 0).. Our results imply that any successful termination proof of R 9 has to employ techniques that go beyond the basic dependency pair method and the refinements studied here. Very recently, Sternagel and Middeldorp presented in [33] an automatic termination proof of R 9 . Based on our work it is indeed no surprise that this proof makes crucial use of an extension of the dependency pair method, the dependency pair framework [12, 35] .. Motivated by this and like-minded examples we have very recently started investigations into the complexity induced by the dependency pair framework. A first result in this 2 This is example Zantema_04/z090 in the termination problems database, see http://termcomp.uibk.ac.at/. direction shows that the complexity of the dependency pair framework may be multiply recursive [28] . Furthermore, for a clearly defined subset of processors, this bound is optimal.. In recent years (derivational) complexity results mainly focused on crafting new methods that induce low-complexity upper bounds, like for example polynomial upper bounds. We exemplarily mention results by Neurauter et al. studying the use of matrix interpretations to polynomially bound the derivational complexity of TRSs [31] . Moreover, in the area of implicit computational complexity, Bonfante et al. study the use of quasi-interpretations to characterise complexity classes like LINSPACE, PTIME, or PSPACE [6] . In the context of our results these classes are clearly of a low complexity.. With respect to this motivation our results are arguably negative: our results clearly show that the undiluted dependency pair method is not a suitable tool to yield low complexity upper bound. Again it does not matter much whether we consider derivational complexity or runtime complexity: the example given for the double exponential lower bound for the basic dependency pair method also shows a double exponential lower bound for the runtime complexity.. Recently a number of variants of the dependency pair method have been proposed in the literature [2, 16, 17, 23, 24, 32, 39] . We believe that our results can also be profitably employed in the crafting of variants of the dependency pair method or framework in the context of polynomial complexity analysis. This will be subject to future work.

O O O O O O B I I 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 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 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 I 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 B I I 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 B I I O O O O O O O O B I I O O B I I 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 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 B 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 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 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 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 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 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 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 B 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 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 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 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 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 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 B I I 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 I O O O O O O O O O B I I 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 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 B 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 O 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 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 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 B I I 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 B I I O O O O O O O O O O O O O O O O


Constructing

a

virtual

primary

key

for

fingerprinting

relational

data

This

paper

proposes

a

new

fingerprinting

scheme

that

does

not

depend

on

a

primary

key

attribute.

The

scheme

constructs

virtual

primary

keys

from

the

most

significant

bits

of

some

of

each

tuple's

attributes.

The

actual

attributes

that

are

used

to

construct

the

virtual

primary

key

differ

from

tuple

to

tuple.

Attribute

selection

is

based

on

a

secret

key

that

is

known

to

the

merchant

only.

Further,

the

selection

does

not

depend

on

an

apriori

ordering

over

the

attributes,

or

on

knowledge

of

the

original

relation

or

fingerprint

codeword.

The

virtual

primary

keys

are

then

used

in

fingerprinting

as

in

previous

work

Rigorous

analysis

shows

that,

with

high

probability,

only

embedded

fingerprints

can

be

detected

and

embedded

fingerprints

cannot

be

modified

or

erased

by

a

variety

of

attacks.

Attacks

include

adding,

deleting,

shuffling,

or

modifying

tuples

or

attributes

(including

a

primary

key

attribute

if

one

exists),

guessing

secret

keys,

and

colluding

with

other

recipients

of

a

relation.

Fingerprinting

is

a

class

of

information

hiding

techniques

that

can

help

protect

data

from

threats

such

as

unauthorized

disclosure.

Consider

a

generic

scenario

where

merchants

sell

digital

data

to

buyers.

Some

dishonest

buyers

(called

traitors)

may

redistribute

the

data

to

others

(called

pirates)

without

permission

from

the

merchants.

A

merchant

may

use

a

fingerprinting

scheme

to

embed

a

buyer-specific

mark

into

a

data

copy

provided

to

a

buyer;

she

can

subsequently

detect

the

mark

in

pirated

data

and

use

the

mark

to

identify

the

traitor

who

distributed

the

data..

Fingerprinting

is

often

discussed

in

comparison

or

extension

to

watermarking.

Watermarking

is

another

class

of

information

hiding

techniques

whose

purpose

is

to

identify

the

sources

of

data.

A

merchant

may

use

a

watermarking

scheme

to

embed

a

merchantspecific

mark

into

her

data

and

assert

ownership

of

the

data

by

detecting

the

watermark.

Thus,

watermarking

is

used

to

embed

marks

that

identify

the

merchant

while

fingerprinting

is

used

to

embed

marks

that

identify

legitimate

buyers..

Watermarking

and

fingerprinting

have

been

studied

extensively

in

the

context

of

multimedia

data

(still

images,

audio,

and

video).

Recently,

algorithms

have

been

proposed

for

watermarking

database

relations

Agrawal

and

Kiernan

present

a

novel

technique

for

embedding

watermarks

within

numeric

attributes

of

relations.

They

assume

that

merchants

and

buyers

can

tolerate

a

small

amount

of

errors

in

those

attributes,

but

that

introducing

many

more

errors

will

reduce

the

value

of

the

data

substantially.

For

example,

if

an

attribute

contains

values

with

five

decimal

places,

then

a

buyer

may

accept

that

of

the

tuples

have

arbitrary

fractional

errors

as

long

as

the

rest

are

accurate

up

to

five

decimal

places..

Li

et

al.

have

generalized

Agrawal

and

Kiernan's

watermarking

technique

to

enable

the

fingerprinting

of

relational

data.

The

fingerprinting

technique

enables

a

buyer-specific

bitstring

to

be

embedded

and

extracted

from

a

database

relation,

as

compared

to

the

watermarking

technique

which

enables

a

single

watermark

bit

to

be

embedded

and

extracted

from

a

relation.

The

schemes

are

robust

against

various

attacks

including

flipping

bits,

adding

or

deleting

tuples,

guessing

secret

keys,

and

colluding

with

other

recipients..

Both

Agrawal

and

Kiernan's

watermarking

technique

and

Li

et

al.'s

fingerprinting

technique

rely

on

a

critical

assumption,

namely

that

a

database

relation

has

a

primary

key

attribute

that

either

does

not

change

or

else

can

be

recovered.

The

rationale

behind

this

assumption

is

that

a

primary

key

attribute

contains

essential

information

and

that

modification

or

deletion

of

this

information

will

substantially

reduce

the

data's

value.

However,

as

a

consequence

of

this

assumption,

those

techniques

cannot

embed

marks

in

database

relations

without

primary

key

attributes.

Further,

the

techniques

are

vulnerable

to

attacks

that

alter

or

delete

the

primary

key

attribute..

The

main

contributions

of

this

paper

are

to

propose

new

schemes

for

fingerprinting

relational

data

without

depending

on

a

primary

key

attribute,

and

to

demonstrate

analytically

that

the

schemes

are

robust

against

a

wide

range

of

attacks

including

attacks

that

alter,

shuffle,

or

delete

any

attributes.

We

propose

two

schemes

(Escheme

and

M-scheme)

that

construct

virtual

primary

keys

from

the

most

significant

bits

of

some

of

each

tuple's

attributes;

the

virtual

primary

keys

are

then

used

in

fingerprinting

as

in

previous

work

In

M-scheme,

the

actual

attributes

that

are

used

to

construct

the

virtual

primary

key

differ

from

tuple

to

tuple.

Attribute

selection

is

based

on

a

secret

key

that

is

known

to

the

merchant

only.

Further,

the

selection

does

not

depend

on

an

apriori

ordering

over

the

attributes

(unlike

the

previous

schemes

which

do

depend

on

a

fixed

ordering

of

attributes).

Thus,

M-scheme

is

robust

against

attacks

that

delete,

shuffle,

or

modify

attributes

(including

a

primary

key

attribute

if

one

exists),

or

that

attempt

to

alter

the

virtual

primary

keys.

Our

analysis

demonstrates

that

an

attacker

must

modify

or

delete

a

large

number

of

attributes

in

order

to

alter

or

delete

the

embedded

mark..

The

remainder

of

this

paper

is

organized

as

follows.

Section

reviews

a

scheme

for

fingerprinting

relational

data

with

primary

keys.

Section

presents

several

schemes

for

fingerprinting

relational

data

without

relying

on

real

primary

keys.

Section

presents

a

detailed

analysis

of

the

new

fingerprinting

schemes.

We

examine

desirable

properties

such

as

imperceptibility

and

detectability.

Section

describes

several

attack

classes

and

analyzes

the

behavior

of

the

extended

fingerprinting

schemes

under

these

attacks.

Section

discusses

whether

a

database

relation

is

fingerprintable

and

how

to

choose

among

different

fingerprinting

schemes.

Section

presents

experimental

results

from

our

prototype

implementation.

Section

summarizes

the

paper

and

suggests

possible

future

directions.

We

have

presented

schemes

for

embedding

and

detecting

fingerprints

in

database

relations

without

relying

on

primary

keys.

These

schemes

can

mark

relations

that

have

no

primary

keys

and

relations

which

retain

value

even

if

their

primary

keys

are

altered

in

attacks.

We

identified

the

duplicate

and

deletion

problems

in

fingerprinting

such

database

relations

and

proposed

techniques

for

constructing

virtual

primary

keys

to

mitigate

these

problems..

An

interesting

extension

to

this

work

is

to

optimize

the

construction

of

virtual

primary

keys.

The

goal

is

to

maximize

the

robustness

of

the

fingerprinting

scheme

for

a

fixed

set

of

fingerprinting

parameters.

Future

work

also

includes

extending

our

embedding

scheme

so

that

it

marks

both

non-numeric

and

numeric

attributes,

and

developing

an

asymmetric

version

of

our

scheme.

A

fingerprinting

(or

watermarking)

scheme

for

relational

data

must

satisfy

several

properties

in

order

to

be

useful.

For

instance,

it

should

enable

insertion

and

detection

of

fingerprints,

it

should

be

robust

against

a

broad

class

of

attacks,

and

it

should

ensure

that

innocent

users

are

not

identified

as

traitors

(whether

inadvertently

or

due

to

attacks).

Such

properties

have

been

identified

in

and

In

this

section,

we

summarize

those

properties

and

focus

on

the

new

issues

introduced

by

E-scheme

and

M-scheme.

Note

that

a

database

relation

is

not

always

fingerprintable

due

to

the

following

reasons.

First,

if

η

γ

L

or

η

L,

then

the

relation

does

not

have

enough

tuples

to

embed

a

fingerprint.

Collusionsecure

codes

are

usually

very

long

and

hence

are

only

suitable

for

large

databases.

Other

codes

are

not

problematic

since

their

lengths

are

usually

several

orders

of

magnitude

smaller

than

the

typical

sizes

of

databases.

For

example,

a

fingerprint

length

of

hundred

bits

is

good

enough

for

practical

use

provided

that

collusion

attacks

are

not

a

threat.

Second,

if

the

duplicate

index

is

infinity,

then

at

least

one

fingerprint

bit

cannot

be

embedded

into

data

and

the

embedded

fingerprint

is

not

detectable.

The

duplicate

index

can

be

lowered

either

by

decreasing

ξ

or

γ

or

by

using

more

attributes

in

construction

of

the

virtual

primary

key.

Third,

if

varying

L,

τ

and

other

fingerprinting

parameters

is

insufficient

to

yield

low

enough

false

hit

rate

and

false

miss

rate,

then

fingerprint

detection

is

not

trustworthy..

For

fingerprintable

database

relations,

a

selection

of

fingerprinting

schemes

depends

on

the

primary

key

and

the

duplicate

index.

In

the

case

that

the

relation

has

a

primary

key

attribute

and

the

primary

key

is

not

expected

to

be

changed

in

an

attack,

T-scheme

is

the

best

choice

because

it

tends

to

yield

the

lowest

duplicate

index.

Roughly

speaking,

the

lower

the

duplicate

index,

the

more

robust

a

fingerprinting

scheme..

If

a

database

relation

has

no

primary

key

attribute

or

the

primary

key

might

be

changed

in

an

attack,

we

need

to

choose

between

E-scheme

and

M-scheme.

Because

E-scheme

tends

to

yield

the

largest

duplicate

index,

we

often

select

M-scheme

over

E-scheme.

However,

in

the

case

that

the

duplicate

indices

of

these

two

schemes

are

the

same,

E-scheme

could

be

a

better

choice

because

it

supports

element-level

updatability.

The

experiments

were

performed

on

a

Dell

OPTIPLEX

computer

with

the

Windows

operating

system,

GHz

Intel

Pentium

processor,

MB

of

memory,

and

a

GB

hard

disk

drive.

We

used

the

real-life

Forest

Cover

Type

dataset,

available

from

the

University

of

California-Irvine

KDD

Archive

The

dataset

has

tuples,

each

with

attributes

and

no

primary

key.

We

chose

the

first

ten

integer-valued

attributes

as

candidates

for

fingerprinting.

We

focused

on

M-scheme

unless

otherwise

stated.

Figure

illustrates

the

impact

that

fingerprinting

has

on

the

mean

and

variance

of

the

values

of

marked

attributes.

Blank

entries

in

the

table

indicate

that

the

variance

of

the

attribute

was

unchanged.

The

mean

of

each

attribute's

values

was

unchanged

when

rounded

to

the

nearest

integer.

The

minuscule

change

in

these

statistics

validates

our

assertion

that

fingerprint

insertion

is

imperceptible.

In

our

experiments,

is

the

fraction

of

the

least

significant

bits

in

r.Ai

that

are

used

for

embedding

a

fingerprint.

Note

that

ξ

and

ξ

are

negatively

correlated.

Figure

shows

the

change

of

duplicate

index

as

a

function

of

ξ

and

γ

(fraction

of

tuples

used

for

fingerprinting).

The

larger

the

parameter

ξ

the

less

the

duplicate

index

δ.

As

ξ

increases,

more

of

the

most

significant

bits

are

used

in

the

construction

of

virtual

primary

keys,

and

the

likelihood

of

generating

duplicate

virtual

primary

keys

decreases.

Figure

compares

M-scheme

with

T-scheme

and

E-scheme

in

terms

of

the

duplicate

index.

For

T-scheme,

we

added

an

extra

attribute

called

id

to

serve

as

the

primary

key.

Due

to

the

uniqueness

of

such

a

primary

key,

the

duplicate

index

of

T-scheme

is

closest

to

zero

compared

with

that

of

M-scheme

and

E-scheme.

On

the

other

hand,

the

duplicate

index

of

E-scheme

is

always

infinity,

indicating

that

E-scheme

cannot

be

used

to

fingerprint

this

relation..

Figures

and

report

the

performance

of

M-scheme

under

subset

attacks

and

attribute

deletion

attacks.

We

used

the

following

parameters

ν

ξ

L

τ

and

N

(N

has

no

effect

on

these

results)

and

tested

different

γ

values.

For

each

value

of

gamma

(γ

and

tuple

percentage

we

randomly

selected

the

percentage

of

tuples

from

the

fingerprinted

dataset

and

tested

whether

the

detection

algorithm

returned

the

correct

fingerprint.

We

repeated

this

test

times

and

calculated

the

percentage

of

fingerprints

that

were

detected

correctly.

The

attribute

deletion

test

was

performed

analogously..

In

our

experiments,

fingerprint

insertion

took

about

seconds

and

fingerprint

detection

took

about

seconds

on

average.

In

the

worst

case

where

γ

(i.e.,

each

tuple

was

designed

to

be

modified),

fingerprint

insertion

took

about

seconds

and

detection

took

about

seconds.

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 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 B 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 O O O O O O O O O O O O O O O O O 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 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 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 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 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 O O O O O O O O O O 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 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 B I O O O O O O O O O O O O O B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B O O O B I O O O O O O B O O O O O 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 B 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 B I 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 O O 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 O O O O O O O B I O O O O O O B 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 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 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 O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Integrating Games and Machine Learning in the Undergraduate Computer Science Classroom A student will be more likely motivated to pursue a field of study if they encounter relevant and interesting challenges early in their studies. The authors are PIs on two NSF funded course curriculum development projects (CCLI). Each project seeks to provide compelling curricular modules for use in the Computer Science classroom starting as soon as CS 1. In this paper, we describe one curriculum module which is the synergistic result of these two projects. This module provides a series of challenges for undergraduate students by using a game environment to teach machine learning and classic Artificial Intelligence concepts. In Dale Carnegie's motivational classic How to Win Friends & Influence People [4] , the reader is urged to "throw down a challenge". Noting the work of behavioral scientist Frederic Herzberg, he observes "The one major factor that motivated people was the work itself. If the work was exciting and interesting, the worker looked forward to doing it and was motivated to do a good job." Similarly, and along with many other educators [2] , we believe that students will be more engaged in their studies and more likely to continue studying computer science if they find their course projects relevant, interesting and appropriately challenging.. Creating curriculum that students find relevant and interesting is a time consuming creative task. Unfortunately, for many instructors, the creative process is often cut short due to a host of competing obligations. The net result is that many programming exercises, especially those provided to lower division students, often seem contrived and fail to illustrate the challenges faced by professional computer scientists. Thus, students may get a skewed perspective of the discipline and become disinterested before the full range of problem solving possibilities is exposed by their course work.. We seek to provide instructors a core set of curricular modules that bring interesting and challenging problems into traditional computer science courses. Robotics and games are just two areas with demonstrable attraction for high-school students and nonmajors. We believe that this attraction will extend into the undergraduate classroom when traditional computer science course objectives are taught using artificial intelligence or computer games as a vehicle.. In this paper, we describe two approaches to teaching computer science goals: one using a machine-learning theme; the other a computer game based theme. We then describe one curricular module currently under development that integrates both approaches to create a sequence of game-based student projects to teach core topics from Artificial Intelligence. We presented a curricular module that includes a set of gamebased student projects designed to teach students core Artificial Intelligence (AI) topics typically covered in an introductory AI course. The module is a synergistic result of two curricular approaches funded by NSF, a machine learning based theme, project MLExAI, and a computer game based theme, project JIG.. The module described here is one of twenty projects being implemented and assessed as part of phase 2 of project MLExAI. Assessment results of six projects developed under phase 1 of MLExAI are presented here and demonstrate that this environment significantly enhanced their learning experience. We believe that these results provide insight on what to expect from future curricular modules such as the one presented here, Robot Defense. Six games-based projects, including Robot Defense, are currently under development within the MLExAI project. Together, these projects will help us to assess how game based projects in general impact learning in the AI classroom.

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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Computing efficiently the lattice width in any dimension Abstract. We provide an algorithm for the exact computation of the lattice width of an integral polygon K in linear-time with respect to the size of K. Moreover, we describe how this new algorithm can be extended to an arbitrary dimension thanks to a greedy approach avoiding complex geometric processings. Integer Linear Programming is a fundamental tool in optimization, in operation research, in economics... Moreover, it is interesting in itself since the problem is NP-Hard in the general case. Several works were done for the planar case [18, 25, 14] before Lenstra [21] proved that Integer Linear Programming can be solved in polynomial time when the dimension is fixed. Faster and faster algorithms are nowadays developed and available making the use of Integer Linear Programming reliable even for high dimensional problems. The approach of Lenstra uses the notion of lattice width for precise lattice definition to detect directions for which the polyhedron of solutions is thin. In polynomial time, the problem is then reduced to a feasibility question: given a polyhedron P , determine whether P contains an integer point. To solve it, Lenstra approximates the width of the polyhedron and gives a recursive solution solving problems of smaller dimension. The approximate lattice width is also used in the recent algorithms of Eisenbrand and Rote [9] and Eisenbrand and Laue [8] for the 2-variable problem.. Not surprisingly, following the arithmetical approach of Reveillès [23] [6], the lattice width is also a fundamental tool in digital geometry since it corresponds to the notion of width for digital objects [10] . Moreover, as an application of the lattice width computation, we mention the intrinsic characterization of linear structures [11] . Indeed, the lattice width can be computed for any digital set but it does not correspond to a direct measure of linearity. However, when combining the lattice width along a direction and along its orthogonal, it can be used as a linearity measure. The work in [11] is currently extended, by the third author of the present paper, to higher dimensions for detecting either linear or tubular structures. A preliminary algorithm dealing with the two-dimensional case was given in [10] with a geometrical interpretation. It has the advantage to be extensible to the incremental and to the dynamic case but it seems difficult to extend it to an arbitrary dimension. Thus, in the present paper, we propose a totally new algorithm which is efficient for any dimension and which runs in linear time for the two-dimensional case.. The paper is organized as follows. In Sect. 2, the main definitions and tools are presented. Then, we present the two-dimensional algorithm introduced in [10] in Sect. 3. As this method cannot be easily extensible to higher dimension, we introduce in Sect. 4 a new geometric method to estimate the lattice width in any dimension. This approach is based on the computation of a particular surrounding polytope which is used to bound the set of candidate vectors to define the lattice width. In Sect. 5, we describe geometrical methods to compute such a polytope. We first focus on the two-dimensional case and we provide two deterministic approaches. Then, since these geometric constructions might be difficult to extend in arbitrary dimension, we provide a greedy algorithm which runs in any dimension. Some conclusions and perspectives end the paper. We have described in this paper a new algorithm to compute the lattice width. It runs in linear time relative to the size of K, which is optimal. Moreover, its principle is directly extensible to an arbitrary dimension even if intermediate constructions become more complex in that case. Our greedy approach simplifies greatly the application of this algorithm to an arbitrary dimension since it avoids the computation of an inscribed d−simplex of greatest volume which is a problem in O(n 4 ) at least in the three-dimensional case for the best known algorithm [22] . This problem is an interesting problem in itself and will be the subject of future research since it is known that the dilation constant of this d-simplex is independent of K and thus it guarantees the smallest possible space search in any case. We also plan to extend the definition of linearity given in [11] to an arbitrary dimension. Moreover, we intend to test our method in order to describe its numerical behaviour. The optimal complexity of our new algorithm is a key point in that construction.

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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 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 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 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


Designing Fast and Scalable XACML Policy Evaluation Engines Abstract-Most prior research on policies has focused on correctness. While correctness is an important issue, the adoption of policybased computing may be limited if the resulting systems are not implemented efficiently and thus perform poorly. To increase the effectiveness and adoption of policy-based computing, in this paper, we propose fast policy evaluation algorithms that can be adapted to support various policy languages. In this paper, we focus on XACML policy evaluation because XACML has become the de facto standard for specifying access control policies, has been widely used on web servers, and is most complex among existing policy languages. We implemented our algorithms in a policy evaluation system called XEngine and conducted side-by-side comparison with Sun Policy Decision Point (PDP), the industrial standard for XACML policy evaluation. The results show that XEngine is orders of magnitude faster than Sun PDP. The performance difference grows almost linearly with the number of rules in an XACML policy. To our best knowledge, there is no prior work on improving XACML policy evaluation performance. This paper represents the first step in exploring this unknown space. T HE management complexity of large-scale information systems has been increasing rapidly due to the continuous evolution of systems [32] . Policy-based computing is a software model that simplifies and automates the administration of computing systems by incorporating decision-making technologies into its management components. Policy-based computing has emerged as an effective approach to combat system complexity because it separates policies from system implementation and enables dynamic adaptability of system behavior by changing policy configurations without reprogramming the systems. Policies are configurable rules governing the behavior of a system. For example, access control policies specify which principal can access which resources in what manner in most systems.. Policy evaluation, the process of checking whether a request satisfies a policy, is often the performance bottleneck of policy-based computing systems. For example, consider a web server application whose access control is enforced by an eXtensible Access Control Markup Language (XACML) [9] policy. A subject (e.g., a college professor) wants to perform an action (e.g., change) on a protected resource (e.g., student grades). The subject submits this request to the policy evaluation engine and then this engine checks the request against the policy to decide whether the request should be granted. Every user request needs to be checked through this procedure. For large applications with many users and resources, XACML policies are typically large and complex and the number of simultaneous requests is huge. A real access control system may manage the accesses of thousands of subjects to millions of resources [17] . The XACML policy specified for such systems may easily have tens of thousands of rules. However, commercial implementation of XACML policy evaluation engines such as Sun XACML PDP [2] , which performs brute-force searching by comparing a request with all the rules in an XACML policy, still represents the state of the art. Therefore, fast policy evaluation is a crucial, but underinvestigate problem. High-performance application-level policy evaluation has received little attention in prior research [4] . The little prior work on fast policy evaluation is orthogonal and complementary to our work [4] , [33] , [5] . In [4] , a new access control policy language was designed with the goal of highperformance policy evaluation. In contrast, we aim to develop high-performance policy evaluation schemes that can be customized to support a variety of policy languages. We do not invent new policy languages or modify existing ones. In [33] , [5] , caching at the application-level was proposed to speed up policy evaluation. In contrast, we use caching as a technique at the evaluation engine level, which may deal with requests from many applications. Thus, caching optimization is transparent to application developers in our scheme, but not in [33] , [5] .. We are not aware of prior work on optimizing XACML policy evaluation except the preliminary conference version of this work [24] . Since XACML 1.0 was standardized by OASIS in February 2003, a fair amount of research has been done on XACML. However, most of the research focuses on modeling, verification, analysis, and testing of XACML policies (e.g., [11] , [16] , [21] , [22] , [23] , [26] , [12] , [29] , [31] , [34] ). The only XACML analysis scheme that can be used to improve the performance of XACML evaluation is the recent work on detecting and removing redundant XACML rules [21] . In [21] , Kolovski et al. formalize XACML policies with description logics (DLs), which are a decidable fragment of the first-order logic, and exploit existing DL verifiers for policy verification. Their policy verification framework can detect redundant XACML rules. Removing redundant rules from XACML policies may improve the performance of policy evaluation. However, this hypothesis is yet to be validated.. One area related to XACML policy evaluation is packet classification, which encompasses a large body of research (see the survey paper [30] on this topic). Packet classification concerns checking a packet against a packet classifier, which consists of a sequence of rules. Although similar in spirit, packet classification and XACML policy evaluation have several major differences. First, packet classification rules are specified using ranges and prefixes, while XACML rules are specified using application-specific strings. Second, the structure of packet classifiers is flat and there is only one rule combining algorithm (i.e., First-Applicable); in contrast, the structure of XACML policies is hierarchical and there are four rule/policy combining algorithms. Third, the number of possible values that a packet field can be is big (e.g., 2 32 ), while the number of possible values that a request attribute can be is much smaller. These differences render directly applying prior packet classification algorithms to XACML policy evaluation inappropriate. Our procedure of XACML policy normalization is a necessary step in bridging the two fields. Although packet classification and XACML policy evaluation concern access control in different domains (one in the network-level and one in the application-level), they are closely related. We hope this paper will inspire more research on XACML policy evaluation from the systems community. XACML is an XML-based language standardized by the Organization for the Advancement of Structured Information Standards (OASIS). It was designed to replace application-specific and proprietary access control policy languages. Prior to XACML, every application vendor had to create its own proprietary method for specifying access control policies, and these applications could not understand each other's language. Typical XACML-based access control works as follows: A subject (e.g., a professor) wants to perform an action (e.g., modify) on a protected resource (e.g., grades). The subject submits this request to the Policy Enforcement Point (PEP) that manages the protected resource.. The PEP formulates such a request using the XACML request language. Then, the PEP sends the XACML request down to the Policy Decision Point (PDP), which stores a user-specified access control policy written in the XACML policy language. The PDP checks the request with its XACML policy and determines whether the XACML request should be permitted or denied. Finally, the PDP formulates the decision in XACML response language and sends it to the PEP, which enforces the decision.. An XACML policy consists of a policy set and a policy combining algorithm. A policy set consists of a sequence of policies or policy sets, and a target. A policy consists of a target, a rule set, and a rule combining algorithm. A target is a predicate over the subject (e.g., professor), the resource (e.g., grades), and the action (e.g., assign) of requests, specifying the type of requests to which the policy or policy set can be applied. If a request satisfies the target of a policy, then the request is further checked against the rule set of the policy; otherwise, the policy is skipped without further examining its rules. The target of a policy set has similar semantics. A rule set is a sequence of rules. A rule consists of a target, a condition, and an effect. Similar to the target of a policy or a policy set, the target of a rule specifies whether the rule is applicable to a request by setting constraints on the subject, the resource, and the action of requests. The condition in a rule is a boolean expression that refines the applicability of the rule beyond the predicates specified by its target, and is optional. Given a request, if it matches both the target and condition of a rule, then the rule is applicable to the request and the rule's effect (i.e., permit or deny) is returned as the decision; otherwise, NotApplicable is returned.. In an XACML policy, rules or policies may conflict, i.e., two rules or policies may define different decisions for the same request. XACML resolves these conflicts by employing four rule (or policy) combining algorithms: FirstApplicable, Only-One-Applicable, Deny-Overrides, and PermitOverrides. For a First-Applicable policy (or policy set), the decision of the first applicable rule (or policy) is returned. For an Only-One-Applicable policy (or policy set), the decision of the only applicable rule (or policy) is returned; indeterminate (which indicates an error) is returned if there are more than one applicable rule (or policy). For a DenyOverrides policy (or policy set), deny is returned if any rule (or policy) evaluation returns deny; permit is returned if all rule (or policy) evaluations return permit. For a PermitOverrides policy (or policy set), permit is returned if any rule (or policy) evaluation returns permit; deny is returned if all rule (or policy) evaluations return deny. For all of these combining algorithms, NotApplicable is returned if no rule (or policy) is applicable. Fig. 1 shows an example XACML policy set whose policy combining algorithm is Permit-Overrides. This policy set includes two policies. The first policy has two rules and its rule combining algorithm is Deny-Overrides. The second policy has one rule and its rule combining algorithm is First-Applicable. In the first policy, lines 5-12 define the first (deny) rule, whose meaning is that a student or secretary cannot change grades; lines 13-23 define the second (permit) rule, whose meaning is that a professor, lecturer, or secretary can change or read grades or records. In the second policy, lines 27-34 define its (permit) rule, whose meaning is that a student can change or read records. Note that, "<target/>" at lines 2, 4, and 26 indicates that the corresponding policy (or policy set) is applicable to any request.

O O O O B 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 B I O O O O O O O O O O O O O O O O B B I O B 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 B I O O O O O O O O O B I I O O O O O B 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 O O O O O O O O O O O O B 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 B I 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 B I 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 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 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 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 B O O O O O O O O O O O O O O O O O B B I 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 O O O B I 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 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 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 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 B B 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 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 O B O O O O 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 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 O O O O O O B I O O O O O O O O O O O O B 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 B I 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 O O O O O O O O O O O O O O O O O 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 B I O O O O B O O O O O O O O O O O O O O O B 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 B B 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 O O O O O B I O O O O B 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 B O O O O O O O B O O O O B I I O O O O O B I O O O O B 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Convolution Products for Hypercomplex Fourier Transforms Abstract Hypercomplex Fourier transforms are increasingly used in signal processing for the analysis of higherdimensional signals such as color images. A main stumbling block for further applications, in particular concerning filter design in the Fourier domain, is the lack of a proper convolution theorem. The present paper develops and studies two conceptually new ways to define convolution products for such transforms. As a by-product, convolution theorems are obtained that will enable the development and fast implementation of new filters for quaternionic signals and systems, as well as for their higher dimensional counterparts. Recently, there has been an increased interest in applying hypercomplex Fourier transforms (FTs) in various aspects of signal processing where higher dimensional or vector signals are used, such as color image processing [29, 37] , flow visualization [25, 26] , and even spoken word recognition [4] . The main idea behind these applications is the representation of a signal (say, a color image) as a pure quaternion or as an element of a suitable Clifford algebra (see Sect. 2 for a precise definition). This representation is subsequently analysed using a generalisation of the classical Fourier transform to a hypercomplex FT, which takes into account the multi-dimensional and multi-component nature of the signal under consideration. This stands in stark contrast to a component based classical analysis, sometimes also called marginal analysis. Successful further developments of the hypercomplex approach include the design of a color edge filter [42] , as well as other filters [45] , construction of FFT methods to compute hypercomplex FTs [40] , etc.. The main issue that hinders further development of applications (and in particular of filter design not based on ad hoc assumptions or ideas) is the lack of a suitable convolution theorem. Indeed, in [10] it was shown that hypercomplex FTs such as the quaternionic FT do not interact nicely with the classical convolution product, but rather lead to very complicated expressions in the Fourier domain. This means that, up to now, no filter design was possible in the Fourier domain, and hence that no fast implementations as multiplication operators have been obtained so far.. The main aim of the present paper is to tackle that problem. We will investigate, on theoretical grounds, the different possible convolution products that can be defined for a wide class of hypercomplex FTs. It turns out that two conceptual ways exist to achieve this, both having a left and right version. Before explaining these two definitions, let us recall that in the recent literature three different approaches to hypercomplex FTs have been considered. We can identify them as follows -A: Eigenfunction approach -B: Generalized roots of −1 approach -C: Characters of Spin group approach The first approach is mainly studied in [6] [7] [8] [15] [16] [17] [18] [19] [20] [21] , and aims at constructing new hypercomplex transforms by prescribing eigenvalues to a suitable basis of a Clifford-algebra valued L 2 space. The choice of suitable eigenvalues implies that there is a huge design freedom in this approach. The transforms of this class also have a deep connection with quantum mechanics and exhibit a very particular underlying algebraic structure, namely that of the Lie superalgebra osp(1|2). For a recent review from this point of view, we refer the reader to [13] .. The second approach is mainly advocated in [9, 10] and boils down to replacing the imaginary unit i in the exponent of the ordinary Fourier transform by a generalized root of −1, belonging to a Clifford algebra (see e.g. [32, 34] for a detailed study of such roots). It encompasses several of the hypercomplex FTs often used in applications, such as the quaternionic Fourier transform [29] , the Sommen-Bülow transform [11, 46] , the Clifford Fourier transform (written without hyphen) introduced in [26] and further extended in [1, 33] , and the cylindrical Fourier transform [8] . Again this approach exhibits a huge design freedom, as the set of roots of −1 is very big and as the roots can in principle be chosen independently for each application.. Finally, a third approach is given in [2, 3] , and uses the notion of character (or group morphism) to generalize the ordinary Fourier transform to the setting of the group Spin(3), resp. Spin (5) for direct application in grey scale, resp. color image processing. Although the conceptual ideas of this third approach are very different from the second approach B, the resulting transforms can nevertheless be written as special cases of the transforms in B. For that reason we will only focus on the first two approaches in the sequel.. The classical FT and the classical convolution product will serve as a guide to define the generalized convolution products. Recall that the classical convolution product for two functions f and g is defined by. with τ y g(x) := g(x − y). The classical FT, defined over R m , is given by. , where x, y = m j =1 x j y j is the standard inner product. It interacts nicely with the convolution product. Namely, one has. A first possibility to generalize the convolution product is hence obtained by taking the inverse FT of the right-hand side of (1) as a definition. This idea was first explored by Mustard for the fractional Fourier transform, see [38] . Another way to generalize the convolution product is obtained by introducing a generalization of the (geometric) translation operator τ y . This is also the strategy which is e.g. used for the Dunkl transform (see [41, 49] ). Let us first illustrate the concept in some more detail for the ordinary FT. First we compute the FT of the translation over z of a function f :. This means that, formally, the ordinary translation is recovered via. Here, the inverse FT acts on the y variable and yields the u variable. Now let K(x, y) be the integral kernel of a hypercomplex FT F K and K(x, y) be the kernel of its inverse F In this paper, we have studied two conceptual ways of defining convolution products, namely using the method of Mustard and using the generalized translation operator. We applied these ideas to two important families of hypercomplex Fourier transforms. A summary of our results can be found in Table 1 .. We expect that in particular the Mustard convolution will find many applications in color image processing. Currently, the design of filters for such images using hypercomplex methods is hindered by the lack of a proper convolution theorem. Our results now enable the development of a complete theory of linear system design in the quaternionic case (as well as in higher dimensions, which may be interesting for other applications). A Fourier domain analysis, using the Mustard convolution, of the color edge filter constructed in [42] will serve as the guiding example to achieve this.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 O O O O O O O O O O O O O O O O O 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 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 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


Active learning and effort estimation: Finding the essential content of software effort estimation data Abstract-Background: Do we always need complex methods for software effort estimation (SEE)? Aim: To characterize the essential content of SEE data, i.e., the least number of features and instances required to capture the information within SEE data. If the essential content is very small, then 1) the contained information must be very brief and 2) the value added of complex learning schemes must be minimal. Method: Our QUICK method computes the euclidean distance between rows (instances) and columns (features) of SEE data, then prunes synonyms (similar features) and outliers (distant instances), then assesses the reduced data by comparing predictions from 1) a simple learner using the reduced data and 2) a state-of-the-art learner (CART) using all data. Performance is measured using hold-out experiments and expressed in terms of mean and median MRE, MAR, PRED(25), MBRE, MIBRE, or MMER. Results: For 18 datasets, QUICK pruned 69 to 96 percent of the training data (median = 89 percent). K ¼ 1 nearest neighbor predictions (in the reduced data) performed as well as CART's predictions (using all data). Conclusion: The essential content of some SEE datasets is very small. Complex estimation methods may be overelaborate for such datasets and can be simplified. We offer QUICK as an example of such a simpler SEE method. A CCURATE software effort estimation (SEE) is needed for many business tasks such as project plans, iteration plans, budgets, investment analysis, pricing processes, and bidding rounds. Such estimates can be generated via expertbased methods that use human expertise (possibly augmented with process guidelines, checklists, and data) to generate predictions [1] , [2] . Alternatively, model-based methods can summarize old data with data miners that make predictions about new projects [3] , [4] .. The SEE literature is particularly interested in the summarization of old data by various model-based methods. The SEE literature review of Jorgensen and Shepperd [5] reports that 61 percent of the selected studies deal with the introduction of new methods and their comparison to old ones. These methods range in complexity from: relatively simple nearest neighbor methods [6] , to iterative dichotomization methods, e.g., classification and regression trees (CART) [7] , to complex search-based methods that, say, use tabu search to set the parameters of support vector regression [8] or exponential-time genetic algorithms that select best features or instances [9] , to intricate search for stability through heuristic rejection rules like COSEEKMO [10] , to ensemble of multiple estimation methods [11] . The justification for the complexity of the introduced method is a critical yet mostly overlooked issue. We argue that the complexity of the learning method should be matched to the essential content of the data. Given a matrix of N instances and F features, the essential content is N 0 Ã F 0 , where N 0 and F 0 are subsets of the instances and features, respectively. The methods learned from N 0 and F 0 perform as well as those learned from N and F . This paper reports a search for N 0 and F 0 using a novel method called QUICK. QUICK computes the euclidean distance between the rows (instances) of SEE datasets. That distance calculation is also performed between matrix columns (features) using a transposed copy of the matrix. QUICK then removes synonyms (features that are very close to other features) and outliers (rows that are very distant to the others). QUICK then reuses the distance calculations a final time to find estimates for test cases, using the nearest neighbor in the reduced space.. The more complex the estimation methods become, the more prone they become to operator error. This is a growing problem. Shepperd et al. [12] report that the dominant factor that predicts for method performance is who operates the data miner (and not which dataset is studied, and not which data miner is used). This is a very troubling result that suggests our sophisticated data mining methods are now so complex that they have become very troublesome and error-prone. This paper argues that the complexity of the estimation methods is only necessary if the added value is worth it.. The rest of this paper is structured as follows: The symbols used in this manuscript are listed in Table 1 . The related work is discussed in Section 2. Section 3 introduces QUICK and its execution on a toy example. Our methodology is explained in Section 4. Section 5 shows experimental results. Section 6 reports sanity check results on proprietary datasets and Section 7 discusses threats to validity. Section 8 is a discussion of this work from the perspective of industrial practitioners. Future work and conclusions are listed in Sections 9 and 10. An interesting future direction may be the investigation of QUICK's effect on the linear regression methods, i.e., how the coefficients, the fitting, and the prediction accuracy of a regression method would be affected by the features and the instances chosen by QUICK. QUICK uses distances between features after normalization. However, there are other alternatives that can be used for selection of features. For example, promising future work would be to investigate the effect of using a correlation coefficient-based feature selector in the synonym pruning step of QUICK. The goal of this research is to investigate the essential content of SEE datasets and make recommendations regarding which estimation methods (simple or complex) should be favored. We define the essential content as the number of F 0 F features and N 0 N instances required to hold the information of a dataset.. Our results show that the essential content of SEE datasets is surprisingly small. Even the most commonly studied datasets (e.g., the nasa93 dataset which could be summarized by only 4 percent of its actual size) can be summarized by a small portion of their features and instances. We also see that such a reduction protects the estimation performance. The implications of our research is twofold:. 1. SEE datasets can be reduced to small essential content and, fortunately, simple methods are still able to perform well on the essential content. 2. QUICK can help to identify the important features and instances. One final note: It would be inappropriate for this study to stop further research on complex SEE methods. It is tempting to increase the complexity of learners (e.g., use of a number of learners from machine learning). However, research on complex methods needs to discuss the value added in using such learners. In this paper, we show that at least the SEE datasets used in our research have small essential content and the value added in using complex methods is limited. An important point in this research is how our results apply to contemporary commercial software development environments. We provide a discussion on the "age issue" of SEE datasets in Section 7. Building on that discussion, we should note that our datasets serve two different purposes: 1) proof of concept and 2) applicability of results.. The older datasets (e.g., cocomo*, nasa*, desharnais*) serve purpose #1 more-proof of concept. Function points and COCOMO are standard methods that can be used to collect data of contemporary projects. However, one can hardly say that software projects collected with these methods decades ago are the perfect representatives of the contemporary development environments. A perfect case in this issue would be to use QUICK from scratch on proprietary data. A practitioner willing to get a hint of the results regarding such a perfect case should consider the datasets closer to his/her own domain.

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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O