559 research outputs found

    Detecting Similar Applications with Collaborative Tagging

    Get PDF
    Abstract—Detecting similar applications are useful for var-ious purposes ranging from program comprehension, rapid prototyping, plagiarism detection, and many more. McMillan et al. have proposed a solution to detect similar applications based on common Java API usage patterns. Recently, collaborative tagging has impacted software development practices. Various sites allow users to give various tags to software systems. In this study, we would like to complement the study by McMillan et al. by leveraging another source of information aside from API usage patterns, namely software tags. We have performed a user study involving several participants and the results show that collaborative tagging is a promising source of information useful for detecting similar software applications. I

    A Novel Model for Capturing the Multiple Representations during Team Problem Solving based on Verbal Discussions

    Full text link
    Improving the effectiveness of problem solving in teams is an important research topic due to the complexity and cross-disciplinary nature of modern problems. It is unlikely that an individual can successfully tackle alone such problems. Increasing team effectiveness is challenging due to the many entangled cognitive, motivational, social, and emotional aspects specific to teamwork. It is often difficult to reliably identify the characteristics that make a team efficient or those that are main hurdles in teamwork. Moreover, experiments often produced conflicting results, which suggests possibly incorrect modeling of team activities and/or hypothesis formulation errors. Automated data acquisition followed by analytics based on models for teamwork is a intriguing option to alleviate some of the limitations. This paper proposes a model describing an individual's activities during team problem solving. Verbal discussions between team members are used to build models. The model captures the multiple images (representations) created and used by an individual during solving as well as the solving activities utilizing these images. Then, a team model includes the interacting models of the members. Case studies showed that the model can highlight differences between teams depending on the nature of the individual work before teamwork starts. Inefficiencies in teamwork can be also pointed out using the model.Comment: 24 pages, 7 figure

    An Aspect-Oriented Approach for Spatial Concerns in Web Applications

    Get PDF
    The growing availability of on-line geographical information, since the advent of open map servers in the 2000s, originated a new generation of Web applications, those which combine “conventional” Web functionality with typical features of traditional Geographic Application System (GIS). The rapid growth in number and complexity of Web applications with geo-referenced data together with the need to support fast requirements change, demands for increased modularity. The volatility of some of these changing requirements, both in the scope of their geographic nature or in the period of time in which they are valid, stresses the importance of the applications’ modularity. A solution is to take into consideration the crosscutting nature of these requirements and decouple their realization from “conventional” requirements in separate software modules. This paper proposes an end-to-end Aspect-Oriented approach to deal with spatial requirements from the early stages of applications development throughout to implementation. A significant contribution of this approach is the characterization of the most common spatial requirements in Web-GIS applications. The result is the improvement of the overall application’s modularity, thus facilitating its evolution.Laboratorio de Investigación y Formación en Informática Avanzad

    An exploration of the integration of speech with co-speech gesture with non-invasive brain stimulation

    Get PDF
    The current PhD project focuses on the integration of gesture with their co-occurring speech with the use of non-invasive brain stimulation. The project investigated ‘where’ and ‘when’ gesture-speech integration takes place. Building on the paradigm of Kelly et al., (2010) which provides a reaction time index of automatic gesture-speech integration, it was tested whether left middle temporal gyrus (pMTG) as well as left Inferior frontal gyrus (LIFG) are causally involved in gesture-speech integration. A follow-up study investigated the time window for this integration of gesture and speech in pMTG. This study found that gesture has a priming effect on the semantic retrieval of speech. This effect only manifested itself after gesture had been clearly understood and before the semantic analysis of speech. Based on the common coding hypothesis, this finding was interpreted in terms of gesture and speech originating from a common coding system, with both LIFG and pMTG as its neural underpining, enabling bi-directional influences between both domains

    Searching, Selecting, and Synthesizing Source Code Components

    Get PDF
    As programmers develop software, they instinctively sense that source code exists that could be reused if found --- many programming tasks are common to many software projects across different domains. oftentimes, a programmer will attempt to create new software from this existing source code, such as third-party libraries or code from online repositories. Unfortunately, several major challenges make it difficult to locate the relevant source code and to reuse it. First, there is a fundamental mismatch between the high-level intent reflected in the descriptions of source code, and the low-level implementation details. This mismatch is known as the concept assignment problem , and refers to the frequent case when the keywords from comments or identifiers in code do not match the features implemented in the code. Second, even if relevant source code is found, programmers must invest significant intellectual effort into understanding how to reuse the different functions, classes, or other components present in the source code. These components may be specific to a particular application, and difficult to reuse.;One key source of information that programmers use to understand source code is the set of relationships among the source code components. These relationships are typically structural data, such as function calls or class instantiations. This structural data has been repeatedly suggested as an alternative to textual analysis for search and reuse, however as yet no comprehensive strategy exists for locating relevant and reusable source code. In my research program, I harness this structural data in a unified approach to creating and evolving software from existing components. For locating relevant source code, I present a search engine for finding applications based on the underlying Application Programming Interface (API) calls, and a technique for finding chains of relevant function invocations from repositories of millions of lines of code. Next, for reusing source code, I introduce a system to facilitate building software prototypes from existing packages, and an approach to detecting similar software applications

    A Feature-Oriented Modelling Language and a Feature-Interaction Taxonomy for Product-Line Requirements

    Get PDF
    Many organizations specialize in the development of families of software systems, called software product lines (SPLs), for one or more domains (e.g., automotive, telephony, health care). SPLs are commonly developed as a shared set of assets representing the common and variable aspects of an SPL, and individual products are constructed by assembling the right combinations of assets. The feature-oriented software development (FOSD) paradigm advocates the use of system features as the primary unit of commonality and variability among the products of an SPL. A feature represents a coherent and identifiable bundle of system functionality, such as call waiting in telephony and cruise control in an automobile. Furthermore, FOSD aims at feature-oriented artifacts (FOAs); that is, software-development artifacts that explicate features, so that a clear mapping is established between a feature and its representation in different artifacts. The thesis first identifies the problem of developing a suitable language for expressing feature-oriented models of the functional requirements of an SPL, and then presents the feature-oriented requirements modelling language (FORML) as a solution to this problem. FORML's notation is based on standard software-engineering notations (e.g., UML class and state-machine models, feature models) to ease adoption by practitioners, and has a precise syntax and semantics to enable analysis. The novelty of FORML is in adding feature-orientation to state-of-the-art requirements modelling approaches (e.g., KAOS), and in the systematic treatment of modelling evolutions of an SPL via enhancements to existing features. An existing feature can be enhanced by extending or modifying its requirements. Enhancements that modify a feature's requirements are called intended feature interactions. For example, the call waiting feature in telephony intentionally overrides the basic call service feature's treatment of incoming calls when the subscriber is already involved in a call. FORML prescribes different constructs for specifying different types of enhancements in state-machine models of requirements. Furthermore, unlike some prominent approaches (e.g., AHEAD, DFC), FORML's constructs for modelling intended feature interactions do not depend on the order in which features are composed; this can lead to savings in analysis costs, since only one rather than (possibly) multiple composition orders need to be analyzed. A well-known challenge in FOSD is managing feature interactions, which, informally defined, are ways in which different features can influence one another in defining the overall properties and behaviours of their combination. Some feature interactions are intended, as described above, while other feature interactions are unintended: for example, the cruise control and anti-lock braking system features of an automobile may have incompatible affects on the automobile's acceleration, which would make their combination inconsistent. Unintended feature interactions should be detected and resolved. To detect unintended interactions in models of feature behaviour, we must first define a taxonomy of feature interactions for the modelling language: that is, we must understand the different ways that feature interactions can manifest among features expressed in the language. The thesis presents a taxonomy of feature interactions for FORML that is an adaptation of existing taxonomies for operational models of feature behaviour. The novelty of the proposed taxonomy is that it presents a definition of behaviour modification that generalizes special cases found in the literature; and it enables feature-interaction analyses that report only unintended interactions, by excluding interactions caused by FORML's constructs for modelling intended feature interactions
    corecore