VODKA: Variant objects discovering knowledge acquisition
Available online at www.sciencedirect.com
www.elsevier.com/locate/eswa
Expert Systems with Applications 36 (2009) 2433–2450
Expert Systems
with Applications
VODKA: Variant objects discovering knowledge acquisition
Shian-Shyong Tseng a,b,*, Shun-Chieh Lin a
a
Department of Computer and Information Science, National Chiao Tung University, No. 1001, Ta Hsueh Road, Hsinchu 300, Taiwan, ROC
b
Department of Information Science and Applications, Asia University, No. 500, Lioufong Road, Wufong Shiang, Taichung 413, Taiwan, ROC
Abstract
Many knowledge acquisition methodologies have been proposed to elicit rules systematically with embedded meaning from domain
experts. But, none of these methods discusses the issue of discovering new modified objects in a traditional classification knowledge based
system. For experts to sense the occurrence of new variants and revise the original rule base, to collect sufficient relevant information
becomes increasingly important in the knowledge acquisition field. In this paper, the method variant objects discovering knowledge
acquisition (VODKA) we proposed includes three stages (log collecting stage, knowledge learning stage, and knowledge polishing stage)
to facilitate the acquisition of new inference rules for a classification knowledge based system. The originality of VODKA is to identify
these new modified objects, the variants, from the way that the existing knowledge based system fails in applying some rules with low
certainty degree. In this method, we try to classify the current new evolving object identified according to its attributes and their corre-
sponding values. According to the analysis of the collected inference logs, one of the three recommendations (including adding a new
attribute-value of an attribute, modifying the data type of an attribute, or adding a new attribute) will be suggested to help experts
observe and characterize the new confirmed variants. VODKA requires E-EMCUD (extended embedded meaning capturing and
uncertainty deciding). EMCUD is a knowledge acquisition system which relies on the repertory grids technique to manage object/attri-
bute-values tables and to produce inferences rules from these tables. The E-EMCUD we used here is a new version of EMCUD to update
existing tables by adding new objects or new attributes and to adapt the original embedded rules. Here, a computer worm detection
prototype is implemented to evaluate the effectiveness of VODKA. The experimental results show that new worm variants could be
discovered from inference logs to customize the corresponding detection rules for computer worms. Moreover, VODKA can be applied
to the e-learning area to learn the variant learning behaviors of students and to reconstruct the teaching materials in improving the
performance of e-learners.
� 2007 Elsevier Ltd. All rights reserved.
Keywords: Knowledge acquisition; Variant discovering; EMCUD; VODKA; Computer worm
1. Introduction
As time goes on, new objects in many domains are incre-
mentally evolving due to the environment changes and the
knowledge explosion. Besides unchangeable objects in the
course of time, some previously created objects may
0957-4174/$ - see front matter � 2007 Elsevier Ltd. All rights reserved.
doi:10.1016/j.eswa.2007.12.055
* Corresponding author. Address: Department of Computer and Infor-
mation Science, National Chiao Tung University, No. 1001, Ta Hsueh
Road, Hsinchu 300, Taiwan, ROC. Tel.: +886 3 5712121x56658; fax:
+886 3 5721490.
E-mail addresses: sstseng@cis.nctu.edu.tw (S.-S. Tseng), jielin@cis.
nctu.edu.tw (S.-C. Lin).
become obsolete and disappear after a long period of time,
and some new objects might be added or modified for
adapting to the dynamic environmental changes with the
time, which is the phenomenon of object evolution. In this
paper, knowledge can be classified as static knowledge and
dynamic knowledge according to the stability of knowledge
in a dynamic environment. Static knowledge remains the
same while dynamic knowledge will be updated when
environment changes. For example, due to the nature of
evolution, some well-known virus could evolve into a
new virus which, suggested by the experts, should be sin-
gled out as a new variant to classify all kinds of viruses
definitely.
mailto:sstseng@cis.nctu.edu.tw
mailto:jielin@cis. nctu.edu.tw
mailto:jielin@cis. nctu.edu.tw
2434 S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450
As we know, a knowledge based system (KBS) is an
intelligent computer program using knowledge and infer-
ence procedures to solve problems which are difficult
enough to require significant human expertise for the solu-
tions, such as disease diagnosis, investment prediction, or
computer science problems. Since the phase of knowledge
acquisition is a bottleneck when constructing a KBS, many
methodologies and related tools, e.g., NeoETS (Boose &
Bradshaw, 1986), AQUINAS (Boose & Bradshaw, 1987),
KITTEN (Shaw & Gaines, 1987), EMCUD (Hwang &
Tseng, 1990), KADS (Wielinga, Schreiber, & Breuker,
1992), KANAL (Kim & Gil, 2001), OMCS-2 (Singh
et al., 2002), INDUS (Caragea et al., 2005) have been pro-
posed to rapidly build prototypes in the past twenty years.
Most of the existing knowledge acquisition systems
employ the repertory grid test, originally developed by per-
sonal construct theory (PCT) for eliciting static knowledge,
to identify different objects and distinguishing these objects
in a selected domain. PCT can help domain experts formu-
late the quality of static knowledge with/without knowl-
edge engineers. But only the static knowledge used for
classifying and distinguishing well-known objects by a
finite set of training cases in most the systems, such as
ID3 (Quinlan, 1986), KAISER (Tsujino, Takegaki, &
Nishida, 1990; Tsujino, Dabija, & Nishida, 1992), C-
KAT (Zacklad & Fontaine, 1995), version space (Hong
& Tseng, 1997), AVT-DTL (Zhang & Honavar, 2003).
And few of them attack the topic of acquiring dynamic
knowledge, in fact, the incremental learning of dynamic
knowledge by continuously being aware of the variant
objects as time goes on is important
Consequently, the lack of sufficient information about
variants may result in a problem of observing the occur-
rence of evolving objects for human experts. Now, how
to collect sufficient relevant information to help experts
sense the occurrence of variants and reuse the original rule
base becomes one of the important issues.
Embedded meaning capturing and uncertainty deciding
(EMCUD), one of a repertory grid based knowledge acqui-
sition tools, was proposed to elicit the embedded meanings
of knowledge (embedded rules bearing on objects and
object attributes) to classify objects. Based upon an attri-
bute ordering table (AOT) to record the relative impor-
tance of each attribute to each object, EMCUD guides
the experts to determine the certainty degree of each
embedded rule, in order to extend the coverage of original
rules generated by traditional repertory grid.
With different certainty degree, some variant objects
modified from original objects may not be classified by
the original rules but may be classified by the other embed-
ded rules; even these embedded rules may have margin val-
ues of certainty factor (CF) due to the weak suggestions of
domain experts. Since the higher the CF value, the more
reliable the results are, this kind of objects could be singled
out as a variant object class because the new characteristics
of these objects are emerging. Therefore, if the variants
could be detected and recommended as the new objects
by experts, the related ambiguous attributes (minor attri-
butes) could be refined or new attributes could be added
to improve the classification ability in a KBS. These attri-
butes might result in the marginally acceptable CF values
of weak embedded rules.
In this paper, a new iterative methodology, variant
objects discovering knowledge acquisition (VODKA) is
proposed to learn new variant objects based upon monitor-
ing the inference behaviors of weak embedded rules. We
focus our attention on incrementally collecting new cases
of modified objects and learning the dynamic knowledge
to modify the original classification KBS. In order to
clearly single a new variant object out, the previous meth-
odologies need to be applied recurrently, and therefore the
originally elicited knowledge might not be easily reused.
The goal of VODKA is to facilitate the acquisition of
new inference rules of the new modified objects for a clas-
sification KBS, from which new modified objects will be
identified from the attribute values. The new rules, gener-
ated by VODKA, will be able to cope with the new variant
objects. They are similar to previously known embedded
rules in the KBS.
Since the relative importance of each attribute can be
represented by using AOT, some minor attributes will be
relaxed or ignored in order to capture the embedded mean-
ings of embedded rules with acceptable CF values in
EMCUD. In other words, these kinds of attributes are
not used to classify the object. New variants classified by
weak embedded rules should be singled out of original
objects. Obtained from the collection of minor attribute-
value pairs, the fired frequency of weak embedded rules
is a big help for the experts to discover new information
of variant objects. These attribute-value pairs are then to
be provided to help experts determine whether to single
variant objects out or not.
According to the analysis of the collected inference logs,
one of the three different recommendations: adding a new
attribute-value of a minor attribute, modifying the data
type of a minor attribute, or adding a new attribute, will
be suggested to help experts characterize the corresponding
rules to refine the KBS if a new variant object is confirmed
to be singled out.
To evaluate the performance of VODKA, a simple com-
puter worm detection prototype system with VODKA and
worm classification embedded rule base based upon
DRAMA (Lin, Tseng, & Tsai, 2003) has been implemented
to discover the new variant worms generated by an attack-
ing traffic generator. Experts can be helped by VODKA to
quickly and easily single out the new variant objects and
customize the detection rules for computer worms. Also,
VODKA has been applied on an e-learning domain to
learn the variant learning behaviors of e-learners, which
shows that VODKA is a big help for teachers to prepare
or to reconstruct the teaching materials, the variant course
materials, for these e-learners to easily understand the
learning materials. In a word, VODKA can enhance the
classification ability for new objects of a KBS since the
S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450 2435
new evolving objects can be incrementally learned and dis-
covered by collecting the sufficient information.
2. Related work
Several knowledge acquisition methodologies and
related systems are introduced in this section first. Then
repertory grid, one of the popular indirect knowledge
acquisition techniques, is also discussed. Finally, the
elicitation of embedded meaning and some problems of
traditional knowledge acquisition methodologies are
discussed.
2.1. Knowledge acquisition systems
As we know, knowledge in many domains and the expe-
rience of domain experts is continuously growing. Many
knowledge acquisition methodologies have been proposed
to help knowledge engineers acquire the useful knowledge
and then to transfer this knowledge into a knowledge base
or other computerized representation forms. In general,
there are three approaches for knowledge acquisition
(Crowther & Hartnett, 1996; Hwang & Tseng, 1990;
Mcgraw & Harbison-Briggs, 1989):
(1) Interviewing experts by experienced knowledge
engineers: formalizing the elicited knowledge after
interviewing experts. However, it is usually time-con-
suming if the communication between domain
experts and knowledge engineers is insufficient.
(2) Machine learning: learning the knowledge by collect-
ing many useful cases and instances with/without the
involvement of domain experts. However, the quality
of the results usually relies on the selected training
cases.
(3) Knowledge acquisition systems: assisting domain
experts in generating useful rules using knowledge
acquisition systems with/without the help of knowl-
edge engineers. These tools could reduce the effort
of communication between knowledge engineers
and domain experts and could reduce the risk and
difficulty of selecting the suitable training cases.
In the past decades, many knowledge acquisition sys-
tems, e.g., NeoETS (Boose & Bradshaw, 1986), AQUI-
NAS (Boose & Bradshaw, 1987), KITTEN (Shaw &
Gaines, 1987), EMCUD (Hwang & Tseng, 1990), KADS
(Wielinga et al., 1992), MCRDR (Kang, 1996), KAMET
(Cairo, 1998), MedFrame/CADIAG-IV (Boegl, 1997;
Kolousek, 1997; Leitich et al., 2001), KANAL (Kim &
Gil, 2001), OMCS-2 (Singh et al., 2002), INDUS (Caragea
et al., 2005) have been developed to build prototypes and
to iteratively elicit the knowledge from domain experts.
However, most of them can not be used to construct the
dynamic knowledge to classify the variant objects in a
dynamic environment using the previous obtained attri-
butes. For acquiring the dynamic knowledge, the tradi-
tional approach needs to rerun their knowledge
acquisition process.
Ontology, which defines concepts and the relationships
between concepts, was indicated to be useful in a knowl-
edge acquisition process in recent years. In computer sci-
ence area, the ontology is a conceptualized data structure
to be used in knowledge systems. Based on the same ontol-
ogy, different systems can communicate with each other, or
the knowledge inside computer systems may be structured
and presented more accurately. ‘‘An ontology may take a
variety of forms, but necessarily it will include a vocabulary
of terms, and some specification of their meaning. This
includes definitions and an indication of how concepts
are inter-related which collectively impose a structure on
the domain and constrain the possible interpretations of
terms” (Uschold, King, Moralee, & Zorgios, 1998).
To build up the domain ontology, identifying the
domain concepts is the first step. Moreover, a systematical
approach to acquire the relations of concepts from exper-
tise is also a key factor for ontology construction. In recent
years, due to the increasing requirement for inducing
domain knowledge into computer systems (Kitamura &
Mizoguchi, 2003; Noy & Sintek, 2001), many researches
(Alani & Kim, 2003; Eriksson, 2003; Fensel & Angele,
1988; Frank & Farquhar, 1999; Leibbink, Witteman, &
Mayer, 2002; Maedche & Staab, 2001) were proposed to
discover, represent, and use of ontologies. Especially in
KBSs, ontology becomes a key factor to build a successful
knowledge base with more meaningful knowledge content
for users. Moreover, the software agents technique is used
in knowledge acquisition systems to acquire knowledge
from autonomous, distributed, and semantically heteroge-
neous data sources with a domain specific ontology (Cara-
gea, Silvescu, & Honavar, 2001; Caragea et al., 2005;
Rosaci, 2005; Rosaci, Terracina, & Ursino, 2004).
However, ontology used in these researches was usually
assumed to be existent or be able to be obtained directly
from experts. However, in real cases, when a knowledge
engineer starts at designing a knowledge acquisition pro-
cess, the ontology of the domain concepts is usually not
available yet. It is usually a time-consuming process to
build an ontology only by interviewing a domain expert.
2.2. Repertory grid methodology and relevant systems
Repertory grid, based on Kelly’s personal construct
theory (Kelly, 1955) which reports how people make
sense of the world, could be used as an efficient knowledge
acquisition technique in identifying different objects and
distinguishing these objects in a domain. It is the basis of
several computer assisted knowledge acquisition tools,
such as ETS (Boose, 1984, 1985), AQUINAS (Boose &
Bradshaw, 1987) and KSSO (Gaines, 1987).
A single repertory grid represented as a matrix whose
columns have element objects (labels) and whose rows have
construct’s attributes (labels) can classify a class of objects,
or individuals. The value assigned to an element-construct
2436 S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450
pair need not be Boolean. Grid values have numeric rat-
ings, probabilities, and other characteristics, where each
value reflects a degree. Then, the expert is asked to fill
the grid with 5-scale ratings, where ‘‘1” represents the most
relevant attribute to the object; ‘‘2” represents that the
attribute may be relevant to the object; ‘‘3” represents
‘‘unknown” or ‘‘no relevance”; ‘‘4” represents that the
object may have the opposite characteristic; ‘‘5” represents
the most relevant opposite characteristic to the object. The
whole concept of repertory grid technique can be described
with the following steps:
(1) Elicit all of the element objects, e.g., E1, E2, E3, E4, E5
from the expert.
(2) Elicit the construct attributes (and their opposites),
e.g., C1; C2; C3; C4ðC01; C
0
2; C
0
3; C
0
4Þ, from the expert.
Each time three elements are chosen to ask for a con-
struct to distinguish one element from the other two.
(3) Rate all of the [element, construct] entries of the grid
with value range from 1 to 5. An illustrative example
is given in Table 1.
As repertory grid technique has been widely used by
researchers, some extensions have been made to enrich its
representative ability for covering more knowledge, the
value assigned to an element-construct pair may be Bool-
ean, numeric ratings, probabilities, etc. For example, Dixit
and Pindyck (1994), and Hwang (1995) extended the reper-
tory grid technique to the fuzzy table, in which constructs
were fuzzy attributes that could be rated by means of fuzzy
linguistic terms from a finite set. Castro-Schez, Jennings,
Luo, and Shadbolt (2004) developed a technique using a
fuzzy repertory grid for acquiring the finite set of attributes
or variables that the expert uses in a classification problem
to characterize and discriminate a set of elements.
Moreover, several models have been proposed for han-
dling uncertainties in expert systems through generating
more meaningful rules from the repertory grid oriented
approaches. EMYCIN certainty factor (CF) model was
first used to determine the degree of the belief of a rule
for uncertain reasoning (Shortliffe & Buchanan, 1975).
Embedded meaning capturing and uncertainty deciding
(EMCUD) knowledge acquisition system was proposed
to extract rules with embedded meaning from hierarchical
repertory girds by defining the impacts of the constructs
of each element (Hwang & Tseng, 1990) and was success-
fully applied in a medical diagnostic system of acute exan-
thema in Taiwan (Hwang & Tseng, 1991). WebGrid (Shaw
Table 1
The illustrative example of a repertory grid with ratings
Element construct E1 E2 E3 E4 E5
C1 5 1 5 1 1 C
0
1
C2 4 4 4 1 4 C
0
2
C3 1 4 5 1 4 C
0
3
C4 1 4 4 5 5 C
0
4
& Gaines, 1996), Calgary’s web-based knowledge modeling
and inference tool, is based on repertory grid elicitation
and analysis. Blythe, Kim, Ramachandran, and Gil
(2001) proposed an acquisition interface that integrates
previously developed techniques to guide users to set con-
straints in different aspects of knowledge acquisition.
Although these methodologies are proposed to extend
the ability of uncertain reasoning to classify the well-
known objects, none of them discusses the issue of discov-
ering and classifying new variant objects. It is also difficult
for experts to sense the occurrence of variant knowledge,
which is modified in the dynamic environment as time goes
on. Therefore, a new knowledge acquisition system based
upon EMCUD is proposed in this paper to guide domain
experts to create additional attributes for classifying new
variant objects through the observations of the interested
inference results.
2.3. Elicitation of embedded meanings
The embedded meanings referred to here represent the
information that domain experts take for granted but
which is implicit to the people who are not familiar with
the application domain. The lack of embedded meaning
will probably make an expert system fail to infer some
cases being trivial to experts. SEEK (Politakis & Weiss,
1984) and SEEK2 (Ginsberg, Weiss, & Politakis, 1988)
have been proposed to obtain embedded meanings by some
efficient refinement processes. However, the major problem
of SEEK and SEEK2 is that the case database is assumed
to be available although it is difficult to collect sufficient
cases in some applications. Moreover, it would be also
time-consuming and boring for experts to offer a conclu-
sion for each case in the database before starting the refine-
ment procedure. Thus, EMCUD (Hwang & Tseng, 1990) is
proposed to elicit the embedded meanings of knowledge
from the existing hierarchical repertory grids given by
experts. Additionally, it will also guide experts to determine
the certainty degree of each rule with embedded meaning
for extending the coverage of generated original rules.
To capture the embedded meanings of the resulting
grids, the Attribute Ordering Table (AOT), which is used
to record the relative importance of each attribute to each
object, is employed. The values in each AOT entry, a pair
of attribute and object, may be labeled ‘‘X”, ‘‘D” or an
integer number. ‘‘X” means no relationship existing
between the attribute and the object. ‘‘D” means that the
attribute dominates the object, i.e., if the attribute is not
equal to the entry value, it is impossible for the object to
be implied. Integer numbers are used to represent the rela-
tive importance degree of the attribute of the object instead
of dominating the corresponding object. If the attribute
does not equal the attribute-value, it is still for the object
to be implied. A larger integer number implies that attri-
butes must be more important to the object.
Using AOT, the original rules generate some rules with
embedded meaning, and the CF value of each rule, which is
Table 2
The acquisition table of four computer worms
Attribute Object
Nimda CodeRed Blaster Welchia
100-thread (A1) X True X X
System reboot
(A2)
X True True True
DoS type (A3) Email flood TCP flood Windows
Update flood
ICMP
flood
Email attached
file (A4)
{sample.exe;
puta!!scr}
X X X
TCP port
(A5)
X {80} {135; 4444} {80; 135}
S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450 2437
between �1 and 1, could be determined to indicate the
degree of supporting the inference result. The higher the
CF value, the more reliable the results are. The EMCUD
algorithm is listed as follows.
Algorithm 1. EMCUD algorithm
Input: The hierarchical grids.
Output: The guiding rules with embedded meaning.
Step 1: Build the corresponding AOT with each grid of
the hierarchical multiple grids.
Step 2: Generate the possible rules with embedded
meaning.
Step 3: Select the accepted rules with embedded meaning
through the interaction with experts.
Step 4: Generate automatically the CF of each rule with
embedded meaning.
All rules generated by EMCUD can be categorized into
two classes: original and embedded rules with acceptable
CF value, and discarded rules with unacceptable CF value,
according to the confidence degree of domain experts. To
determine the CF value of each embedded rule, we have
to firstly determine the upper and the lower bounds of
CF values of accepted embedded rules. CF value of each
rule can be automatically determined by a fuzzy mapping
function. Thus, the useful embedded rules with acceptable
CF values could be used to cover more uncertainty cases.
Since embedded rules with weak acceptable CF values
(the CF values below a user defined threshold) usually
mean that domain experts might lack strong confidence,
objects matching weak embedded rules derived from origi-
nal objects may be the candidates for new variants. For
example, the object satisfying the conditions (attribute-
value pairs) of the embedded rules with CF = 0.5 means
the expert might suggest that it would be marginally classi-
fied into the object class and the minor attributes of the
embedded rule might be not clearly defined. Therefore,
the fired frequencies of this kind of weak embedded rules
should be used to discover the occurrence of new variant
objects.
2.4. Problems with conventional knowledge acquisition
methods
With the changing environment, the adaptation of the
acquired rules should be required to cope with new vari-
ants. However, experts may not be aware of the occurrence
of new variant candidates and may have insufficient evi-
dence to construct the knowledge of the variants using con-
ventional repertory grid approaches. Although EMCUD
could be used to generate more useful embedded rules for
covering more similar objects in extended object classes,
it still lacks the ability of grid evolution for singling these
new variants out; e.g., EMCUD should manually regener-
ate the original and embedded rules to classify these variant
objects by interacting with domain experts after collecting
sufficient information about these variants. Therefore,
enhancing the adaptation ability of embedded rules
becomes increasingly important to achieve the ability of
grid evolution in a classification KBS.
In this paper, the embedded rules from EMCUD are
categorized into three classes: the original rules with strong
CF values, the embedded rules with marginally acceptable
CF values, and the discarded rules with low CF values.
Hence, a new knowledge acquisition methodology is pro-
posed to discover the occurrence of new variant objects
using the fired frequency of embedded rules with margin-
ally acceptable CF values. A simple computer worm detec-
tion prototype in Example 1 is used to illustrate the
inability for discovering variants using EMCUD.
Example 1. The example of classifying four computer
worms.
In recent years, the number of computer worms is
dramatically increasing to threaten the reliability of Inter-
net. Table 2 shows the acquisition table of four computer
worms (Kienzle & Elder, 2003; Mirkovic, Martin, &
Reiher, 2002; Moore, Shannon, Voelker, & Savage, 2003;
Weaver, Paxson, Staniford, Cunningham, & Maulik, 2003)
including Nimda, CodeRed, Blaster, and Welchia using
five attributes including 100-thread, System reboot, DoS
type, Email attached file, and TCP port. The 100-thread
means 100-threads with Boolean are simultaneously exe-
cuted by one program. The system reboot Boolean
attribute will be set to True if the system has been
automatically rebooted. The attacking methodologies of
worms could be classified into one kind of DoS type with
String attribute (Mirkovic et al., 2002). The email attached
file attribute with Set data type is also a useful attribute to
classify these worms. Most of the worms could communi-
cate with each other using different TCP port with Set data
type.
An example of constructing an AOT table from the
acquisition table shown in Table 2 is given as follows:
EMCUD: If DoS type is not equal to Email flood, is it
possible for Nimda to be implied?
EXPERT: No.
2438 S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450
The answer means the DoS type dominate Nimda, and
hence AOT [Nimda, DoS type] = ‘‘D”.
EMCUD: If Email attached file is not equal to any ele-
ment of {sample.exe, puta!!scr}, is it possible for Nimda
to be implied?
EXPERT: YES.
The answer means that Email attached file does not
dominate Nimda. The questions for 100-thread and Nimda
will not be asked, since the entry [Nimda, 100-thread] is
labeled ‘‘X”. Therefore, the entry AOT [Nimda, 100-
thread] is labeled ‘‘X”, too. This is the same for AOT
[Nimda, System reboot] and AOT [Nimda, TCP port]
entries. The entry AOT [Nimda, Email attached file] is set
to be 1, since the Email attached file is the only attribute
that does not dominate Nimda. If there are more than one
attributes do not dominate the object, e.g., the System
reboot, the DoS type, and the TCP port do not dominate
Blaster, the following questions will be asked by EMCUD.
(1) Is System reboot more important than DoS type?
(2) Is System reboot less important than DoS type?
(3) Is System reboot as important as DoS type?
The expert indicates that System reboot is as important
as DoS type to Blaster. Moreover, the expert also indicates
Table 3
The AOT table of four computer worms
Attributes Object
Nimda CodeRed Blaster Welchia
A1 X 2 X X
A2 X 1 2 2
A3 D 1 2 1
A4 1 X X X
A5 X X 1 2
Table 4
Partial detection rules generated by EMCUD
Rule # Conditions
A1 A2 A3 A
R1,0 – – Email flood (
R1,1 – – Email flood :
R2,0 True True TCP flood –
R2,1 True False TCP flood –
R2,2 False True TCP flood –
R2,3 True False : (TCP flood) –
R3,0 – True Windows update flood –
R3,1 – True Windows update flood –
R3,2 – False Windows update flood –
R3,3 – True : (Windows update flood) –
R3,4 – False Windows update flood –
R4,0 – True ICMP flood –
R4,1 – True : (ICMP flood) –
R4,2 – True ICMP flood –
R4,3 – True : (ICMP flood) –
that System reboot is more important than TCP port to
Blaster; and hence the entries AOT [Blaster, System
reboot] = AOT [Blaster, DoS type] = 2 and AOT [Blaster,
TCP port] = 1. After each entry value of AOT is deter-
mined as shown in Table 3, the embedded meaning implied
by the AOT can be extracted.
Now we use the first column of Table 2 to show the
information implied by an AOT. The column expresses the
following meanings:
(1) A3 dominates Nimda: If A3 is not equal to Email
flood, it is impossible for Nimda to be implied.
(2) A4 does not dominate Nimda: If A4 is neither equal to
sample.exe nor puta!!scr, it is still possible for Nimda
to be implied.
In practice, the hierarchy rules can be generated while
hierarchical grids are given. To simplify the discussion,
Table 4 shows partial detection rules (simple rules) of a
classification KBS based upon the Tables 2 and 3 to
classify these worms using five attributes in single grids. Ri,j
represents the jth highest rank of CF in object i, and the
highest rank is 0. The R1,0 is the original rule of Nimda to
classify the original Nimda objects and R1,1 is the embed-
ded rule of Nimda to classify the extended Nimda objects.
The Mask Table of minor attributes shown in Table 5
indicates the minor attributes for all embedded rules. Each
row in Mask Table is a bit vector of attributes, where the
ith bit is set to 1 representing the ith minor attribute that is
negated or ignored. For example, the M2,3 (0, 1, 1, 0, 0)
means the 2nd and 3rd minor attributes in R2,3 are ignored.
On the Internet, each worm can be represented as a set
of attribute-value pairs. We can automatically collect such
attribute-value pairs and feed them into the classification
KBS to classify them in the suitable category. Since new
worms might have been derived from old worms, the
difference between their attribute values seems to be slight.
As mentioned above, EMCUD could generate lots of
Conclusion CF
4 A5 Object
sample.exe; puta!!scr) – Nimda 0.8
(sample.exe; puta!!scr) – Nimda 0.4
– CodeRed 0.8
– CodeRed 0.6
– CodeRed 0.4
– CodeRed 0.4
{135; 4444} Blaster 0.7
:{135; 4444} Blaster 0.57
{135; 4444} Blaster 0.43
{135; 4444} Blaster 0.43
:{135; 4444} Blaster 0.3
{80; 135} Welchia 0.8
{80; 135} Welchia 0.67
:{80; 135} Welchia 0.53
:{80; 135} Welchia 0.4
Table 5
The Mask Table of ignored attributes
Mask # A1 A2 A3 A4 A5
M1,0 0 0 0 0 0
M1,1 0 0 0 1 0
M2,0 0 0 0 0 0
M2,1 0 1 0 0 0
M2,2 1 0 0 0 0
M2,3 0 1 1 0 0
M3,0 0 0 0 0 0
M3,1 0 0 0 0 1
M3,2 0 1 0 0 0
M3,3 0 0 1 0 0
M3,4 0 1 0 0 1
M4,0 0 0 0 0 0
M4,1 0 1 0 0 0
M4,2 0 0 0 0 1
M4,3 0 1 0 0 1
S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450 2439
embedded rules with different CF values for accommodat-
ing the knowledge of the changed worms due to the
property of minor attributes; e.g., R1,1 ‘‘IF (DoS type = E-
mail flood) AND : (Email attached file = (sample.exe;
puta!!scr)) THEN Nimda”, a marginally acceptable embed-
ded rule with CF = 0.4, may be fired by a new Nimda
variant which is treated as a member of original Nimda
class. If this rule has been fired frequently due to a specific
value of the attribute ‘‘email attached file”: ‘‘readme.exe”
(more evidence of the occurrence of the candidates of
Nimda variants have been gathered), a new original rule
and an embedded rule could be generated: ‘‘IF (DoS
type = Email flood) AND (Email attached file = read-
me.exe) THEN Nimda.B”, a subset of extended Nimda
object class namely Nimda.B, with CF = 0.8 and ‘‘IF (DoS
Embedded
Rule Base
Inference Engine
(DRAMA)
Inference
Log
Experts
New
Variants
Acquisition
Meta
Knowledge
New Varian
Acquisition
Table
Adjust
Extended
EMCUD
Main
Acquisition
Table
Update
Fig. 1. The framewo
type = Email flood) AND : (Email attached file = read-
me.exe) THEN Nimda.B” with CF = 0.5. These rules help
to single the Nimda.B class out of the extended Nimda
object class.
3. Knowledge acquisition by discovering variant objects
Although EMCUD and other similar approaches could
be manually rerun to acquire variant knowledge from
domain experts to classify new variant objects, it might
be costly and hard to obtain the knowledge due to the
insufficient information about variants. To simplify our
discussion, let’s assume some objects in O1 class belong
to the original object class (OO1) of O1, which can be clas-
sified by original rules of O1. The other objects in O1 class
classified by embedded rules of O1 belong to the extended
object class (EO1) of O1, where OO1 � EO1. In the EO1,
some modified objects can be classified by the embedded
rules of O1 with weak CF values, which are singled out
to be a variant object class (VO1) of O1 with the significant
attributes emerged from minor attributes. That is,
VO1 � EO1 and VO1 \ Oi = /, where 1 6 i 6 m, and m is
the number of distinct object classes. Because the embed-
ded rules with diverse CF values represent different sup-
ports to classify objects, the ones with marginally
acceptable CF values might be triggered by some candi-
dates of new variant classes. Therefore, our idea is to ana-
lyze the behaviors of weak embedded rules (the weak
suggestions by experts) to construct the new variants acqui-
sition table for extracting new variant knowledge.
In the following, we will propose a new iterative knowl-
edge acquisition methodology, variant objects discovering
Real
Instances
Stage III:
Knowledge
Polishing
Stage I:
Log
Collecting
Stage II:
Knowledge
Learning
ts
User
Inter-
face
User
rk of VODKA.
2440 S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450
knowledge acquisition (VODKA) which is an iterative pro-
cess as shown in Fig. 1, to provide the ability of grid evo-
lution, where each iteration consists of three stages, log
collecting stage, knowledge learning stage, and knowledge
polishing stage, to analyze the inference behaviors of the
embedded rules in a KBS.
Firstly, the embedded rule base will be created according
to the original main acquisition table using EMCUD or
VODKA. Then the inference behaviors (facts/attribute-
value pairs) will be collected iteratively to discover the can-
didates of the variants during Stage I according to the meta
knowledge. The ignored attribute-value pair of the minor
attribute will be treated as an item and a set of ignored
attribute-value pairs will be treated as a transaction to dis-
cover the association between interesting attribute-value
pairs in Stage II. Consequently, the new variants acquisi-
tion table based on the discovered knowledge could be gen-
erated by interacting with domain experts through the new
variants acquisition procedure. Finally, the rules applicable
to new variants will be incrementally generated and the
main acquisition table will be iteratively adjusted using
E-EMCUD in Stage III. The algorithm of VODKA is
shown as follows.
Algorithm 2. The algorithm of VODKA
Input: The original main acquisition table T and embed-
ded rule base RB.
Output: The rules with embedded meaning about
variants.
Stage I: Collect all facts of the weak embedded rules as
real inference log of the RB.
Stage II: Generate the new variants acquisition table T0.
Step 1: Discover large itemsets L using the inference
log.
Step 2: Generate T0 using L and additional attributes
provided by experts.
Stage III: Use E-EMCUD to generate rules of new
variants.
Step 1: Generate rules according to T0.
Step 2: Merge T0 into original main acquisition table
T.
3.1. Meta knowledge in log collecting stage
Without loss of generality, let’s assume that there are k
attributes to classify m objects in the main acquisition
table. Thus, the total number of embedded rules is limited.
In order to assist domain experts in noticing and analyzing
the occurrence of the candidates of variant objects, the fol-
lowing four meta rules are used to collect the inference log
(fact/raw data) of weak embedded rules to help experts
sense the occurrence of new variants.
MR1: IF Ri,j is fired THEN Increase Ci,j by one.
MR2: IF CF(Ri,j) 6 THCF, THEN Log Ri,j.
MR3: IF Ci,j P THcnt AND CF(Ri,j) 6 THCF THEN
Run New Variants Acquisition Algorithm to acquire the
new variants acquisition table and Reset TimeOut.
MR4: IF TimeOut = THPeriod THEN Run New Variants
Acquisition Algorithm and Reset TimeOut.
The meta rule MR1 is used to count the fired frequency
of each embedded rule (Ci,j). The meta rule MR2 means
that all facts (attribute-value pairs) of the embedded rules
with marginally acceptable CF lower than strong CF
bound threshold (THCF) are logged as a record, (Ri,j,
A1, A2, . . . , Ak, CF(Ri,j)). The meta rule MR3 means that
if there exists one weak embedded rule with fired frequency
exceeding the warning line threshold (THCNT), new vari-
ants may be discovered iteratively using VODKA. The
meta rule MR4 means that VODKA will be executed peri-
odically to refresh the new variants acquisition table. The
TimeOut will be reset when MR3 or MR4 is triggered.
3.2. New variants discovering methodology at the knowledge
learning stage
At the knowledge learning stage, the new variants acqui-
sition table will be generated through interacting with
domain experts based upon the observation of inference
log. An ignored attribute-value pair, i.e., (DoS type = TCP
flood), is treated as an item and the transaction is repre-
sented as a set of ignored attribute-value pairs, i.e.,
{(DoS type = TCP flood), (TCP port = {135; 4444})}.
The inference log could be automatically transformed into
the transaction database (D) and the item set (I) using the
Mask Table of ignored attributes. In order to obtain the
candidates of new variants, we apply Apriori algorithm
(Agrawal, Imielinksi, & Swami, 1993) to discover large
itemsets (L) that will provide more useful information.
After generating the large itemsets, new variants acqui-
sition table might be elicited following the new variants
acquisition algorithm. The new objects using unclear attri-
butes would be singled out accordingly, if the experts
reconfirm the addition of the new variant object. Thus,
one of three recommendations including adding a new
attribute value to a minor attribute, modifying the data
type of a minor attribute, adding a new attribute, will be
further given to adjust the main acquisition table. If a
new changing object is singled out, the new value of the
minor attribute could be added to characterize of new
objects. If the initial data type of a certain attribute is
too rough to describe the object, a superior data type is rec-
ommended and the values of the attribute in both original
object and variant should be modified. For example, the
BOOLEAN data type may be refined to SINGLE VALUE
data type (Hwang & Tseng, 1990). If changing the data
type still can not discriminate the new variants from origi-
nal objects, acquiring a new attribute from domain experts
will be suggested in VODKA. Thus, the new variants
acquisition table will be created iteratively using the discov-
ered large itemsets in Algorithm 3. However, adding a new
S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450 2441
attribute, which is very time-consuming because it results in
creating a new row in new variant acquisition table, is the
last choice for classifying variant objects.
Algorithm 3. New variants acquisition algorithm
Input: Inference log and the main acquisition table T,
the minimal support d.
Output: The new variant object class VO, new attribute
set AN, and new variants acquisition table T0.
Step 1: Transform inference log into the transaction
data set D.
Step 2: Discover large itemsets L by d using D.
Step 3: For each large itemset, ask experts to determine
whether it belongs to a new variant or not.
Step 4: If a new variant is confirmed, ask experts to
acquire the related information about this new variant.
Tab
Th
Ru
R3,
R3,
R3,
R3,
R3,
R3,
R3,
R3,
R3,
R3,
Store VOnew in VO.
Add a new column to represent the new variant
VOnew in T
0.
Ask experts to confirm whether changing the data
type of attribute Ai is needed or not, where
1 6 i 6 k, and k is the number of attributes.
Step 4.1: If no data type needs to be changed, Suggest
Recommendation I.
Add a new value of Ai of the VOnew.
Else, ask experts to confirm whether adding a new
attribute is needed or not.
Step 4.2: If no new attribute needs to be added, Sug-
gest Recommendation II to modify the data type of Ai.
Ask experts to acquire the mapping function of
values between original and new data types.
Add a column in T0 to represent the original object
with new mapping values.
Else, Suggest Recommendation III.
Ask experts to acquire the values of the new attri-
bute Anew.
Add a new row in T0 to represent the new variant
Anew.
Store Anew in AN.
Add a column in T0 to represent the original object
with new attribute value if needed.
Step 5: Return VO, AN, T0.
le 6
e partial inference logs of Blaster
le # A1 A2 A3
4 17 False Windows Update fl
2 100 False Windows Update fl
4 8 False Windows Update fl
2 119 False Windows Update fl
4 17 False Windows Update fl
2 100 False Windows Update fl
4 11 False Windows Update fl
2 76 False Windows Update fl
4 66 False Windows Update fl
2 100 False Windows Update fl
Besides interaction with domain experts, the computa-
tional cost of the algorithm is dependent on Step 2. The size
of collecting inference log and minimal support threshold
setting will affect the computational cost. For different
types of inference logs, different learning algorithms can
be selected to learn and discover the candidate behaviors
of variants.
Example 2. The variant learning example of a Blaster
worm
In this example, let’s assume that the fired sequence of
some embedded rules of Blaster worms with marginally
acceptable CF values is given in Table 6.
Let’s assume minimal support is set to 30%; the large
itemsets L including L1 = {(A2 = False); (A5 = X)} and
L2 = {(A2 = False, A5 = X)} will be provided to experts for
further recommendation; i.e., L will be used to generate the
new variants acquisition table T0 according to the recom-
mendations suggested by VODKA.
VODKA: Does the attribute-value pair (A2 = False)
belong to any new variant object?
EXPERT: Yes. /*It means that a new variant contains
the selected attribute-value pair (A2 = False). Otherwise,
the large itemset is discarded and another large itemset is
chosen to be examined. */
VODKA: What is the name of the new variant object?
EXPERT: VOnew.
A new column will be added in T0 to represent the
variant, VOnew, separated from the original object.
VODKA: Is the data type of A2 required to be changed?
EXPERT: No. /* It means the data type does not
need to change after adding new variant (Recommenda-
tion I). Otherwise, VODKA will ask the following ques-
tions. */
The row representing A2 with new attribute value and one
column representing the variant object will be created in T0.
VODKA: Is any new attribute required to be added?
A4 A5 Object CF
ood – X Blaster 0.3
ood – {135} Blaster 0.43
ood – X Blaster 0.3
ood – {4444} Blaster 0.43
ood – X Blaster 0.3
ood – {135} Blaster 0.43
ood – X Blaster 0.3
ood – {4444} Blaster 0.43
ood – X Blaster 0.3
ood – {135} Blaster 0.43
2442 S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450
EXPERT: No. /* It means no need to add new attribute
and Recommendation II is then suggested. Otherwise,
VODKA will suggest Recommendation III. */
Recommendation II.
VODKA: What is the new name and new value set of the
attribute A2?
EXPERT: NDTnew, VDTnew. /
* For each old value in A2,
VODKA will ask experts to define the mapping between
old and new value sets. */
The row representing A2 with new mapping values and two
columns representing the original and variant objects will
be created in T0.
Recommendation III
VODKA: What is the name and value set of the new
attribute-value pair?
EXPERT: Anew, AVnew. /
* VODKA will ask experts to
provide a set of values (AVnew) of the new attribute
Anew.
*/
A new row representing the useful attribute namely Anew
with a set of value (AVnew) and two columns representing
original object and new variant will be added in T0. If
all large itemsets are confirmed, the new variant acquisition
table T0 can be used to generate embedded rules of discov-
ered variants in the knowledge polishing stage.
3.3. Knowledge polishing using extended EMCUD
Based upon the new variants acquisition table, we pro-
pose extended EMCUD (E-EMCUD) algorithm as shown
in Algorithm 4 to generate new embedded rules and adjust
the original embedded rule base. Therefore, we can grace-
fully update the embedded rule base using the small new
variants acquisition table instead of using the whole large
main acquisition table.
Algorithm 4. The E-EMCUD algorithm
Input: The original main acquisition table T, rule base
RB, the new variants acquisition table T0, variant
objects VO, and new attributes AN, and THCF.
Output: The adjusted RB including rules with embedded
meaning of new variants.
Step 1: Build the corresponding AOT of T0.
Step 2: Generate the embedded rules with embedded
meaning of T0.
Step 3: Generate the embedded rules with CF values
including the original rules with strong CF and embed-
ded rules with marginally acceptable CF.
Step 4: Merge the new variants acquisition table T0 into
main acquisition table T.
Step 4.1: Append VO and AN as new columns and
rows in T, respectively.
Step 4.2: Ask experts to fill the values of the modified
attributes of other objects in T if necessary.
Step 4.3: Ask experts to examine the values of the
new attributes of other objects in T if necessary.
Step 5: Reset the new variants acquisition table T0.
Based upon the AOT table generated in Step 1, the
embedded rules generated in Step 2 will be classified into
original and embedded rules in Step 3. Then, the new vari-
ants acquisition table will be merged with the main acqui-
sition table in Step 4. Finally, the new variants acquisition
table will be reset in Step 5 to learn other variants.
3.4. The analysis of VODKA
The cost of running VODKA can be divided into two
categories: computational cost and interaction cost.
Assume there are k attributes to classify m objects in the
original main acquisition table, where the grid size is
k*m. For simplifying our discussion, we use ERk,m to rep-
resent the total number of embedded rules in the classifica-
tion KBS, where ERk,m < m
*2k.
During the log collection stage, assume n instances are
matched by the classification KBS. For each instance, it
has Pe probability to be classified by weak embedded rules;
hence the size of interesting inference log database in
VODKA is n*Pe.
During the knowledge learning stage, the computational
cost is dominated by the learning algorithm we selected. In
this paper, Apriori algorithm is used to learn the candi-
dates of variant worms. Hence, the computational cost is
O(Aproori). For example, if the size of database has n
transactions (each transaction has k attributes) and the
maximal length of large itemsets is len, then the time com-
plexity of traditional Apriori algorithm is O(n*k*len).
Assume L large itemsets are discovered and used to
notify experts to determine the existence of the variants.
For each embedded rule, assume it has Pv probability to
evolve a variant; hence P�v ERk;m, denoted V, variants might
be discovered. Therefore, the order of interaction with
experts is V, where V < L.
During the knowledge polishing stage, the E-EMCUD
integrates new acquisition table into original acquisition
table. The computational cost of E-EMCUD for generat-
ing rules is dependent on the size of new acquisition table
(GRID), denoted O(GRID). For example, using our E-
EMCUD to generate embedded rules, it costs 0.05 ms
�0.15 ms to generate one rule. Fig. 2 shows that the time
for generating rules using different grid sizes. The computa-
tional time is approximately linear growing when setting a
fixed attribute number with different numbers of objects in
Fig. 2a, and the growth rate is exponential when setting a
fixed object number with different numbers of attributes
in Fig. 2b.
(a) Various number of objects (b) Various number of attributes
2000
1500
1000
500
0
2000
2500
3000
1500
1000
500
0
5 10 15 20
Objects
T
im
e
(m
s)
T
im
e
(m
s)
Attributes = 10 Objects = 10
Attributes
25 30 5 7 9 10 11 12
Fig. 2. The time of generating rules using different grid size.
S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450 2443
In short conclusion, the cost of VODKA consists two
parts: computational cost and interaction cost. The size
of interesting inference log database: n*Pe.
� Computational cost: O(Apriori) + O(GRID).
� Interaction cost: V.
4. VODKA implementation and case studies
Two case studies including computer worms and e-
learning domain are used to evaluate the performance of
VODKA.
4.1. VODKA implementation
VODKA is implemented by DRAMA (Lin et al., 2003),
a new object-oriented rule based system platform imple-
mented using pure Java language, to refine the embedded
rule base by observing the inference behaviors of weak
embedded rules. It includes DRAMA server, console,
knowledge extractor, and rule editor. Also, it provides an
application programming interface (API) to access
DRAMA server in DRAMA integrated systems. There
are four basic relations between knowledge concepts
defined in DRAMA: Reference, Extension-of, Trigger
and Acquire. The Reference relation represents the associ-
ation of two different knowledge classes (KCs) if the KCs
have common piece of knowledge, which is useful for using
original knowledge to construct new knowledge. Exten-
sion-of relation is used to extend or modify the KC con-
structed by other people, which is useful for knowledge
sharing and exchanging. The Trigger and Acquire relations
are used to represent the interaction of different KCs. The
log collecting stage is encoded by four meta-rules described
in Section 3.1 in DRAMA; the knowledge learning stage
and E-EMCUD are implemented using the JSP to make
a communication channel using the API provided by
DRAMA.
4.2. The case study of computer worms
With the rapid development of network technology, the
network security becomes one of the most important issues
today. To prevent network environment from intrusions,
lots of researches and different systems are proposed to
detect, filter, or prevent intrusions properly. Recently, the
computer worms become more complicated owing to com-
bining several signatures of previous known worms. The
number of computer worms has grown dramatically to
influence the wide computer networks due to the property
of easily modifying the source codes of original computer
worms to create new variants for escaping the detection
of related systems, e.g., Symantec Norton (Symantec,
2005), Network Viruswall (Trend Micro, 2005), etc. They
are very difficult for experts to get and analyze the signa-
tures because they have incredibly sophisticated character-
istics (Kienzle & Elder, 2003; Moore et al., 2003; Weaver
et al., 2003). Some researchers have proposed machine
learning, data mining, and clustering approaches to dis-
cover and learn outliers or abnormalities (the new types
of objects) (Lin, Tseng, & Lin, 2002).
Generally speaking, a computer worm usually self-prop-
agates via a network to acutely generate a crisis in our sys-
tems through the following four stages: target selection,
exploitation, infection, and propagation (Weaver et al.,
2003). At the Target Selection Stage, a worm performs
reconnaissance and simply probes potential victims to see
if it’s running a service on a particular port. If the service
is running, the worm goes to exploitation stage, in which
it compromises the target by exploiting a particular vulner-
ability and published exploits. If it succeeds, the worm goes
to infection stage, in which it sets up on the newly infected
machine. Finally, in propagation stage, the worm starts to
spread by choosing new targets. And another victim will
enter the next four stages cycle.
In our worm detection prototype system, the knowledge
of computer worms can be divided into several KCs,
including the service provided by the host may be infected
by certain worms and then produced some symptoms in
host or network. The related attributes of various com-
puter worms can be collected by some probe tools and used
to evaluate the ability of VODKA, which deployed in the
prototype system.
In order to evaluate VODKA system, an experimental
environment shown in Fig. 3 for detecting various com-
puter worms is built. In this environment, the victim could
receive both the normal traffic and the attacking traffic
Fig. 3. The experimental environment for detecting computer worms.
2444 S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450
(various worm behaviors). All received traffic can be trea-
ted as normal or attacking behavior, which can be trans-
formed as attribute-value pairs. The network traffic
collected from Internet is assumed as normal traffic since
most attacking behaviors with significant signatures will
be filtered by a firewall. The attacking traffic generator is
designed to randomly generate various worms attacking
traffic to infect the victim. Besides the attacking traffic,
some signatures, e.g., the system status, host vulnerability
information, and large e-mailing behavior, of the victim
infected by worms can be also collected. The probe, such
as Nessus (Tenable, 2005), is also used to automatically
collect these worm related attributes (symptoms). The clas-
sification rules of 15 kinds of worm families, including ori-
ginal worms and some variant worms, are extracted using
EMCUD and then these worm classification rules are
stored into the worm KB. Then, these attributes are used
to trigger the corresponding classification rules in the worm
KB. If variant worms occurred frequently in a period of
time, some candidate worm variants may be discovered
by VODKA. Finally, the corresponding embedded rules
of variant worms confirmed by experts will be generated
to update the worm KB.
To evaluate the effectiveness of VODKA, we generated
20 kinds of test samples including the behaviors of 15 kinds
of original worm families and five kinds of new worm fam-
ilies to randomly attack the victims. The experimental result
shows that VODKA can detect 100% of original worms
since the classification rules are stored in the worm KB.
For detecting the occurrence of variant worms, VODKA
can learn the 85% of variant worms. However, VODKA
can detect 80% of new worm families in our experiments
because the significant difference of new family can not be
discovered easily. Thus, deploying the most complementary
configurations in a collaborative framework could be effi-
cient in discovering the new created worms.
The following example shows that the variant objects in
this domain can be discovered by VODKA, where THCNT
is set to 4, THCF is set to 0.7, and the minimal support is set
to 30%.
Recommendation I. Elicitation of new variants by adding a
new attribute value of a minor attribute.
Nimda worm, a famous Email flooding worm, can be
propagated to victims through the attached files in email.
By monitoring the attached filename in email, we can dis-
cover the large itemset L = (A4 = readme.exe) shown in
Table 7 according to the embedded rule R1,1 in Table 4.
Based upon the large itemsets, VODKA will ask the fol-
lowing questions.
VODKA: Does the attribute-value pair (A4 = read-
me.exe) belong to any new variant object?
EXPERT: Yes.
VODKA: What is the name of the new variant object?
EXPERT: Nimda.B.
VODKA: Is the data type of A4 required to be changed?
EXPERT: No.
Consequently, the new variant acquisition table of Nim-
da.B shown in Table 8 will be generated after interviewing
the experts in this iteration.
Hence, an original rule ‘‘IF (DoS type = Email flood)
AND (Email attached file = (readme.exe)) THEN Nim-
da.B, CF = 0.8” and an embedded rule ‘‘IF (DoS type =
Email flood) AND : (Email attached file = (readme.exe))
THEN Nimda.B, CF = 0.5” of the Nimda.B will be gener-
ated using E-EMCUD based upon the Nimda.B acquisi-
tion table.
Recommendation II. Elicitation of new variants by chang-
ing the data types of attributes.
In the priori generation of CodeRed worm, generating
numerous threads to attack the victim through launching
TCP flooding is one of the famous characteristics. Hence,
it is useful to detect the CodeRed by analyzing the gener-
ated anomaly threads in the protected system. For the par-
tial detection rules of CodeRed shown in Table 9, the
following shows how the values in Boolean data type will
be logged as the integer value of the attribute A1 instead
of true/false value.
Using the above inference log, the large itemset
L = (A1 = 600) can be discovered based upon the embed-
ded rule R2,2 since the minimal support 30% is satisfied.
Then, VODKA will ask the following questions.
VODKA: Does the attribute-value pair (A1 = 600)
belong to any new variant object?
EXPERT: Yes.
VODKA: What is the name of the new variant object?
Table 7
The partial inference logs of Nimda
Rule # A1 A2 A3 A4 A5 Object CF
R1,1 6 True Email flood readme.exe {137} Nimda 0.4
R1,1 100 False Email flood sample1.exe {25} Nimda 0.4
R1,1 17 True Email flood readme.exe {137} Nimda 0.4
R1,1 14 False Email flood readme.exe {25} Nimda 0.4
R1,1 4 False Email flood readme.exe {445} Nimda 0.4
R1,1 19 False Email flood readme.exe {80} Nimda 0.4
R1,1 44 False Email flood hash.exe {25} Nimda 0.4
R1,1 38 True Email flood readme.exe {138} Nimda 0.4
R1,1 100 False Email flood inter.exe {25} Nimda 0.4
R1,1 28 False Email flood readme.exe {25} Nimda 0.4
Table 10
The new variant acquisition table of CodeRed.II
Attributes Objects
CodeRed CodeRed.II
Threads 100 600
System reboot True True
DoS type TCP flood TCP flood
Email attached file X X
TCP port X X
S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450 2445
EXPERT: CodeRed.II.
VODIKA: Is the data type of A1 required to be changed?
EXPERT: Yes.
VODKA: Is any new attribute required to be added?
EXPERT: No.
VODKA: Can the Single Value data type be used to
change the original Boolean data type of A1?
EXPERT: Yes.
VODKA: What is the new name and new value set of the
attribute A1?
Expert: Threads, (100, infinite).
VODKA: What is the new value of the original True
value of the attribute A1 in CodeRed?
EXPERT: 100.
Therefore, the new variant acquisition table of CodeRe-
d.II shown in Table 10 will be generated.
Consequently, an original rule ‘‘IF (Threads = 600)
AND (System reboot = True) AND (DoS type = TCP
Table 8
The new variant acquisition table of Nimda.B
Attributes Object
Nimda.B
Threads X
System reboot X
DoS type Email flood
Email attached file {readme.exe}
TCP port X
Table 9
The partial inference logs of CodeRed
Rule # A1 A2 A3
R2,2 150 True TCP flood
R2,2 600 True TCP flood
R2,1 100 False TCP flood
R2,2 600 True TCP flood
R2,2 150 True TCP flood
R2,1 100 False TCP flood
R2,2 600 True TCP flood
R2,2 600 True TCP flood
R2,2 600 True TCP flood
R2,2 300 True TCP flood
flood) THEN CodeRed.II, CF=0.9” and an embedded rule
‘‘IF : (Threads = 600) AND (System reboot = True)
AND (DoS type = TCP flood) THEN CodeRed.II,
CF = 0.3” will be generated to classify the CodeRed.II.
Recommendation III. Elicitation of new object by adding
new attributes.
As mentioned in Example 2, we can obtain the large
itemsets L = {(A2 = False); (A5 = X); (A2 = False,
A5 = X)}, which will be used to elicit the embedded rules
of the new variant. The symbol ‘‘X” means no attribute
value of A5 is logged, similar to ‘‘Do not care” attribute,
and (A2 = False, A5 = X) will also be pruned too. There-
fore, VODKA system will ask the following questions.
VODKA: Does the attribute-value pair (A2 = False)
belong to the new variant object?
EXPERT: Yes.
VODKA: What is the name of the new variant object?
A4 A5 Object CF
– {80} CodeRed 0.4
– {80} CodeRed 0.4
– {80} CodeRed 0.6
– {80} CodeRed 0.4
– {80} CodeRed 0.4
– {80} CodeRed 0.6
– {80} CodeRed 0.4
– {80} CodeRed 0.4
– {80} CodeRed 0.4
– {80} CodeRed 0.4
2446 S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450
EXPERT: Blaster.B.
VODKA: Is the data type of A2 required to be changed?
EXPERT: Yes.
VODKA: Is any new attribute required to be added?
EXPERT: Yes.
VODKA: What is the name and value set of the new
attribute?
EXPERT: UDP port, (0, 65535).
VODKA: What is the value of the UDP port attribute in
Blaster.B and Blaster?
EXPERT: 69, X (means Do not care).
Hence, the Blaster.B acquisition table shown in Table 11
is generated.
Consequently, a new original rule ‘‘IF (System
reboot = Flase) AND (DoS type = Windows update flood)
AND (UDP port = {69}) THEN Blaster.B, CF = 0.8” and
an embedded rule ‘‘IF (System reboot = Flase) AND (DoS
Table 11
The new variant acquisition table of Blaster.B
Attributes Objects
Blaster Blaster.B
100-thread (A1) X X
System reboot (A2) True False
DoS type (A3) Windows Update
flood
Windows Update
flood
Email attached file
(A4)
X X
TCP port (A5) {135; 4444} {135; 4444}
UDP port (A6) X 69
Table 12
The adjusted main acquisition table of simple computer worms
Attributes Objects
Nimda Nimda.B CodeRed CodeR
Threads X X 100 600
System reboot X X True True
DoS type Email flood Email flood TCP flood TCP fl
Email attached
file
{samle.exe;
puta!!scr}
{readme, exe} X X
TCP port X X X X
UDP port X X X X
Table 13
AOT table of simple computer worms
Attributes Objects
Nimda Nimda.B CodeRed Co
Threads X X 2 2
System reboot X X 1 1
DoS type D D 1 1
Email attached file 1 1 X X
TCP port X X X X
UDP port X X X X
type = Windows update flood) AND : (UDP port = {69})
THEN Blaster.B, CF = 0.5” of new variant Blaster.B will
be generated to classify Blaster.B.
As shown in Table 12, four variants (Nimda.B, CodeR-
ed.II, Blaster.B, and Welchia.II) have been successfully sin-
gled out using VODKA after several iterations. Table 13
shows the AOT table after interacting with domain experts
using E-EMCUD, and Table 14 shows the new embedded
rule base of the discovered variants and original worms. If
more real instances can be used, the embedded rule base
will evolve and become more precise for classifying the
computer worms.
4.3. The case study of e-learning
With the vigorous development of the Internet, e-learn-
ing systems including online learning, employee training
courses, and e-book, have become more and more popular
over the world in the past ten years (Beishuizen & Stout-
jesdijk, 1999; Hwang, 1999; Yoshikawa, Shintani, & Ohba,
2000). As we know, if the same teaching materials (the
knowledge of teachers) are provided to all e-learners based
on the predefined strategies or the predefined learning
maps, the learning efficiency will be diminished. Therefore,
teachers want to apply appropriate teaching strategy to
provide personalized learning content and learning
sequence for e-learners to improve their learning efficiency.
Thus, adaptive learning environments (Shang, Shi, &
Chen, 2001; Sheremetov & Arenas, 2002; Triantafllou,
Poportsis, & Demetriadis, 2003; Tsai & Tseng, 2002) have
been proposed to offer different teaching materials for dif-
ed.II Blaster Blaster.B Welchia Welchia.II
X X X X
True False True True
ood Windows
Update flood
Windows
Update flood
ICMP
flood
ICMP
flood
X X X X
{135; 4444} {135; 4444} {80;135} {80; 135; 445;
3127}
X 69 X X
deRed.II Blaster Blaster.B Welchia Welchia.II
X X X X
2 2 2 2
2 2 1 1
X X X X
1 1 2 2
X 1 X X
Table 14
The rules generated from Tables 12 and 13
R1,0: IF (DoS type = Email flood) AND (Email attached file = (sample.exe; puta!!scr)) THEN Nimda, CF = 0.8
R1,1: IF (DoS type = Email flood) AND (Email attached file = : (sample.exe; puta!!scr)) THEN Nimda, CF = 0.4
R2,0: IF (Threads = 100) AND (System reboot = True) AND (DoS type = TCP flood) THEN CodeRed, CF = 0.8
R2,1: IF (Threads = 100) AND : (System reboot = True) AND (DoS type = TCP flood) THEN CodeRed, CF = 0.6
R2,2: IF : (Threads = 100) AND (System reboot = True) AND (DoS type = TCP flood) THEN CodeRed, CF = 0.4
R2,3: IF (Threads = 100) AND : (System reboot = True) AND : (DoS type = TCP flood) THEN CodeRed, CF = 0.4
R3,0: IF (System reboot = True) AND (DoS type = Windows update flood) AND (TCP port = {135; 4444}) THEN Blaster, CF = 0.7
R3,1: IF (System reboot = True) AND (DoS type = Windows update flood) AND : (TCP port = {135; 4444}) THEN Blaster, CF = 0.57
R3,2: IF (System reboot = False) AND (DoS type = Windows update flood) AND (TCP port = {135; 4444}) THEN Blaster, CF = 0.43
R3,3: IF (System reboot = True) AND : (DoS type = Windows update flood) AND (TCP port = {135; 4444}) THEN Blaster, CF = 0.43
R3,2: IF (System reboot = False) AND (DoS type = Windows update flood) AND : (TCP port = {135; 4444}) THEN Blaster, CF = 0.3
R4,0: IF (System reboot = True) AND (DoS type = ICMP flood) AND (TCP port = {80; 135}) THEN Welchia, CF = 0.8
R4,1: IF (System reboot = True) AND : (DoS type = ICMP flood) AND (TCP port = {80; 135}) THEN Welchia, CF = 0.67
R4,2: IF (System reboot = True) AND (DoS type = ICMP flood) AND : (TCP port = {80; 135}) THEN Welchia, CF = 0.53
R4,3: IF (System reboot = True) AND : (DoS type = ICMP flood) AND : (TCP port = {80; 135}) THEN Welchia, CF = 0.4
R5,0: IF (DoS type = Email flood) AND (Email attached file = readme.exe) THEN Nimda.B, CF = 0.8
R5,1 IF (DoS type = Email flood) AND : (Email attached file= readme.exe) THEN Nimda.B, CF = 0.5
R6,0: IF : (Threads = 600) AND (System reboot = True) AND (DoS type = TCP flood) THEN CodeRed II, CF = 0.9
R6,1: IF (Threads = 600) AND (System reboot = True) AND (DoS type = TCP flood) THEN CodeRed II, CF = 0.3
R7,0: IF (System reboot = False) AND (DoS type = Windows update flood) AND (UDP port = {69}) THEN Blaster.B, CF = 0.8
R7,1: IF (System reboot = False) AND (DoS type = Windows update flood) AND : (UDP port = {69}) THEN Blaster.B, CF = 0.5
R8,0: IF (System reboot = True) AND (DoS type = ICMP flood) AND (TCP port = {80; 135; 445; 3127}) THEN Welchia II, CF = 0.8
R8,1: IF (System reboot = True) AND (DoS type = ICMP flood) AND : (TCP port = {80; 135; 445; 3127}) THEN Welchia II, CF = 0.5
Table 15
The learning sequence of students
Student ID Learning sequence
1 hB, C, A, D, E, F, G, H, I, Ji
2 hA, B, H, D, E, F, C, G, I, Ji
3 hA, D, F, G, H, B, C, I, Ji
4 hA, B, D, E, C, F, G, Hi
5 hA, C, J, F, B, H, D, E, I, Gi
6 hB, H, F, D, E, A, G, C, Ii
7 hA, J, E, H, B, C, I, D, Gi
8 hB, C, G, E, A, H, D, I, J, Fi
9 hC, E, G, F, J, B, H, A, Di
10 hB, C, A, J, D, E, G, H, F, Ii
S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450 2447
ferent learners in accordance with their aptitudes and eval-
uation results. After learners learned the teaching materials
through the adaptive learning environment, the teachers
can further analyze the historical learning records and then
refine or reorganize the teaching materials and tests if
needed. Therefore, more and more attention has been paid
to the research of personalized instruction in computer
education environment. However, it is difficult to monitor
the change of learner’s behaviors for teachers quickly.
As we know, the quiz for learners is useful to evaluate
their learning achievement. For example, teachers should
provide easier learning content or learning sequence for
the learners with lower learning achievement. Hence,
VODKA provides a good idea to assist teachers in observ-
ing the occurrence of variant learning behaviors of e-learn-
ers through a sequence of grades of online quiz.
In this case, the objects to be classified are defined as
learning behaviors of learners, where each behavior con-
sists of profiles, learning sequence, and a quiz grade of
the learner, where learning sequence can be used to gener-
ate approximate teaching materials for matching the lear-
ner’s needs. The learners can be firstly clustered into
several groups according to the similarity of the learning
behaviors, and teachers can provide appropriate learning
content for each group in advance. However, e-learners
might change their learning sequences due to the different
learning situation, learning equipments (desktop, PDA,
etc.), course content (text, video, etc.), and learning time
(day or night). This causes the evolution of learning behav-
iors of e-learners and results in various learning
achievements.
Assume that the on-line testing system is implemented in
an intelligent e-learning system. VODKA can monitor the
variant learning behaviors to evaluate the learning perfor-
mance of each e-learner, where each learner has different
learning sequences. The teachers will be then notified to
generate a suitable learning sequence and apply these mate-
rials on those e-learners with variant learning behaviors.
Here, each learning sequence deviated from one of prede-
fined learning sequences will be treated as a variant learn-
ing behavior. In e-learning, it is important for e-learners
to gain a good grade after learning some materials with a
specific learning sequence. Hence, the grade of quiz is trea-
ted as a CF value for collecting these good variant learning
sequences. If many learners gained grades higher than a
threshold with similar or same learning sequence (high fre-
quency), then some good variant learning sequences will be
discovered to notify teachers to determine these new learn-
ing sequences. Therefore, the log is collected as the pair of
hLSi, CFii, where LSi is the learning sequence of the e-lear-
ner i; and the CFi is the grade of this learner. Example 3
illustrates the concept of e-learning using VODKA.
Table 16
The maximal frequent learning patterns of good students
Large itemset Maximal frequent learning patterns
L2 A ? F A ? H A ? J B ? H C ? D C ? F C ? H E ? F F ? G G ? H
L3 A ? D ? G B ? C ? G
L4 B ? D ? E ? G
2448 S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450
Example 3. The concept of e-learning using VODKA.
To simplify our discussion, we assume VODKA collects
several good learning behaviors of e-learners and their
grades of quiz are larger than a threshold. For the learning
sequence log shown in Table 15, LS1 = hB, C, A, D, E, F,
G, H, I, Ji denotes that Learner 1 studies the learning
content B first and then studies the learning contents C, A,
D, E, F, G, H, I, J sequentially.
In this example, the sequential pattern mining algorithm
instead of the original Apriori algorithm is applied
(Aggrawal & Srikant, 1995; Srikant & Aggrawal, 1996).
Therefore, we use the Modified GSP algorithm to discover
the maximal frequent learning patterns as shown in Table
16. The details can be found in (Su et al., 2006). For
example, in L4, we have discovered that one candidate of
new learning sequence of good e-learners is to learn B
course content first and then to study the learning contents
D, E, G sequentially. Hence, these candidates of various
learning sequences will be suggested by VODKA for
teachers to generate new variant learning sequences.
In this case study, we illustrate that VODKA can collect
all interesting learning behaviors (learning sequences) of e-
learners whose testing grade from online quiz system is
good; hence, then the maximal frequent learning sequence,
a part of the whole learning sequence, will be used to
recommend teachers to adapt their course for variant
learning behaviors if necessary.
5. Conclusion
In this paper, we proposed VODKA methodology to
iteratively monitor the frequent inference behaviors of
weak embedded rules with margin values of CF to assist
human experts in discovering the new variant objects and
singling them out of original objects. The frequent ignored
attribute-value pairs of minor attributes can be learned by
applying the Apriori algorithm and be treated as the new
characteristics of variant objects. The new variants acquisi-
tion algorithm is proposed to interact with experts to
acquire the relationships between new variant objects and
object attributes. Three recommendations, including add-
ing a new attribute value of an attribute, changing the data
type of an attribute, or adding a new attribute, are pro-
posed to help experts confirm the new variants according
to the frequently ignored attribute-value pairs. Addition-
ally, we proposed E-EMCUD to integrate the new variant
acquisition table into the main acquisition table for
extracting the embedded rules of new variants. A computer
worm detection prototype based upon DRAMA has been
implemented and deployed in an experimental environ-
ment. This environment includes a firewall to filter
computer worm traffic from Internet (normal traffic) and
an attacking traffic generator to randomly generate various
worms to infect a victim. By this means, we evaluate the
performance of VODKA.
The results show that new worm variants can be singled
out of the corresponding extended worm object classes
after observing the occurrence of worm instances in the
inference logs. Then, the detection rules for computer
worms can be customized. Also, an e-learning case is
shown that VODKA can help teachers quickly and easily
single out the variant learning behaviors of e-learners.
Then teachers can be notified to prepare new learning con-
tent and learning sequence for e-learners with similar vari-
ant behaviors. Therefore, these kinds of learners could
easily understand the new learning materials. VODKA
method can enhance the classification ability for new
objects of a classification KBS since the new evolving
objects can be incrementally learned and discovered by col-
lecting the sufficient information. We are going to extend
VODKA into a collaborative framework to help experts
discover more evolving objects.
Acknowledgement
This work was partially supported by National Science
Council of the Republic of China under Grant Nos.
NSC93-2752-E-009-006-PAE, NSC95-2752-E-009-015-PAE
and NSC96-2752-E-009-006-PAE.
References
Aggrawal, R., Srikant, R. (1995). Mining sequential patterns. In Proceed-
ings of 11th international conference on data engineering (pp. 3–14).
Agrawal, R., Imielinksi, T., Swami, A. (1993). Mining association rules
between sets of items in large database. In Proceedings of the ACM
SIGMOD conference (pp. 207–216).
Alani, H., & Kim, S. (2003). Automatic ontology-based knowledge
extraction from web documents. IEEE Intelligent Systems, 18(1),
14–21.
Beishuizen, J. J., & Stoutjesdijk, E. T. (1999). Study strategies in a
computer assisted study environment. International Journal of Learn-
ing and Instruction, 9, 281–301.
Blythe, J., Kim, J., Ramachandran, S., Gil, Y. (2001). An integrated
environment for knowledge acquisition. In Proceedings of the interna-
tional conference on intelligent user interfaces (pp. 13–20).
Boegl, K. (1997). Design and implementation of a web-based knowledge
acquisition toolkit for medical expert consultation systems. Doctorial
thesis, Technical University of Vienna, Austria.
S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450 2449
Boose, J. H. (1984). Personal construct theory and the transfer of human
expertise. In Proceedings of AAAI-84 conference, California (pp. 27–
33).
Boose, J. H. (1985). A knowledge acquisition program for expert systems
based on personal construct psychology. International Journal of Man-
Machine Studies, 23(5), 495–525.
Boose, J. H., Bradshaw, J. M. (1986). NeoETS: Capturing expert system
knowledge in hierarchical rating grids. In IEEE expert system in
government symposium.
Boose, J. H., & Bradshaw, J. M. (1987). Expertise transfer and complex
problems: Using AQUINAS as a knowledge-acquisition workbench
for knowledge-based systems. International Journal of Man-Machine
Studies, 26(1), 3–28.
Cairo, O. (1998). KAMET: A comprehensive methodology for knowledge
acquisition from multiple knowledge sources. Expert Systems with
Applications, 14(1), 1–16.
Caragea, D., Silvescu, A., Pathak, J., Bao, J., Andorf, C., Yan, C., et al.
(2005). Knowledge acquisition from autonomous, distributed, seman-
tically heterogeneous data sources. In Proceedings of the annual
meeting of the international society for computational biology (ISMB
2005), Poster Program, Detroit, Michigan.
Caragea, D., Silvescu, A., & Honavar, V. (2001). Towards a theoretical
framework for analysis and synthesis of agents that learn from
distributed dynamic data sources. Emerging neural architectures based
on neuroscience. Springer-Verlag (pp. 547–559).
Castro-Schez, J. J., Jennings, N. R., Luo, X. D., & Shadbolt, N. R. (2004).
Acquiring domain knowledge for negotiating agents: A case of study.
International Journal of Human-Computer Studies, 61(1), 3–31.
Crowther, P., Hartnett, J. (1996). Using repertory grids for knowledge
acquisition for spatial expert system. In Proceedings of Australia and
New Zealand conference on intelligent information systems, Adelaide,
SA, Australia, November 18–20 (pp. 14–17).
Dixit, A. K., & Pindyck, R. S. (1994). Investment under uncertainty.
Princeton University Press.
Eriksson, H. (2003). Using JessTab to integrate Protege and Jess. IEEE
Intelligent Systems, 18(2), 43–50.
Fensel, D., & Angele, J. (1988). The knowledge acquisition and represen-
tation language, KARL. IEEE Transaction on Knowledge and Data
Engineering, 10(4), 527–550.
Frank, G., & Farquhar, A. (1999). Building a large knowledge base from a
structured source (KA and ontology). IEEE Intelligent Systems, 14(1),
47–54.
Gaines, B. R. (1987). An overview of knowledge-acquisition and transfer.
International Journal of Man-Machine Studies, 26, 453–472.
Ginsberg, A., Weiss, S. M., & Politakis, P. (1988). Automatic knowledge
base refinement for classification systems. Artificial Intelligence, 35(2),
197–226.
Hong, T. P., & Tseng, S. S. (1997). A generalized version space learning
algorithm for noisy and uncertain data. IEEE Transaction on Knowl-
edge and Data Engineering, 9(2), 336–340.
Hwang, G. J. (1995). Knowledge acquisition for fuzzy expert systems.
International Journal of Intelligent Systems, 10, 541–560.
Hwang, G. J. (1999). A knowledge-based system as an intelligent learning
advisor on computer networks. Proceedings of the IEEE Transactions
on Systems Man and Cybernetics, 2, 153–158.
Hwang, G. J., & Tseng, S. S. (1990). EMCUD: A knowledge acquisition
method which captures embedded meanings under uncertainty. Inter-
national Journal of Man-Machine Studies, 33, 431–451.
Hwang, G. J., & Tseng, S. S. (1991). On building a medical diagnostic
system of acute exanthema. Journal of Chinese Institute of Engineers,
14(2), 185–195.
Kang, B. (1996). Multiple classification ripple down rules. Ph.D Thesis,
University of New South Wales.
Kelly, G. A. (1955). The psychology of personal constructs. New York:
Norton.
Kienzle, D. M., Elder, M. C. (2003). Recent worms: A survey and trends.
In Proceedings of the WORM’03, October 27, Washington DC, USA
2003.
Kim, J., Gil, Y. (2001). Knowledge analysis on process models. In
Proceedings of the international joint conference on artificial intelligent,
Seattle, Washington, USA.
Kitamura, Y., & Mizoguchi, R. (2003). Ootology-based description of
functional design knowledge and its use in a functional way server.
Expert Systems with Applications, 24(2), 153–166.
Kolousek, G. (1997). The system architecture of an integrated medical
consultation system and its implementation based on fuzzy technology.
Doctoral thesis, Technical University of Vienna, Austria.
Leibbink, H. J., Witteman, C. L. M., Mayer, J. J. C. (2002). Ontology-
based knowledge acquisition for knowledge systems. In Proceedings of
the 14th Dutch–Belgian artificial intelligence conference (pp. 195–202).
Leitich, H., Kiener, H. P., Kolarz, G., Schuh, C., Graninger, W., &
Adlassnig, K. P. (2001). A prospective evaluation of the medical
consultation system CADIAG-II/RHEUMA in a rheumatological
outpatient clinic. Methods of Information in Medicine, 40, 213–220.
Lin, S. C., Tseng, S. S., & Lin, Y. T. (2002). A new mechanism of mining
network behavior. Lecture Notes in Artificial Intelligence, 2336,
218–223.
Lin, Y. T., Tseng, S. S., & Tsai, C. F. (2003). Design and implementation
of new object-oriented rule base management system. Journal of
Expert Systems with Applications, 25(3), 369–385.
Maedche, A., & Staab, S. (2001). Ontology learning for the Semantic Web.
IEEE Intelligent Systems, 16(2), 72–79.
Mcgraw, K. L., & Harbison-Briggs, K. (1989). Knowledge acquisition:
Principles and guidelines. Prentice-Hill International Editions, 1–27.
Mirkovic, J., Martin, J., Reiher, P. (2002). A taxonomy of DDoS attacks
and DDoS defense mechanisms. TR. 020018, Computer Science
Department, University of California, Los Angeles.
Moore, D., Shannon, C., Voelker, G. M., Savage, S., 2003. Internet
quarantine: Requirements for containing self-propagating code. In
Proceedings of INFOCOM 2003, March 30–April 3, San Francisco,
USA, 2003.
Noy, N. F., & Sintek, M. (2001). Creating semantic web contents with
Protege-2000. IEEE Intelligent Systems, 16(2), 60–71.
Politakis, P., & Weiss, S. M. (1984). Using empirical analysis to refine
expert system knowledge bases. Artificial Intelligence, 22, 673–680.
Quinlan, J. R. (1986). Induction of decision trees. Machine Learning, 1,
81–106.
Rosaci, D. (2005). Exploiting agent ontologies in B2C virtual market-
places. Journal of Universal Computer Science, 11(6), 1011–1040.
Rosaci, D., Terracina, G., & Ursino, D. (2004). A framework for
abstracting data sources having heterogeneous representation formats.
Data and Knowledge Engineering, 48(4), 1–38.
Shang, Y., Shi, H. C., & Chen, S. S. (2001). An intelligent distributed
environment for active learning. ACM Journal of Education Resources
in Computing, 1(2), 4–17.
Shaw, M. L. G., Gaines, B. R. (1996). Web grid: Knowledge modeling and
inference through the world wide web. In Proceedings of the 10th
knowledge acquisition workshop (pp. 65-1–65-14).
Shaw, M. L. G., & Gaines, B. R. (1987). KITTEN: Knowledge initiation
and transfer tools for experts and novices. International Journal of
Man-Machine Studies, 27, 251–280.
Sheremetov, L., & Arenas, A. G. (2002). EVA: Am interactive web-based
collaborative learning environment. Computers & Education, 39(2),
161–182.
Shortliffe, E. H., & Buchanan, B. G. (1975). A model of inexact reasoning
in medicine. Mathematical Bioscience, 23, 351–379.
Singh, P., Lin, T., Mueller, E. T., Lim, Grace, Perkins, T., et al. 2002.
Open mind common sense: Knowledge acquisition from general
public. In Proceedings of the first international conference on ontologies,
databases, and applications of semantics for large scale information
systems (pp. 1223–1237).
Srikant, R., Aggrawal, R. (1996). Mining sequential patterns: General-
izations and performance improvements. In The Fifth International
Conference on Extending Database Technology, 1996.
Su, J. M., Tseng, S. S., Wang, W., Weng, J. F., Yang, David J. T., & Tsai,
W. N. (2006). Learning portfolio analysis and mining for SCORM
2450 S.-S. Tseng, S.-C. Lin / Expert Systems with Applications 36 (2009) 2433–2450
compliant environment. Journal of Educational Technology & Society,
9(1), 262–275.
Symantec Co., 2005. Symantec Products and Services. .
Tenable Network SecurityTM, 2005. Nessus Open Source Vulnerability
Scanner Project. .
Trend Micro Co., 2005. Trend Mirco Network Viruswall. .
Triantafllou, E., Poportsis, A., & Demetriadis, S. (2003). The design and
the formative evaluation of an adaptive educational system based on
cognitive styles. Computers & Education, 41(1), 87–103.
Tsai, C. J., & Tseng, S. S. (2002). Building a CAL expert system based
upon two-phase knowledge acquisition. Expert Systems with Applica-
tions, 22, 235–248.
Tsujino, K., Dabija, V., & Nishida, S. (1992). Knowledge acquisition
driven by constructive and interactive induction. Lecture Notes in
Artificial Intelligence, 599, 153–170.
Tsujino, K ., Takegaki, M ., Nishida, S., 1990. A knowledge acquisition
system that aims at integrating inductive learning and explanation-
based reasoning. In Proceedings of the first Japanese knowledge
acquisition for knowledge – based systems workshop, Tokyo, Japan
(pp. 175–190).
Uschold, M., King, M., Moralee, S., & Zorgios, Y. (1998). The enterprise
ontology. The Knowledge Engineering Review, 13(1), 31–89.
Weaver, N., Paxson, V., Staniford, S., Cunningham, R., Maulik, U.
(2003). A taxonomy of computer worms. In Proceedings of WORM’03,
October 27, Washington DC, USA, 2003.
Wielinga, B., Schreiber, A., & Breuker, J. (1992). KADS: A modeling
approach to knowledge engineering. Journal of Knowledge Acquisition,
4(1), 5–53.
Yoshikawa, A., Shintani, M., & Ohba, Y. (2000). Intelligent tutoring
system for electric circuit exercising. IEEE Transactions on Eduction,
35, 222–225.
Zacklad, M., & Fontaine, D. (1995). Systematic building of conceptual
classification systems with C-KAT. International Journal of Human-
Computer Studies, 44(5), 603–627.
Zhang, J., Honavar, V. (2003). Learning decision tree classifiers from
attribute value taxonomies and partially specified data. In Proceedings
of the international conference on machine learning (ICML-03),
Washington, DC.
http://www.symantec.com/product/
http://www.symantec.com/product/
http://www.nessus.org/
http://www.trendmicro.com/tw/products/network/overview.htm
http://www.trendmicro.com/tw/products/network/overview.htm
VODKA: Variant objects discovering knowledge acquisition
Introduction
Related work
Knowledge acquisition systems
Repertory grid methodology and relevant systems
Elicitation of embedded meanings
Problems with conventional knowledge acquisition methods
Knowledge acquisition by discovering variant objects
Meta knowledge in log collecting stage
New variants discovering methodology at the knowledge learning stage
Knowledge polishing using extended EMCUD
The analysis of VODKA
VODKA implementation and case studies
VODKA implementation
The case study of computer worms
The case study of e-learning
Conclusion
Acknowledgement
References