1,720,983 research outputs found
Automatic software summarization
Full text access from Treasures at UT Dallas is restricted to current UTD affiliates (use the provided link to the article). Non UTD affiliates will find the web address for this item by clicking the Show full item record link and copying the "relation.uri" metadata.While automatic text summarization has been widely studied for more than fifty years, in software engineering, automatic summarization is an emerging area that shows great potential and poses new and exciting research challenges. This technical briefing provides an introduction to the state of the art and maps future research directions in automatic software summarization. A first version was presented at ICSE'17 and now it is updated and enhanced, based on feedback from the audience.Erik Jonsson School of Engineering and Computer Scienc
Software-Based Energy Profiling of Android Apps: Simple, Efficient and Reliable?
Modeling the power profile of mobile applications is a crucial activity to identify the causes behind energy leaks. To this aim, researchers have proposed hardware-based tools as well as model-based and software-based techniques to approximate the actual energy profile. However, all these solutions present their own advantages and disadvantages. Hardware-based tools are highly precise, but at the same time their use is bound to the acquisition of costly hardware components. Model-based tools require the calibration of parameters needed to correctly create a model on a specific hardware device. Software-based approaches do not need any hardware components, but they rely on battery measurements and, thus, they are hardware-assisted. These tools are cheaper and easier to use than hardware-based tools, but they are believed to be less precise. In this paper, we take a deeper look at the pros and cons of software-based solutions investigating to what extent their measurements depart from hardware-based solutions. To this aim, we propose a softwarebased tool named PETRA that we compare with the hardwarebased MONSOON toolkit on 54 Android apps. The results show that PETRA performs similarly to MONSOON despite not using any sophisticated hardware components. In fact, in all the apps the mean relative error with respect to MONSOON is lower than 0:05. Moreover, for 95% of the analyzed methods the estimation error is within 5% of the actual values measured using the hardware-based toolkit.Software Engineerin
Lightweight Detection of Android-specific Code Smells: The aDoctor Project
Code smells are symptoms of poor design solutions applied by programmers during the development of software systems. While the research community devoted a lot of effort to studying and devising approaches for detecting the traditional code smells defined by Fowler, little knowledge and support isavailable for an emerging category of Mobile app code smells. Recently, Reimann et al. proposed a new catalogue of Androidspecific code smells that may be a threat for the maintainability and the efficiency of Android applications. However, current tools working in the context of Mobile apps provide limited support and, more importantly, are not available for developers interested in monitoring the quality of their apps. To overcome these limitations, we propose a fully automated tool, coined ADOCTOR, able to identify 15 Android-specific code smells from the catalogue by Reimann et al. An empirical study conductedon the source code of 18 Android applications reveals that the proposed tool reaches, on average, 98% of precision and 98% of recall. We made ADOCTOR publicly available.Software Engineerin
UAV: Warnings From Multiple Automated Static Analysis Tools At A Glance
Automated Static Analysis Tools (ASATs) are an integral part of today’s software quality assurance practices. At present, a plethora of ASATs exist, each with different strengths. However, there is little guidance for developers on which of these ASATs to choose and combine for a project. As a result, many projects still only employ one ASAT with practically no customization. With UAV, the Unified ASAT Visualizer, we created an intuitive visualization that enables developers, researchers, and tool creators to compare the complementary strengths and overlaps of different Java ASATs. UAV’s enriched treemap and source code views provide its users with a seamless exploration of the warning distribution from a high-level overview down to the source code. We have evaluated our UAV prototype in a user study with ten second-year Computer Science (CS) students, a visualization expert and tested it on large Java repositories with several thousands of PMD, FindBugs, and Checkstyle warnings. Project Website: https://clintoncao.github.io/uav/Software Engineerin
On the Use of Relevance Feedback in IR-based Concept Location
Associated research group: Critical Systems Research GroupConcept location is a critical activity during software evolution as it produces the location where a change is to start in response to a modification request, such as, a bug report or a new feature request. Lexical-based concept location techniques rely on matching the text embedded in the source code to queries formulated by the developers. The efficiency of such techniques is strongly dependent on the ability of the developer to write good queries. We propose an approach to augment information retrieval (IR) based concept location via an explicit relevance feedback (RF) mechanism. RF is a two-part process in which the developer judges existing results returned by a search and the IR system uses this information to perform a new search, returning more relevant information to the user. A set of case studies performed on open source software systems reveals the impact of RF on IR based concept location.Gay, Gregory; Haiduc, Sonia; Marcus, Andrian; Menzies, Tim. (2009). On the Use of Relevance Feedback in IR-based Concept Location. Retrieved from the University Digital Conservancy, https://hdl.handle.net/11299/217423
Spreadsheet testing in practice
Despite being popular end-user tools, spreadsheets suffer from the vulnerability of error-proneness. In software engineering, testing has been proposed as a way to address errors. It is important therefore to know whether spreadsheet users also test, or how do they test and to what extent, especially since most spreadsheet users do not have the training, or experience, of software engineering principles. Towards this end, we conduct a two-phase mixed methods study. First, a qualitative phase, in which we interview 12 spreadsheet users, and second, a quantitative phase, in which we conduct an online survey completed by 72 users. The outcome of the interviews, organized into four different categories, consists of an overview of test practices, perceptions of spreadsheet users about testing, a set of preventive measures for avoiding errors, and an overview of maintenance practices for ensuring correctness of spreadsheets over time. The survey adds to the findings by providing quantitative estimates indicating that ensuring correctness is an important concern, and a major fraction of users do test their spreadsheets. However, their techniques are largely manual and lack formalism. Tools and automated supports are rarely used.Software EngineeringSoftware Technolog
Going Beyond Counting First Authors in Author Co-citation Analysis
The present study examines one of the fundamental aspects of author co-citation analysis (ACA) - the way co-citation
counts are defined. Co-citation counting provides the data on which all subsequent statistical analyses and mappings
are based, and we compare ACA results based on two different types of co-citation counting - the traditional type that
only counts the first one among a cited work's authors on the one hand and a non-traditional type that takes into
account the first 5 authors of a cited work on the other hand. Results indicate that the picture produced through this non-traditional author co-citation counting contains more coherent author groups and is therefore considerably clearer. However, this picture represents fewer specialties in the research field being studied than that produced through the traditional first-author co-citation counting when the same number of top-ranked authors is selected and analyzed. Reasons for these effects are discussed
Variations on the Author
“Variations on the Author” discusses two of Eduardo Coutinho’s recent films (Um Dia na Vida, from 2010, and Últimas Conversas, posthumously released in 2015) and their contribution to the general question of documentary authorship. The director’s filmography is characterized by a consistent yet self-effacing form of authorial self-inscription: Coutinho often features as an interviewer that rather than express opinions propels discourses; an interviewer that is good at listening. This mode of self-inscription characterizes him as an author who is not expressive but who is nonetheless markedly present on the screen. In Um Dia na Vida, however, Coutinho is completely absent form the image, while Últimas Conversas, on the contrary, includes a confessional prologue that moves the director from the margins to the center of his films. This article examines the ways in which these works stand out in the filmography of a director who offers new insights into the notion of cinematic authorship
Text summarization techniques applied to source code summary generation and evaluation
Abstract. This dissertation explores the use of text summarization technology for generating automatic descriptions of source code artifacts. Firstly, the thesis reports the results of empirical studies aimed at investigating how developers summarize code artifacts when understanding them. These results are useful in explaining how developers abstract source code, in gaining insights about the comprehension process, in explaining the role of code elements in such a process, and for the development of automatic source code summarization tools. Secondly, the dissertation describes several approaches for creating short and accurate textual descriptions for various types of code entities. The results of the evaluations indicate that text summarization techniques are suitable for automatic source code summarization since developers generally agree with the summaries produced by the proposed methods. Thus, these summaries can be useful for improving software comprehension processes, which usually occur during software maintenance tasks.Esta tesis explora el uso de tecnologías de resumen de textos para la generación automática de descripciones de artefactos de código fuente. En primer lugar, la tesis reporta los resultados de estudios empíricos que tuvieron como propósito investigar cómo los programadores resumen artefactos de código, durante el proceso de compresión de los mismos. Estos resultados son útiles para explicar cómo los programadores sintetizan trozos de código fuente, para obtener conocimiento acerca del proceso de comprensión, para explicar el rol de las partes del artefacto en ese proceso, y para el desarrollo de herramientas de resumen automático de código fuente. En segundo lugar, este trabajo de tesis describe varios métodos para la creación automática de descripciones textuales, cortas y precisas, para varios tipos de artefactos de código. Los resultados de las evaluaciones indican que las técnicas de resumen de texto son adecuadas para el resumen automático de código fuente, teniendo en cuenta que los desarrolladores generalmente están de acuerdo con los resúmenes producidos mediante los métodos descritos. En consecuencia, estos resúmenes pueden ser útiles para mejorar los procesos de comprensión de software que usualmente ocurren cuando se realizan tareas de mantenimiento de software.Doctorad
- …
