A B C D Fig. 1. Exploranative code quality document for Lucene 2.0. A Textual overview in terms of quality attributes, code smells, and bugs, which includes embedded visualizations. B Overview visualizations: parallel coordinates plot and scatterplot. C Source code of a class provided in the details view. D Description of a quality attribute alternatively presented in the details view.Abstract-Good code quality is a prerequisite for efficiently developing maintainable software. In this paper, we present a novel approach to generate exploranative (explanatory and exploratory) data-driven documents that report code quality in an interactive, exploratory environment. We employ a template-based natural language generation method to create textual explanations about the code quality, dependent on data from software metrics. The interactive document is enriched by different kinds of visualization, including parallel coordinates plots and scatterplots for data exploration and graphics embedded into text. We devise an interaction model that allows users to explore code quality with consistent linking between text and visualizations; through integrated explanatory text, users are taught background knowledge about code quality aspects. Our approach to interactive documents was developed in a design study process that included software engineering and visual analytics experts. Although the solution is specific to the software engineering scenario, we discuss how the concept could generalize to multivariate data and report lessons learned in a broader scope.Manuscript received xx xxx. 201x; accepted xx xxx. 201x. Date of Publication xx xxx. 201x; date of current version xx xxx. 201x. For information on obtaining reprints of this article, please send e-mail to: reprints@ieee.org. Digital Object Identifier: xx.xxxx/TVCG.201x.xxxxxxx the workings of analysis algorithms will increase trust into the quality assessment. In contrast, some tools integrated into the software development chain already make a step in this direction, however, consider different quality aspects separately and use only simple visualizations. Our goal is to go a step ahead and integrate visualizations with contextual information. We argue that textual descriptions are key to communicate context and guide the data exploration process. Additional textual explanations can make the interface fully self-explanatory, allow the integration of abstract information that is hard to explain visually, and facilitate blending domain terminology with data descriptions.We suggest a visual analytics solution that combines text and visualization. The idea is to automatically generate textual descriptions that guide the users through the main findings of a code quality analysis. We augment the generated text with visualizations that also allow users to interactively explore different aspects of source code quality. With this, we adopt the ideas of exploranation (explanation and exploration) [58, 61] and explorable explanations [56] for a visual analytics arXiv:1907.11481v1 ...
Bad smells tend to have a negative impact on software by degrading its quality. It is beneficial to detect model smells to avoid their propagation to later stages of software development. The objective of this paper is to present the state‐of‐the‐art research on techniques for detecting UML model bad smells. The detection techniques are compared and evaluated using a proposed evaluation framework. The framework consists of two parts. The first part of the framework compares the techniques in terms of the implemented approach, the investigated model, and the explored model smells, while the experimental design is explored in the second part of the framework. We found that the detection of bad smells in class and sequence diagrams is accomplished via design patterns, software metrics, and predefined rules, while model smells in use cases are detected using metrics and predefined rules. We also found that the class diagram is the most investigated UML model in the context of model smell detection, whereas there is a lack of work on other UML models. In addition, there is a scarcity of independent studies on sequence diagrams. Furthermore, the studies investigating class diagrams are mostly validated, whereas use case diagrams and sequence diagrams are rarely validated.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.