The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
We develop T2API, a context-sensitive, graph-based statisticaltranslation approach that takes as input an English description of aprogramming task and synthesizes the corresponding API code templatefor the task. We train T2API to statistically learn the alignmentsbetween English and APIs and determine the relevant API elements. Thetraining is done on StackOverflow, which is a bilingual corpus onwhich...
Machine Reassignment is a challenging problem for constraint programming (CP) and mixed integer linear programming (MILP) approaches, especially given the size of data centres. The multi-objective version of the Machine Reassignment Problem is even more challenging and it seems unlikely for CP or MILP to obtain good results in this context. As a result, the first approaches to address this problem...
Hybrid Diversity-aware Collective Adaptive Systems (HDA-CAS) is a new generation of socio-technical systems where both humans and machine peers complement each other and operate collectively to achieve their goals. These systems are characterized by the fundamental properties of hybridity and collectiveness, hiding from users the complexities associated with managing the collaboration and coordination...
The cost of a change is high, but changes are an inevitable part of software development lifecycle, which comes to be recognized under a more general term: software evolution. To mitigate this problem, an approach to aspect-oriented change realization has been proposed earlier based on the idea of representing change by aspect. In many cases, software development relies on graphical modeling, mainly...
Human-Computer Interaction (HCI) plays a critical role in software systems, especially when targeting vulnerable individuals (e.g., assistive technologies). However, there exists a gap between well-tooled software development methodologies and HCI techniques, which are generally isolated from the development toolchain and require specific expertise. In this paper, we propose a human-driven software...
Specification notations such as JML and Spec# which are embedded into program code provide a promising approach to formal object-oriented software development. If the program code is refactored, however, the specifications need also to be changed. This can be facilitated by specification refactoring rules which allows such changes to be made systematically along with the changes to the code. A set...
The advent of globalization has led to the adoption of distributed software development as a common practice. One of its drawbacks-the absence of impromptu meetings - is tackled with other communication means, such as emails, instant messaging, or forums. Mailing lists have proven to be effective for enabling developers' collaboration and coordination: Being asynchronous, emails can evade time zone...
In this paper, we present a method to perform the first steps of software evolution, namely evolutionary requirements engineering, where new requirements have to be analyzed in the context of a set of already given requirements. The basic idea is to adjust an existing requirements engineering process so that evolution is supported. In the requirements engineering process we consider, the original...
Sharing knowledge in a timely fashion is important in distributed software development. However, because experts are difficult to locate, developers tend to broadcast information to find the right people, which leads to overload and to communication breakdowns. We study the context in which experts are included in an email discussion so that team members can identify experts sooner. In this paper,...
Choreography has been used by animators and puppeteers as an effective way to produce expressive actions on animated characters or puppets. A choreography software enhanced with 3D animation and voice input is developed to generate comprehensible body movements on social robots. The expressive actions can facilitate human robot interaction in the applications of instant messaging and story-telling...
In Global Software Development (GSD), distributed stakeholders (e.g. team members, customers, etc) have to collaborate and communicate in an efficient and effective way to share, create and discuss knowledge. Nowadays, a challenge is to provide integrated collaborative tools that implement creativity techniques which allow distributed stakeholders to externalize their knowledge through brainstorming...
Open Source Software (OSS) mailing lists are used by developers to discuss software engineering tasks performed in the project. In the last years, researchers have been conducting mailing lists linguistic analyses for understanding the intricacies of OSS development. An unpublished approach for that is to use NeuroLinguistic Theory (NT). NT postulates the use of a Preferred Representational cognitive...
According to recent work, duplicate bug report entries in bug tracking systems impact negatively on software maintenance and evolution productivity due to, among other factors, the increased time spent on report analysis and validation, what in some cases take over 20 minutes. Therefore, a considerable amount of time is lost mainly with duplicate bug report analysis. This work presents an initial...
In an attempt to provide real-world industrial experience, an increasing number of academic programs are broadening their portfolio to include global development projects. In these projects, the customer, the team or even the faculty are in different locations than those of their students creating a set of real world experiences and educational challenges. Various project elements such as asynchronous...
Contemporary development environments do not directly and explicitly support developers in having a conversation about the code they write and maintain. This problem is aggravated when geographically dispersed teams need to collaborate on development artifacts. CodeTalk allows developers to have conversations about source code elements. They can mark code sections they are concerned about and annotate...
Global Software Development introduced many competitive advantages, however, these advantages brought new challenges together, specially when we talk about communication issues and, consequently, collaborative work participants coordination and management. In this sense, awareness techniques and context management can be used to offer information to project participants, making them perceive the context...
Effective communication of requirements is essential in all software projects. In distributed projects communication faces even more and bigger challenges due to the narrow communication channels that are available. Applying information theory and information flow concepts as provided by FLOW to process improvement can help to overcome challenges associated with communication of requirements in global...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.