36,851 research outputs found
Agile values and their implementation in practice
Today agile approaches are often used for the
development of digital products. Since their development in
the 90s, Agile Methodologies, such as Scrum and Extreme
Programming, have evolved. Team collaboration is strongly
influenced by the values and principles of the Agile Manifesto. The
values and principles described in the Agile Manifesto support
the optimization of the development process. In this article, the
current operation is analyzed in Agile Product Development
Processes. Both, the cooperation in the project team and the
understanding of the roles and tasks will be analyzed. The results
are set in relation to the best practices of Agile Methodologies. A
quantitative questionnaire related to best practices in Agile Product
Development was developed. The study was carried out with
175 interdisciplinary participants from the IT industry. For the
evaluation of the results, 93 participants were included who have
expertise in the subject area Agile Methodologies. On one hand,
it is shown that the collaborative development of product-related
ideas brings benefits. On the other hand, it is investigated which
effect a good understanding of the product has on decisions made
during the implementation. Furthermore, the skillset of product
managers, the use of pair programming, and the advantages of
cross-functional teams are analyzed.Ministerio de Ciencia e Innovación TIN2013-46928-C3-3-
Integrating mobile robotics and vision with undergraduate computer science
This paper describes the integration of robotics education into an undergraduate Computer Science curriculum. The proposed approach delivers mobile robotics as well as covering the closely related field of Computer Vision, and is directly linked to the research conducted at the authors’ institution. The paper describes the most relevant details of the module content and assessment strategy, paying particular attention to the practical sessions using Rovio mobile robots. The specific choices are discussed that were made with regard to the mobile platform, software libraries and lab environment. The paper also presents a detailed qualitative and quantitative analysis of student results, including the correlation between student engagement and performance, and discusses the outcomes of this experience
Soft Concurrent Constraint Programming
Soft constraints extend classical constraints to represent multiple
consistency levels, and thus provide a way to express preferences, fuzziness,
and uncertainty. While there are many soft constraint solving formalisms, even
distributed ones, by now there seems to be no concurrent programming framework
where soft constraints can be handled. In this paper we show how the classical
concurrent constraint (cc) programming framework can work with soft
constraints, and we also propose an extension of cc languages which can use
soft constraints to prune and direct the search for a solution. We believe that
this new programming paradigm, called soft cc (scc), can be also very useful in
many web-related scenarios. In fact, the language level allows web agents to
express their interaction and negotiation protocols, and also to post their
requests in terms of preferences, and the underlying soft constraint solver can
find an agreement among the agents even if their requests are incompatible.Comment: 25 pages, 4 figures, submitted to the ACM Transactions on
Computational Logic (TOCL), zipped file
Non-polynomial Worst-Case Analysis of Recursive Programs
We study the problem of developing efficient approaches for proving
worst-case bounds of non-deterministic recursive programs. Ranking functions
are sound and complete for proving termination and worst-case bounds of
nonrecursive programs. First, we apply ranking functions to recursion,
resulting in measure functions. We show that measure functions provide a sound
and complete approach to prove worst-case bounds of non-deterministic recursive
programs. Our second contribution is the synthesis of measure functions in
nonpolynomial forms. We show that non-polynomial measure functions with
logarithm and exponentiation can be synthesized through abstraction of
logarithmic or exponentiation terms, Farkas' Lemma, and Handelman's Theorem
using linear programming. While previous methods obtain worst-case polynomial
bounds, our approach can synthesize bounds of the form
as well as where is not an integer. We present
experimental results to demonstrate that our approach can obtain efficiently
worst-case bounds of classical recursive algorithms such as (i) Merge-Sort, the
divide-and-conquer algorithm for the Closest-Pair problem, where we obtain
worst-case bound, and (ii) Karatsuba's algorithm for
polynomial multiplication and Strassen's algorithm for matrix multiplication,
where we obtain bound such that is not an integer and
close to the best-known bounds for the respective algorithms.Comment: 54 Pages, Full Version to CAV 201
A genetic algorithm for the partial binary constraint satisfaction problem: an application to a frequency assignment problem
We describe a genetic algorithm for the partial constraint satisfaction problem. The typical elements of a genetic algorithm, selection, mutation and cross-over, are filled in with combinatorial ideas. For instance, cross-over of two solutions is performed by taking the one or two domain elements in the solutions of each of the variables as the complete domain of the variable. Then a branch-and-bound method is used for solving this small instance. When tested on a class of frequency assignment problems this genetic algorithm produced the best known solutions for all test problems. This feeds the idea that combinatorial ideas may well be useful in genetic algorithms.Economics ;
A Game-Theoretic Approach to Energy-Efficient Resource Allocation in Device-to-Device Underlay Communications
Despite the numerous benefits brought by Device-to-Device (D2D)
communications, the introduction of D2D into cellular networks poses many new
challenges in the resource allocation design due to the co-channel interference
caused by spectrum reuse and limited battery life of User Equipments (UEs).
Most of the previous studies mainly focus on how to maximize the Spectral
Efficiency (SE) and ignore the energy consumption of UEs. In this paper, we
study how to maximize each UE's Energy Efficiency (EE) in an
interference-limited environment subject to its specific Quality of Service
(QoS) and maximum transmission power constraints. We model the resource
allocation problem as a noncooperative game, in which each player is
self-interested and wants to maximize its own EE. A distributed
interference-aware energy-efficient resource allocation algorithm is proposed
by exploiting the properties of the nonlinear fractional programming. We prove
that the optimum solution obtained by the proposed algorithm is the Nash
equilibrium of the noncooperative game. We also analyze the tradeoff between EE
and SE and derive closed-form expressions for EE and SE gaps.Comment: submitted to IET Communications. arXiv admin note: substantial text
overlap with arXiv:1405.1963, arXiv:1407.155
Inferring Concise Specifications of APIs
Modern software relies on libraries and uses them via application programming
interfaces (APIs). Correct API usage as well as many software engineering tasks
are enabled when APIs have formal specifications. In this work, we analyze the
implementation of each method in an API to infer a formal postcondition.
Conventional wisdom is that, if one has preconditions, then one can use the
strongest postcondition predicate transformer (SP) to infer postconditions.
However, SP yields postconditions that are exponentially large, which makes
them difficult to use, either by humans or by tools. Our key idea is an
algorithm that converts such exponentially large specifications into a form
that is more concise and thus more usable. This is done by leveraging the
structure of the specifications that result from the use of SP. We applied our
technique to infer postconditions for over 2,300 methods in seven popular Java
libraries. Our technique was able to infer specifications for 75.7% of these
methods, each of which was verified using an Extended Static Checker. We also
found that 84.6% of resulting specifications were less than 1/4 page (20 lines)
in length. Our technique was able to reduce the length of SMT proofs needed for
verifying implementations by 76.7% and reduced prover execution time by 26.7%
Magic Sets for Disjunctive Datalog Programs
In this paper, a new technique for the optimization of (partially) bound
queries over disjunctive Datalog programs with stratified negation is
presented. The technique exploits the propagation of query bindings and extends
the Magic Set (MS) optimization technique.
An important feature of disjunctive Datalog is nonmonotonicity, which calls
for nondeterministic implementations, such as backtracking search. A
distinguishing characteristic of the new method is that the optimization can be
exploited also during the nondeterministic phase. In particular, after some
assumptions have been made during the computation, parts of the program may
become irrelevant to a query under these assumptions. This allows for dynamic
pruning of the search space. In contrast, the effect of the previously defined
MS methods for disjunctive Datalog is limited to the deterministic portion of
the process. In this way, the potential performance gain by using the proposed
method can be exponential, as could be observed empirically.
The correctness of MS is established thanks to a strong relationship between
MS and unfounded sets that has not been studied in the literature before. This
knowledge allows for extending the method also to programs with stratified
negation in a natural way.
The proposed method has been implemented in DLV and various experiments have
been conducted. Experimental results on synthetic data confirm the utility of
MS for disjunctive Datalog, and they highlight the computational gain that may
be obtained by the new method w.r.t. the previously proposed MS methods for
disjunctive Datalog programs. Further experiments on real-world data show the
benefits of MS within an application scenario that has received considerable
attention in recent years, the problem of answering user queries over possibly
inconsistent databases originating from integration of autonomous sources of
information.Comment: 67 pages, 19 figures, preprint submitted to Artificial Intelligenc
- …