<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>Bavota, Gabriele</dc:contributor>
  <dc:creator>Aghajani, Emad</dc:creator>
  <dc:date>2020-06-18</dc:date>
  <dc:description xmlns:ns0="xml" ns0:lang="en">Despite the undeniable practical benefits of documentation during software development and evolution activities, its creation and maintenance is often neglected,  leading to inadequate and even inexistent documentation. Thus, it is not unusual for developers to deal with unfamiliar code they have difficulties in comprehending.  Browsing the official documentation, or accessing online resources, such as Stack Overflow, can help in this "code comprehension" activity that, however, remains  highly time-consuming. Enhancing the code comprehension process has been the goal of several works aimed at automatically documenting software artifacts.  Although these techniques addressed the issue, they exhibit a number of major limitations such as working at a coarse-grained level, and not allowing to document a  single line of code of interest. While the creation of such novel systems entails conceptual and technical challenges related to the collection, inference, interpretation,  selection, and presentation of useful information, it also requires solid empirical foundations on software developers' needs —— what information is (or is not) useful  when to developers. Our thesis is that empirical knowledge about software documentation issues experienced and considered relevant by practitioners is instrumental  to lay the foundations for the next-generation tools and techniques for automated software documentation. To this aim, in this dissertation we present our research  accomplishments towards automating developer documentation on two fronts: (1) empirical studies on the nature of software documentation with a specific focus on  documentation issues experienced by software developers, and (2) development of tools supporting the code comprehension process. In the former direction, we  conducted a large-scale empirical study, where we mined, analyzed, and categorized a large number of documentation-related artifacts and developed a detailed  taxonomy of documentation issues from which we infer a series of actionable proposals both for researchers and practitioners. We validated our findings by surveying  professional software practitioners. In the latter direction, we developed ADANA, a framework which generates fine-grained code comments for a given piece of code at  the granularity level intended by the developer. Our contributions to the body of software documentation knowledge shed light on unseen facts about overlooked  software documentation matter and lay the foundations for the next-generation tools and techniques for automated software documentation.</dc:description>
  <dc:format>application/pdf</dc:format>
  <dc:identifier>https://susi.usi.ch/global/documents/319169</dc:identifier>
  <dc:identifier>https://localhost:5000/ark:/12658/srd1319169</dc:identifier>
  <dc:identifier>https://susi.usi.ch/documents/319169/files/2020INFO014.pdf</dc:identifier>
  <dc:language>eng</dc:language>
  <dc:relation>info:eu-repo/semantics/altIdentifier/urn/urn:nbn:ch:rero-006-120869</dc:relation>
  <dc:relation>info:eu-repo/semantics/altIdentifier/ark/12658/srd1319169</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">Documentation</dc:subject>
  <dc:subject xmlns:ns2="xml" ns2:lang="en">Software documentation</dc:subject>
  <dc:subject xmlns:ns3="xml" ns3:lang="en">Program comprehension</dc:subject>
  <dc:subject xmlns:ns4="xml" ns4:lang="en">Software engineering</dc:subject>
  <dc:subject xmlns:ns5="xml" ns5:lang="en">Empirical study</dc:subject>
  <dc:subject>info:eu-repo/classification/udc/004</dc:subject>
  <dc:title xmlns:ns6="xml" ns6:lang="en">Software documentation : automation and challenges</dc:title>
  <dc:type>http://purl.org/coar/resource_type/c_db06</dc:type>
</oai_dc:dc>
