5,775 research outputs found
Using software visualization technology to help genetic algorithm designers
This work is part of a three year PhD project to examine how Software Visualization(SV) can be applied to support the design and construction of Genetic Algorithms (GAs). A user survey carried out at the start of this project identified a set of key system features required by GA users. A visualization system embodying these features was then designed and a prototype built. This paper describes what genetic algorithms are and how they can be applied. It then reviews some of the survey results and their impact on the design of the visualization system. The paper concludes with an exploration of how the resulting prototype may be evaluated
Teaching programming at a distance: the Internet software visualization laboratory
This paper describes recent developments in our approach to teaching computer programming in the context of a part-time Masters course taught at a distance. Within our course, students are sent a pack which contains integrated text, software and video course material, using a uniform graphical representation to tell a consistent story of how the programming language works. The students communicate with their tutors over the phone and through surface mail.
Through our empirical studies and experience teaching the course we have identified four current problems: (i) students' difficulty mapping between the graphical representations used in the course and the programs to which they relate, (ii) the lack of a conversational context for tutor help provided over the telephone, (iii) helping students who due to their other commitments tend to study at 'unsociable' hours, and (iv) providing software for the constantly changing and expanding range of platforms and operating systems used by students.
We hope to alleviate these problems through our Internet Software Visualization Laboratory (ISVL), which supports individual exploration, and both synchronous and asynchronous communication. As a single user, students are aided by the extra mappings provided between the graphical representations used in the course and their computer programs, overcoming the problems of the original notation. ISVL can also be used as a synchronous communication medium whereby one of the users (generally the tutor) can provide an annotated demonstration of a program and its execution, a far richer alternative to technical discussions over the telephone. Finally, ISVL can be used to support asynchronous communication, helping students who work at unsociable hours by allowing the tutor to prepare short educational movies for them to view when convenient. The ISVL environment runs on a conventional web browser and is therefore platform independent, has modest hardware and bandwidth requirements, and is easy to distribute and maintain. Our planned experiments with ISVL will allow us to investigate ways in which new technology can be most appropriately applied in the service of distance education
Embedding Spatial Software Visualization in the IDE: an Exploratory Study
Software visualization can be of great use for understanding and exploring a
software system in an intuitive manner. Spatial representation of software is a
promising approach of increasing interest. However, little is known about how
developers interact with spatial visualizations that are embedded in the IDE.
In this paper, we present a pilot study that explores the use of Software
Cartography for program comprehension of an unknown system. We investigated
whether developers establish a spatial memory of the system, whether clustering
by topic offers a sound base layout, and how developers interact with maps. We
report our results in the form of observations, hypotheses, and implications.
Key findings are a) that developers made good use of the map to inspect search
results and call graphs, and b) that developers found the base layout
surprising and often confusing. We conclude with concrete advice for the design
of embedded software maps.Comment: To appear in proceedings of SOFTVIS 2010 conferenc
A document-like software visualization method for effective cognition of c-based software systems
It is clear that maintenance is a crucial and very costly process in a software life cycle. Nowadays there are a lot of software systems particularly legacy systems that are always maintained from time to time as new requirements arise. One important source to understand a software system before it is being maintained is through the documentation, particularly system documentation. Unfortunately, not all software systems developed or maintained are accompanied with their reliable and updated documents. In this case, source codes will be the only reliable source for programmers. A number of studies have been carried out in order to assist cognition based on source codes. One way is through tool automation via reverse engineering technique in which source codes will be parsed and the information extracted will be visualized using certain visualization methods. Most software visualization methods use graph as the main element to represent extracted software artifacts. Nevertheless, current methods tend to produce more complicated graphs and do not grant an explicit, document-like re-documentation environment. Hence, this thesis proposes a document-like software visualization method called DocLike Modularized Graph (DMG). The method is realized in a prototype tool named DocLike Viewer that targets on C-based software systems. The main contribution of the DMG method is to provide an explicit structural re-document mechanism in the software visualization tool. Besides, the DMG method provides more level of information abstractions via less complex graph that include inter-module dependencies, inter-program dependencies, procedural abstraction and also parameter passing. The DMG method was empirically evaluated based on the Goal/Question/Metric (GQM) paradigm and the findings depict that the method can improve productivity and quality in the aspect of cognition or program comprehension. A usability study was also conducted and DocLike Viewer had the most positive responses from the software practitioners
RESCON: Educational project scheduling software.
In this article we discuss a freely downloadable educational software tool for illustrating project scheduling and project management concepts. The tool features exact and heuristic scheduling procedures and visualizes project networks, project schedules, resource profiles, activity slacks, and project duration distributions.Project scheduling; Project management; Educational software; Visualization; Scheduling algorithms;
Software visualization
Software visualization is a significant force in software engineering. As the sizes of software systems are becoming larger and more complex, program comprehension is becoming more difficult. The tasks of program comprehension involve implementation, maintenance, testing, debugging, mental model construction and verification. Software visualization is one promised way to support the tasks of program comprehension. Through software visualization, graphics and animations are built to help illustrate and present the computer program. In recent years, many related visualization techniques have been developed and used to build visualization tools. The major goal of visualization tools is to support program comprehension
- …