1 |
MosaiCode: Supporting Software Evolution via Visual Exploration of Multidimensional Versioned DataMosora, Daniel J. 10 December 2013 (has links)
No description available.
|
2 |
Rendering UML Class Diagrams to Support Layout DesignLeyden, Paul Joseph 12 December 2019 (has links)
No description available.
|
3 |
Improving the Effectiveness of Software Visualization by Considering Developers’ Cognitive Behaviors and Psychological PrinciplesRizkallah, Lane 10 April 2023 (has links)
No description available.
|
4 |
Aspect Mining Using Self-Organizing Maps With Method Level Dynamic Software Metrics as Input VectorsMaisikeli, Sayyed Garba 01 January 2009 (has links)
As the size and sophistication of modern software system increases, so is the need for high quality software that is easy to scale and maintain. Software systems evolve and undergo change over time. Unstructured software updates and refinements can lead to code scattering and tangling which are the main symptoms of crosscutting concerns. Presence of crosscutting concerns in a software system can lead to bloated and inefficient software system that is difficult to evolve, hard to analyze, difficult to reuse and costly to maintain.
A crosscutting concern in a software system represents implementation of a unique idea or a functionality that could not be properly encapsulated. The presence of crosscutting concerns in software systems is attributed to the limitations of programming languages and structural degradation associated with repeated change. No matter how well large-scale software applications are decomposed, some ideas are difficult to modularize and encapsulate resulting in crosscutting concerns scattered across the entire software system where code implementing one concept is tangled and mixed with code implementing unrelated concept.
Aspect Mining is a reverse software engineering exploration technique that is concerned with the development of concepts, principles, methods and tools supporting the identification and extraction of re-factorable aspect candidates in legacy software systems. The main goal of Aspect Mining is to help software engineers and developers to locate and identify crosscutting concerns and portions of the software that may need refactoring, with the aim of improving the quality, scalability and maintainability and evolution of software system.
The aspect mining approach presented in this dissertation involved three-phases. In the first phase, selected large-scale legacy benchmark test programs were dynamically traced and investigated. Metrics representing interaction between code fragments were derived from the collected data. In the second phase, the formulated dynamic metrics were then submitted as input to Self Organizing Maps (SOMs) for clustering. In the third phase, clusters produced by the SOM were then mapped against the benchmark test program in order to identify code scattering and tangling symptoms. Crosscutting concerns were identified and candidate aspect seeds mined.
Overall, the methodology used in this dissertation is found to perform as well as and no worse than other existing Aspect Mining methodologies. In other cases, the methodology used in this dissertation was found to have outperformed some of the existing Aspect mining methods that use the same set of benchmark test programs. With regards to Aspect Mining precision as it relates to LDA, 100% precision was attained, and with respect to JHD 51% precision was attained by this dissertation methodology, which is the same as attained by existing Aspect mining methods. Lessons learned from the results of experiments carried out in this dissertation have shown that even highly structured software systems that are based on best practice software design principles are laden with code repetitions and presence of crosscutting concerns.
One of the major contributions of this dissertation is the presentation of a new unsupervised Aspect Mining approach that minimizes human interaction, where hidden software features can be identified and inferences about the general structure of software system can be made, thereby addressing one of the drawbacks in currently existing dynamic Aspect Mining methodologies. The strength of the Aspect Mining approach presented in this dissertation is that the input metrics required to represent software code fragments can easily be derived from other viable software metric formulations without complex formalisms.
Other contributions made by this dissertation include the presentation of a good and viable software visualization technique that can be used for software visualization, exploration, and study and understanding of internal structure and behavioral nature of large-scale software systems. Areas that may need further study include the need for determining the optimal number of vector components that may be required to effectively represent extractible software components. Other issues worth considering include the establishment of a set of datasets derived from popularly known test benchmarks that can be used as a common standard for comparison, evaluation and validation of newly introduced Aspect Mining techniques.
|
5 |
A Graphical Representation of Exposed ParallelismRodriguez Villamizar, Gustavo Enrique 01 July 2017 (has links)
Modern-day microprocessors are measured in part by their parallel performance. Parallelizing sequential programs is a complex task, requiring data dependence analysis of the program constructs. Researchers in the field of parallel optimization are working on shifting the optimization effort from the programmer to the compiler. The goal of this work is for the compiler to visually expose the parallel characteristics of the program to researchers as well as programmers for a better understanding of the parallel properties of their programs. In order to do that we developed Exposed Parallelism Visualization (EPV), a statically-generated graphical tool that builds a parallel task graph of source code after it has been converted to the LLVM compiler frameworkq s Intermediate Representation (IR). The goal is for this visual representation of IR to provide new insights about the parallel properties of the program without having to execute the program. This will help researchers and programmers to understand if and where parallelism exists in the program at compile time. With this understanding, researchers will be able to more easily develop compiler algorithms that identify parallelism and improve program performance, and programmers will easily identify parallelizable sections of code that can be executed in multiple cores or accelerators such as GPUs or FPGAs. To the best of our knowledge, EPV is the first static visualization tool made for the identification of parallelism.
|
6 |
Visualizing Java Code Smells with DotplotsJefferson, Alvin Hayes 01 January 2008 (has links)
An approach using dot plots as an aid to visualizing smells within Java source files is presented. Dot plots are a visual tool that allows for viewing duplication in a document or text string. Our approach uses a plug-in for the Eclipse Java IDE to convert Java source files into dot plots. The goal here is to find problem areas in the code, known as "Code Smells", that could indicate that the source file needs to be modified or refactored. In the dot plot these problem areas appear as sections that contain interesting dot formations. Color is also used to enhance places of the dot plot that could be important. Duplication is a common problem in source code and also an important Code Smell. We will show that through finding the Duplicate Code smell we will also be able to find other code smells creating a plug-in that a programmer can use during the coding process to help improve code design.
|
7 |
An Empirical Study Assessing the Impact of SeeIT 3D onComprehensionJetty, Grace Havila Havila January 2013 (has links)
No description available.
|
8 |
TeamWATCH: Visualizing Development Activities Using a 3-D City Metaphor to Improve Conflict Detection and Team AwarenessYe, En 05 July 2017 (has links)
No description available.
|
9 |
A Runtime Software Visualization EnvironmentKurtz, Benjamin L 15 July 2002 (has links)
"As software systems become more complex, so does the task of understanding them. To modify even a simple component of a complex system, at least a rudimentary understanding of the structure and behavior of the whole system is necessary. Although currently available development tools can provide a static representation of a complex system, these utilities are severely limited and prohibitively expensive. As a result, most programmers working on large software systems today resort to classic debuggers and time-consuming plain-text searches through hundreds or thousands of source files. This proposal describes a software development environment that uses static representations of hierarchically structured source code side by side with dynamic visualizations of software systems as they run. This environment provides an intuitive, visual means of easily comprehending complex systems, and has been provided as an open-source development tool for both professionals and students of software engineering."
|
10 |
Visualization of Statistical ContentsMehmood, Raja Majid, Iqbal, Gulraiz January 2010 (has links)
Our project presents the research on visualization of statistical contents. Here wewill introduce the concepts of visualization, software quality metrics andproposed visualization technique (line chart). Our aim to study the existingvisualization techniques for visualization of software metrics and then proposedthe visualization approach that is more time efficient and easy to perceive byviewer.In this project, we focus on the practical aspects of visualization of multipleprojects with respect to the versions and metrics. This project also gives animplementation of proposed visualization techniques of software metrics. In thisresearch based work, we have to compare practically the proposed visualizationapproaches. We will discuss the software development life cycle of our proposedvisualization system, and we will also describe the complete softwareimplementation of implemented software.
|
Page generated in 0.0896 seconds