199,441 research outputs found
Community structure of complex software systems: Analysis and applications
Due to notable discoveries in the fast evolving field of complex networks,
recent research in software engineering has also focused on representing
software systems with networks. Previous work has observed that these networks
follow scale-free degree distributions and reveal small-world phenomena, while
we here explore another property commonly found in different complex networks,
i.e. community structure. We adopt class dependency networks, where nodes
represent software classes and edges represent dependencies among them, and
show that these networks reveal a significant community structure,
characterized by similar properties as observed in other complex networks.
However, although intuitive and anticipated by different phenomena, identified
communities do not exactly correspond to software packages. We empirically
confirm our observations on several networks constructed from Java and various
third party libraries, and propose different applications of community
detection to software engineering
A Multi-view Context-aware Approach to Android Malware Detection and Malicious Code Localization
Existing Android malware detection approaches use a variety of features such
as security sensitive APIs, system calls, control-flow structures and
information flows in conjunction with Machine Learning classifiers to achieve
accurate detection. Each of these feature sets provides a unique semantic
perspective (or view) of apps' behaviours with inherent strengths and
limitations. Meaning, some views are more amenable to detect certain attacks
but may not be suitable to characterise several other attacks. Most of the
existing malware detection approaches use only one (or a selected few) of the
aforementioned feature sets which prevent them from detecting a vast majority
of attacks. Addressing this limitation, we propose MKLDroid, a unified
framework that systematically integrates multiple views of apps for performing
comprehensive malware detection and malicious code localisation. The rationale
is that, while a malware app can disguise itself in some views, disguising in
every view while maintaining malicious intent will be much harder.
MKLDroid uses a graph kernel to capture structural and contextual information
from apps' dependency graphs and identify malice code patterns in each view.
Subsequently, it employs Multiple Kernel Learning (MKL) to find a weighted
combination of the views which yields the best detection accuracy. Besides
multi-view learning, MKLDroid's unique and salient trait is its ability to
locate fine-grained malice code portions in dependency graphs (e.g.,
methods/classes). Through our large-scale experiments on several datasets
(incl. wild apps), we demonstrate that MKLDroid outperforms three
state-of-the-art techniques consistently, in terms of accuracy while
maintaining comparable efficiency. In our malicious code localisation
experiments on a dataset of repackaged malware, MKLDroid was able to identify
all the malice classes with 94% average recall
Constrained Monotone Function Maximization and the Supermodular Degree
The problem of maximizing a constrained monotone set function has many
practical applications and generalizes many combinatorial problems.
Unfortunately, it is generally not possible to maximize a monotone set function
up to an acceptable approximation ratio, even subject to simple constraints.
One highly studied approach to cope with this hardness is to restrict the set
function. An outstanding disadvantage of imposing such a restriction on the set
function is that no result is implied for set functions deviating from the
restriction, even slightly. A more flexible approach, studied by Feige and
Izsak, is to design an approximation algorithm whose approximation ratio
depends on the complexity of the instance, as measured by some complexity
measure. Specifically, they introduced a complexity measure called supermodular
degree, measuring deviation from submodularity, and designed an algorithm for
the welfare maximization problem with an approximation ratio that depends on
this measure.
In this work, we give the first (to the best of our knowledge) algorithm for
maximizing an arbitrary monotone set function, subject to a k-extendible
system. This class of constraints captures, for example, the intersection of
k-matroids (note that a single matroid constraint is sufficient to capture the
welfare maximization problem). Our approximation ratio deteriorates gracefully
with the complexity of the set function and k. Our work can be seen as
generalizing both the classic result of Fisher, Nemhauser and Wolsey, for
maximizing a submodular set function subject to a k-extendible system, and the
result of Feige and Izsak for the welfare maximization problem. Moreover, when
our algorithm is applied to each one of these simpler cases, it obtains the
same approximation ratio as of the respective original work.Comment: 23 page
On the origin of the cumulative semantic inhibition effect
We report an extension of the cumulative semantic inhibition effect found by Howard, Nickels, Coltheart, and Cole-Virtue (2006). Using more sensitive statistical analyses, we found a significant variation in the magnitude of the effect across categories. This variation cannot be explained by the naming speed of each category. In addition, using a sub-sample of the data, a second cumulative effect arouse for newly-defined supra-categories, over and above the effect of the original ones. We discuss these findings in terms of the representations that drive lexical access, and interpret them as supporting featural or distributed hypotheses
Robust Processing of Natural Language
Previous approaches to robustness in natural language processing usually
treat deviant input by relaxing grammatical constraints whenever a successful
analysis cannot be provided by ``normal'' means. This schema implies, that
error detection always comes prior to error handling, a behaviour which hardly
can compete with its human model, where many erroneous situations are treated
without even noticing them.
The paper analyses the necessary preconditions for achieving a higher degree
of robustness in natural language processing and suggests a quite different
approach based on a procedure for structural disambiguation. It not only offers
the possibility to cope with robustness issues in a more natural way but
eventually might be suited to accommodate quite different aspects of robust
behaviour within a single framework.Comment: 16 pages, LaTeX, uses pstricks.sty, pstricks.tex, pstricks.pro,
pst-node.sty, pst-node.tex, pst-node.pro. To appear in: Proc. KI-95, 19th
German Conference on Artificial Intelligence, Bielefeld (Germany), Lecture
Notes in Computer Science, Springer 199
- …