30 research outputs found

    Holistic recommender systems for software engineering

    Get PDF
    The knowledge possessed by developers is often not sufficient to overcome a programming problem. Short of talking to teammates, when available, developers often gather additional knowledge from development artifacts (e.g., project documentation), as well as online resources. The web has become an essential component in the modern developer’s daily life, providing a plethora of information from sources like forums, tutorials, Q&A websites, API documentation, and even video tutorials. Recommender Systems for Software Engineering (RSSE) provide developers with assistance to navigate the information space, automatically suggest useful items, and reduce the time required to locate the needed information. Current RSSEs consider development artifacts as containers of homogeneous information in form of pure text. However, text is a means to represent heterogeneous information provided by, for example, natural language, source code, interchange formats (e.g., XML, JSON), and stack traces. Interpreting the information from a pure textual point of view misses the intrinsic heterogeneity of the artifacts, thus leading to a reductionist approach. We propose the concept of Holistic Recommender Systems for Software Engineering (H-RSSE), i.e., RSSEs that go beyond the textual interpretation of the information contained in development artifacts. Our thesis is that modeling and aggregating information in a holistic fashion enables novel and advanced analyses of development artifacts. To validate our thesis we developed a framework to extract, model and analyze information contained in development artifacts in a reusable meta- information model. We show how RSSEs benefit from a meta-information model, since it enables customized and novel analyses built on top of our framework. The information can be thus reinterpreted from an holistic point of view, preserving its multi-dimensionality, and opening the path towards the concept of holistic recommender systems for software engineering

    Interaction-aware development environments: recording, mining, and leveraging IDE interactions to analyze and support the development flow

    Get PDF
    Nowadays, software development is largely carried out using Integrated Development Environments, or IDEs. An IDE is a collection of tools and facilities to support the most diverse software engineering activities, such as writing code, debugging, and program understanding. The fact that they are integrated enables developers to find all the tools needed for the development in the same place. Each activity is composed of many basic events, such as clicking on a menu item in the IDE, opening a new user interface to browse the source code of a method, or adding a new statement in the body of a method. While working, developers generate thousands of these interactions, that we call fine-grained IDE interaction data. We believe this data is a valuable source of information that can be leveraged to enable better analyses and to offer novel support to developers. However, this data is largely neglected by modern IDEs. In this dissertation we propose the concept of "Interaction-Aware Development Environments": IDEs that collect, mine, and leverage the interactions of developers to support and simplify their workflow. We formulate our thesis as follows: Interaction-Aware Development Environments enable novel and in- depth analyses of the behavior of software developers and set the ground to provide developers with effective and actionable support for their activities inside the IDE. For example, by monitoring how developers navigate source code, the IDE could suggest the program entities that are potentially relevant for a particular task. Our research focuses on three main directions: 1. Modeling and Persisting Interaction Data. The first step to make IDEs aware of interaction data is to overcome its ephemeral nature. To do so we have to model this new source of data and to persist it, making it available for further use. 2. Interpreting Interaction Data. One of the biggest challenges of our research is making sense of the millions of interactions generated by developers. We propose several models to interpret this data, for example, by reconstructing high-level development activities from interaction histories or measure the navigation efficiency of developers. 3. Supporting Developers with Interaction Data. Novel IDEs can use the potential of interaction data to support software development. For example, they can identify the UI components that are potentially unnecessary for the future and suggest developers to close them, reducing the visual cluttering of the IDE

    Fast stabilization of a high-energy ultrafast OPA with adaptive lenses

    Get PDF
    The use of fast closed-loop adaptive optics has improved the performance of optical systems since its first application. Here we demonstrate the amplitude and carrier-envelope phase stabilization of a high energy IR optical parametric amplifier devoted to Attosecond Science exploiting two high speed adaptive optical systems for the correction of static and dynamic instabilities. The exploitation of multi actuator adaptive lenses allowed for a minimal impact on the optical setup

    Un approccio integrato e ambientale patrimonio della cittĂ  storico-monumentale: un progetto guida per due ambiti strategica Cagliari

    No full text
    The paper shows a part of the results of the research conducted by the DICAAR of the University of Cagliari for the construction of the Strategic Document accompanying the Detailed Plan for the historic center of Cagliari, with reference to the redevelopment project of some of the “large urban voids” placed within the thematic itineraries identified by the Plan. The research field is placed on a strategic-planning level with the development of “guide projects” according to a multiscalar, multidisciplinary and integrated approach, combining the technology of sustainable design with the disciplines of history, urban planning and architecture. The examined specific guiding project concerns via Manno, one of the most important historical axes for the city of Cagliari in the lower part of the fortifications of the Rock of Castello, which has always represented an element of connection between the upper city and the lower city. The approach to the theme of urban regeneration in historical contexts interprets new paradigms of sustainability, integrating the dimension of individual and collective living, both in public space and in private space, in consideration of the performative-performance effectiveness of the interventions outlined
    corecore