656 research outputs found
Punctuated Equilibrium in Software Evolution
The approach based on paradigm of self-organized criticality proposed for
experimental investigation and theoretical modelling of software evolution. The
dynamics of modifications studied for three free, open source programs Mozilla,
Free-BSD and Emacs using the data from version control systems. Scaling laws
typical for the self-organization criticality found. The model of software
evolution presenting the natural selection principle is proposed. The results
of numerical and analytical investigation of the model are presented. They are
in a good agreement with the data collected for the real-world software.Comment: 4 pages, LaTeX, 2 Postscript figure
Testing probability distributions underlying aggregated data
In this paper, we analyze and study a hybrid model for testing and learning
probability distributions. Here, in addition to samples, the testing algorithm
is provided with one of two different types of oracles to the unknown
distribution over . More precisely, we define both the dual and
cumulative dual access models, in which the algorithm can both sample from
and respectively, for any ,
- query the probability mass (query access); or
- get the total mass of , i.e. (cumulative
access)
These two models, by generalizing the previously studied sampling and query
oracle models, allow us to bypass the strong lower bounds established for a
number of problems in these settings, while capturing several interesting
aspects of these problems -- and providing new insight on the limitations of
the models. Finally, we show that while the testing algorithms can be in most
cases strictly more efficient, some tasks remain hard even with this additional
power
Can we avoid high coupling?
It is considered good software design practice to organize source code into modules and to favour within-module connections (cohesion) over between-module connections (coupling), leading to the oft-repeated maxim "low coupling/high cohesion". Prior research into network theory and its application to software systems has found evidence that many important properties in real software systems exhibit approximately scale-free structure, including coupling; researchers have claimed that such scale-free structures are ubiquitous. This implies that high coupling must be unavoidable, statistically speaking, apparently contradicting standard ideas about software structure. We present a model that leads to the simple predictions that approximately scale-free structures ought to arise both for between-module connectivity and overall connectivity, and not as the result of poor design or optimization shortcuts. These predictions are borne out by our large-scale empirical study. Hence we conclude that high coupling is not avoidable--and that this is in fact quite reasonable
Assessing Code Authorship: The Case of the Linux Kernel
Code authorship is a key information in large-scale open source systems.
Among others, it allows maintainers to assess division of work and identify key
collaborators. Interestingly, open-source communities lack guidelines on how to
manage authorship. This could be mitigated by setting to build an empirical
body of knowledge on how authorship-related measures evolve in successful
open-source communities. Towards that direction, we perform a case study on the
Linux kernel. Our results show that: (a) only a small portion of developers (26
%) makes significant contributions to the code base; (b) the distribution of
the number of files per author is highly skewed --- a small group of top
authors (3 %) is responsible for hundreds of files, while most authors (75 %)
are responsible for at most 11 files; (c) most authors (62 %) have a specialist
profile; (d) authors with a high number of co-authorship connections tend to
collaborate with others with less connections.Comment: Accepted at 13th International Conference on Open Source Systems
(OSS). 12 page
Return of the Great Spaghetti Monster : Learnings from a Twelve-Year Adventure in Web Software Development
The widespread adoption of the World Wide Web has fundamentally changed the landscape of software development. Only ten years ago, very few developers would write software for the Web, let alone consider using JavaScript or other web technologies for writing any serious software applications. In this paper, we reflect upon a twelve-year adventure in web development that began with the development of the Lively Kernel system at Sun Microsystems Labs in 2006. Back then, we also published some papers that identified important challenges in web-based software development based on established software engineering principles. We will revisit our earlier findings and compare the state of the art in web development today to our earlier learnings, followed by some reflections and suggestions for the road forward.Peer reviewe
A Hypergraph Dictatorship Test with Perfect Completeness
A hypergraph dictatorship test is first introduced by Samorodnitsky and
Trevisan and serves as a key component in their unique games based \PCP
construction. Such a test has oracle access to a collection of functions and
determines whether all the functions are the same dictatorship, or all their
low degree influences are Their test makes queries and has
amortized query complexity but has an inherent loss of
perfect completeness. In this paper we give an adaptive hypergraph dictatorship
test that achieves both perfect completeness and amortized query complexity
.Comment: Some minor correction
On lions, impala, and bigraphs: modelling interactions in physical/virtual spaces
While HCI has a long tradition of formally modelling task-based interactions with graphical user interfaces, there has been less progress in modelling emerging ubiquitous computing systems due in large part to their highly contextual nature and dependence on unreliable sensing systems. We present an exploration of modelling an example ubiquitous system, the Savannah game, using the mathematical formalism of bigraphs, which are based on a universal process algebra that encapsulates both dynamic and spatial behaviour of autonomous agents that interact and move among each other, or within each other. We establish a modelling approach based on four perspectives on ubiquitous systems—Computational, Physical, Human, and Technology—and explore how these interact with one another. We show how our model explains observed inconsistencies in user trials of Savannah, and then, how formal analysis reveals an incompleteness in design and guides extensions of the model and/or possible system re-design to resolve this
Chatbot Theory: A naïve and elementary theory for dialogue management
Due to the increasing interested and use of chatbot, its properties and operation possibilities shall be proper realized matching both safety and security issues as well as present the several uses and compositions that this technology supports. This paper focus is on dialogue management since it is considered the core of a chatbot. The dialogue manager is responsible to, more than to transform an input sentence into an output one, hold the illusion of a human conversation. In this sense, it is presented an inceptive theoretical framework through a formal way for chatbots that can be used as a reference to explore, compose, build and discuss chatbots. The discussion is performed mostly on ELIZA since, due to its historical records, it can be considered an important reference chatbot, nevertheless, the proposed theory is compatible with the most recent technologies such those using machine and deep learning. The paper then presents some sketchy instances in order to explore the support provided by the theory.This paper has been supported by COMPETE: POCI-01-0145-FEDER-0070 43 and FCT – Fundação
para a Ciência e Tecnologia - Project UID/CEC/ 00319/2013
Conversations About Responsible Nanoresearch
There is currently a strong focus on responsible research in relation to the development of nanoscience and nanotechnology. This study presents a series of conversations with nanoresearchers, with the ‘European Commission recommendation on a code of conduct for responsible nanosciences and nanotechnologies research’ (EC-CoC) as its point of departure. Six types of reactions to the document are developed, illustrating the diversity existing within the scientific community in responses towards this kind of new approaches to governance. Three broad notions of responsible nanoresearch are presented. The article concludes by arguing that while the suggestion put forward in the EC-CoC brings the concept of responsible nanoresearch a long way, one crucial element is to be wanted, namely responsible nanoresearch as increased awareness of moral choices
Separating Agent-Functioning and Inter-Agent Coordination by Activated Modules: The DECOMAS Architecture
The embedding of self-organizing inter-agent processes in distributed
software applications enables the decentralized coordination system elements,
solely based on concerted, localized interactions. The separation and
encapsulation of the activities that are conceptually related to the
coordination, is a crucial concern for systematic development practices in
order to prepare the reuse and systematic integration of coordination processes
in software systems. Here, we discuss a programming model that is based on the
externalization of processes prescriptions and their embedding in Multi-Agent
Systems (MAS). One fundamental design concern for a corresponding execution
middleware is the minimal-invasive augmentation of the activities that affect
coordination. This design challenge is approached by the activation of agent
modules. Modules are converted to software elements that reason about and
modify their host agent. We discuss and formalize this extension within the
context of a generic coordination architecture and exemplify the proposed
programming model with the decentralized management of (web) service
infrastructures
- …