<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
  <dc:contributor>Lanza, Michele</dc:contributor>
  <dc:contributor>Mocci, Andrea</dc:contributor>
  <dc:creator>Minelli, Roberto</dc:creator>
  <dc:date>2017-11-13</dc:date>
  <dc:description xmlns:ns0="xml" ns0:lang="en">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.</dc:description>
  <dc:format>application/pdf</dc:format>
  <dc:identifier>https://susi.usi.ch/global/documents/318643</dc:identifier>
  <dc:identifier>https://n2t.net/ark:/12658/srd1318643</dc:identifier>
  <dc:identifier>https://susi.usi.ch/documents/318643/files/2017INFO013.pdf</dc:identifier>
  <dc:language>eng</dc:language>
  <dc:relation>info:eu-repo/semantics/altIdentifier/urn/urn:nbn:ch:rero-006-116842</dc:relation>
  <dc:relation>info:eu-repo/semantics/altIdentifier/ark/12658/srd1318643</dc:relation>
  <dc:rights>info:eu-repo/semantics/openAccess</dc:rights>
  <dc:rights>License undefined</dc:rights>
  <dc:subject xmlns:ns1="xml" ns1:lang="en">Interaction data</dc:subject>
  <dc:subject xmlns:ns2="xml" ns2:lang="en">IDE</dc:subject>
  <dc:subject xmlns:ns3="xml" ns3:lang="en">Software evolution</dc:subject>
  <dc:subject xmlns:ns4="xml" ns4:lang="en">Software visualization</dc:subject>
  <dc:subject xmlns:ns5="xml" ns5:lang="en">Program understanding</dc:subject>
  <dc:subject xmlns:ns6="xml" ns6:lang="en">Program comprehension</dc:subject>
  <dc:subject>info:eu-repo/classification/udc/004</dc:subject>
  <dc:title xmlns:ns7="xml" ns7:lang="en">Interaction-aware development environments : recording, mining, and leveraging IDE interactions to analyze and support the development flow</dc:title>
  <dc:type>http://purl.org/coar/resource_type/c_db06</dc:type>
</oai_dc:dc>
