seller’s own evaluation of the item. Notice that
normally the reserve price shilling only affects the
auction houses; while the competitive shilling affects
all bidders in the market. It is obvious that the
competitive shilling causes a greater harm to the
auction market than the reserve price shilling. In
addition, shilling behaviors involved in concurrent
online auctions, where multiple auctions for the
same type of items are running simultaneously, are
much more difficult to detect than shilling behaviors
occur in a standalone auction. Thus, in this paper, we
focus on studying competitive shilling behaviors in
concurrent online auctions.
There is very little previous work on shill
detection for online auctions. Wang and his
colleagues showed that private value English
auctions with shill bidding can result in a higher
expected seller profit than other auction formats
(Wang et al., 2002). This explains why in online
auction houses like eBay, shilling behaviors have
become a very serious problem that cannot be
ignored. The authors proposed a commission fee
mechanism in which the auctioneer charges the
seller a commission fee based on the difference
between the winning bid and the seller’s reserve
price. This approach can make shill bidding un-
profitable, but it could be unfair to sellers’ interests,
especially when the sellers are not shilling at all.
Kauffman and Wood used a statistical approach
to detecting shilling behaviors and showed that how
the statistic data of a market would look like if
opportunistic behaviors do exist. They also showed
how to use an empirical model to test for
questionable behaviors (Kauffman and Wood, 2000).
However, their approach suffers from a few
problems, for example, it needs to review multiple
auctions over a long period of time (Gupta and
Bapna, 2002). Furthermore, the statistical approach
could not deal with the shilling problem directly.
In this paper, we propose to use model checking
technique to detect shilling behaviors in two
concurrent online auctions. Our approach can
directly detect shilling behaviors based on the latest
auction data, and then suggest shill suspects, if any.
The rest of this paper is organized as follows:
Section 2 introduces the pattern-based model
checking technique. Section 3 first presents a
motivation example for shill detection using model
checking. Then it introduces a model template and
shows how to build an auction model based on
auction data from two concurrent auctions. Section 4
provides a case study for how to use our approach to
detect shilling behaviors. Finally, in Section 5, we
provide conclusions and our future work.
2 PATTERN-BASED MODEL
CHECKING TECHNIQUE
2.1 The SPIN Model Checker
There is a wide variety of model checking tools
available, such as SPIN, NuSMV2, Java Pathfinder
and M
ARIA. Among them, the SPIN model checker
provides a friendly user interface and accepts model
specifications written in Promela (PROcess MEta
Language) (Holzmann, 1997). Promela is a CSP-like
language mainly used to describe abstract level
concurrent software system. Like any other
programming languages, Promela supports variables,
arrays and user-defined data types as well as control
flow statement. In addition, Promela supports
symbolic constants, message channels, processes,
selection and repetition, atomic sequence and
deterministic steps.
2.2 LTL and Patterns
The SPIN model checker supports specification of
system properties using Linear Temporal Logic
(LTL) (Pnueli, 1977), which is a formal method to
specify temporal relationships of statements. LTL
has been proven to have good expressivity and more
natural language like statements for verification.
LTL consists only a few logic operators, such as G
(always), F (eventually), U (until), W (unless, or
weak until) and O (next). Combining with Boolean
operators, i.e., && (and), || (or), ! (negation), →
(logical implication) and ↔ (logical equivalence),
LTL is capable of describing many key properties of
a concurrent software system.
On the other hand, like many other formal
specification and verification methods, writing a
LTL formula is not easy and error prone. Even a
person who has expertise in LTL may still have a
difficult time in understanding the semantic of a
LTL formula, such as
[]((Q&&!R&&<>R)→(P→
(!R U (S&&!R))) U R)
. To solve this problem,
Dwyer and his colleagues proposed a pattern-based
approach to helping software engineers to specify
requirements properties without having to worry
about the complexity and potential traps (Dwyer et
al., 1999).
There are quite a few patterns proposed in
previous work (Dwyer et al., 1999). Before we
present some of the patterns that we use in this
paper, we first introduce a notation called pattern
scope, which represents the extent of a program
execution over which the pattern must hold.
ICEIS 2006 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
376