Scispace (Formerly Typeset)
  1. Home
  2. Topics
  3. Software construction
  4. 2002
  1. Home
  2. Topics
  3. Software construction
  4. 2002
Showing papers on "Software construction published in 2002"
Book•
Component Software: Beyond Object-Oriented Programming

[...]

Clemens Szyperski
23 Nov 2002
TL;DR: Anyone responsible for developing software strategy, evaluating new technologies, buying or building software will find Clemens Szyperski's objective and market-aware perspective of this new area invaluable.
Abstract: From the Publisher: Component Software: Beyond Object-Oriented Programming explains the technical foundations of this evolving technology and its importance in the software market place. It provides in-depth discussion of both the technical and the business issues to be considered, then moves on to suggest approaches for implementing component-oriented software production and the organizational requirements for success. The author draws on his own experience to offer tried-and-tested solutions to common problems and novel approaches to potential pitfalls. Anyone responsible for developing software strategy, evaluating new technologies, buying or building software will find Clemens Szyperski's objective and market-aware perspective of this new area invaluable.

5,556 citations

Patent•
Method and apparatus for upgrading a software application in the presence of user modifications

[...]

Robert S. Brodersen, John L. Coker1, Mark C. Hastings2•
Oracle Corporation1, John L. Scott2
22 Feb 2002
TL;DR: In this paper, a method for upgrading a software application from a prior version to a subsequent version while preserving user modifications to the prior application is presented, which includes comparing differences between the two versions of the software applications.
Abstract: A method for upgrading ( 31 - b of FIG. 1 ) a software application ( 35 - b ) from a prior version to a subsequent version while preserving user modifications to the prior application. The method includes comparing differences between the two versions of the software applications. This is followed by enumerating the differences between the two versions of the software applications; and determining which differences between the two versions of the software are conflicting and which are compatible. The compatible changes are made ( 7 ). Also disclosed is an article of manufacture containing computer readable program code for carrying out the above process, and a program storage device carrying the code.

1,197 citations

Book•
Encyclopedia of software engineering

[...]

John J. Marciniak
1 Jan 2002
TL;DR: Organized alphabetically--every major area contains an overview article that defines the topic, and each sub-discipline has a specific article covering history, current practice, practical data and projections about future practice.
Abstract: From the Publisher: Encompasses the field of software development process--from design to transpiration to testing and everything in between. Includes all functional disciplines, software tools and languages associated with software engineering of large and/or complex projects. Organized alphabetically--every major area contains an overview article that defines the topic. Each sub-discipline has a specific article covering history, current practice, practical data and projections about future practice.

1,156 citations

Proceedings Article•10.3233/978-1-60750-929-5-586•
Engineering and algorithm design for an image processing Api: a technical report on ITK--the Insight Toolkit.

[...]

Terry S. Yoo1, Michael J Ackerman1, William E. Lorensen2, William J. Schroeder3, Vikram Chalana, Stephen R. Aylward4, Dimitris N. Metaxas5, Ross T. Whitaker •
National Institutes of Health1, General Electric2, Kitware3, University of North Carolina at Chapel Hill4, University of Pennsylvania5
1 Jan 2002
TL;DR: The detailed planning and execution of the Insight Toolkit (ITK), an application programmers interface (API) for the segmentation and registration of medical image data, is presented.
Abstract: We present the detailed planning and execution of the Insight Toolkit (ITK), an application programmers interface (API) for the segmentation and registration of medical image data. This public resource has been developed through the NLM Visible Human Project, and is in beta test as an open-source software offering under cost-free licensing. The toolkit concentrates on 3D medical data segmentation and registration algorithms, multimodal and multiresolution capabilities, and portable platform independent support for Windows, Linux/Unix systems. This toolkit was built using current practices in software engineering. Specifically, we embraced the concept of generic programming during the development of these tools, working extensively with C++ templates and the freedom and flexibility they allow. Software development tools for distributed consortium-based code development have been created and are also publicly available. We discuss our assumptions, design decisions, and some lessons learned.

747 citations

Book•
Software radio: a modern approach to radio engineering

[...]

Jeffrey H. Reed
20 May 2002
TL;DR: Software Radio: A Modern approach to Radio Engineering systematically reviews the techniques, challenges, and tradeoffs of DSP software radio design to help engineers build advanced wireless systems.
Abstract: Software-based approaches enable engineers to build wireless system radios that are easier to manufacture, more flexible, and more cost-effective. Software Radio: A Modern Approach to Radio Engineering systematically reviews the techniques, challenges, and tradeoffs of DSP software radio design. Coverage includes constructing RF front-ends; using digital processing to overcome RF design problems; direct digital synthesis of modulated waveforms; A/D and D/A conversions; smart antennas; object-oriented software design; and choosing among DSP microprocessors, FPGAs, and ASICs. This is an excellent book for all RF and signal processing engineers building advanced wireless systems.

587 citations

Reference Entry•10.1002/0471238961.0315131620012525.A01.PUB2•
Computer‐Aided Chemical Engineering

[...]

William Johns
15 Mar 2002
TL;DR: This chapter describes the steps that should be taken to ensure that computer aids are properly used and decisions are properly reached and gives further reading for engineers likely to manage projects in which extensive use is made of computer tools.
Abstract: Computer-Aided Chemical Engineering is reviewed from its beginnings in the 1950s to the present state in which virtually all chemical engineering is computer-aided. Over 200 computer-based computations routinely undertaken by chemical engineers are listed. Computer-aids are used at every stage from deciding what chemical species to make, through the conceptual design of the processes, the detailed design, the on-line control, optimization and retrofit design, up to the decommissioning. Computer-aids are important for assessing and minimizing environmental impacts and hazards. This chapter does not discuss any of these topics in detail. It concentrates on the design of reliable software and the correct use of software supplied by third parties. Guidance is given for designing software that properly meets the technical requirements of the end users. The program structure and test procedures necessary to validate the software are described. Methods for ensuring that the program properly incorporates the physical models on which it is based are outlined including emphasis on dimensionally consistent programming. The importance of data validation is emphasized. It is further emphasized that these design guidelines apply equally to models written in special-purpose modeling systems as they do to models written in general-purpose computer-programming languages. The elements of numerical analysis are introduced and illustrated with common examples from chemical engineering. Even simple computations, such as log–mean temperature difference, can be grossly in error if the numerical limitations of computers are ignored. Reliable, easily solved models should be near-linear and explicit, and steps to achieve such models are included. The treatment is designed to be adequate for engineers writing small programs, or small parts of larger programs. References are introduced to enable professional engineering programmers to pursue the topics in greater depth. End-users of chemical engineering software have responsibility for the decisions taken based on computed results. They must ensure that the software is adequate for its purpose, that all data is properly validated, and that the computed results are properly interpreted. They are also responsible for scoping the uncertainties in the computation and assessing their impact on the decisions taken. This chapter describes the steps that should be taken to ensure that computer aids are properly used and decisions are properly reached. It gives further reading for engineers likely to manage projects in which extensive use is made of computer tools. A brief introduction is given to some of the rapidly advancing areas of computer-aided chemical engineering. Keywords: CAPE (Computer-Aided Process Enginerring); program design; software validation; Numerical Analysis; Software use; CAMD (Computer-Aided Molecule Design); process synthesis; flexible process design

552 citations

Journal Article•10.1109/52.991329•
Quality attributes of Web software applications

[...]

Jeff Offutt1•
George Mason University1
01 Mar 2002-IEEE Software
TL;DR: Some of the technological challenges of building today's complex Web software applications, their unique quality requirements, and how to achieve them are discussed.
Abstract: Web applications have very high requirements for numerous quality attributes. This article discusses some of the technological challenges of building today's complex Web software applications, their unique quality requirements, and how to achieve them.

393 citations

Proceedings Article•10.1145/544741.544748•
The tropos software development methodology: processes, models and diagrams

[...]

Fausto Giunchiglia1, John Mylopoulos2, Anna Perini•
University of Trento1, University of Toronto2
15 Jul 2002
TL;DR: Basic elements of the Tropos methodology are outlined: the conceptual framework and the analysis process through which design flows from external to system actors through a goal analysis and delegation.
Abstract: Tropos is a novel agent-oriented software development methodology founded on two key features: (i) the notions of agent, goal, plan and other knowledge level concepts are used uniformly throughout the software development process; and (ii) a crucial role is assigned to requirements analysis and specification when the system-to-be is analyzed with respect to its intended environment. This short paper outlines basic elements of the Tropos methodology: the conceptual framework and the analysis process through which design flows from external to system actors through a goal analysis and delegation.

313 citations

Proceedings Article•10.1145/512035.512047•
DMS: program transformations for practical scalable software evolution

[...]

Ira D. Baxter
19 May 2002
TL;DR: DMS is described, a practical, commercial program analysis and transformation system, and sketches a variety of tasks to which it has been applied, from redocumenting to large-scale system migration.
Abstract: This paper describes the scaling issues and progress towards constructing a practical program transformation system to support software evolution.

299 citations

Journal Article•10.1109/MS.2002.1020285•
SEI's software product line tenets

[...]

Linda Northrop1•
Software Engineering Institute1
01 Jul 2002-IEEE Software
TL;DR: The concepts, activities, and practices described here can lead to successful product line development.
Abstract: Software product lines are emerging as a viable, important software development paradigm. Based on the Software Engineering Institute's research and experience, the concepts, activities, and practices described here can lead to successful product line development. How-to's, success stories, and lessons learned expand on the approach.

281 citations

Proceedings Article•10.1109/ISESE.2002.1166921•
Conducting realistic experiments in software engineering

[...]

Dag I. K. Sjøberg, Bente Anda, Erik Arisholm, Tore Dybå, Magne Jørgensen, Amela Karahasanovic, E.F. Koren, Marek Vokáč 
3 Oct 2002
TL;DR: It is argued that software engineering researchers should apply for resources enabling expensive and realistic software engineering experiments similar to how other researchers apply for Resources for expensive software and hardware that are necessary for their research.
Abstract: An important goal of most empirical software engineering research is the transfer of research results to industrial applications. Two important obstacles for this transfer are the lack of control of variables of case studies, i.e., the lack of explanatory power, and the lack of realism of controlled experiments. While it may be difficult to increase the explanatory power of case studies, there is a large potential for increasing the realism of controlled software engineering experiments. To convince industry about the validity and applicability of the experimental results, the tasks, subjects and the environments of the experiments should be as realistic as practically possible. Such experiments are, however, more expensive than experiments involving students, small tasks and pen-and-paper environments. Consequently, a change towards more realistic experiments requires a change in the amount of resources spent on software engineering experiments. This paper argues that software engineering researchers should apply for resources enabling expensive and realistic software engineering experiments similar to how other researchers apply for resources for expensive software and hardware that are necessary for their research. The paper describes experiences from recent experiments that varied in size from involving one software professional for 5 days to 130 software professionals, from 9 consultancy companies, for one day each.
Patent•
Method and system for on-demand installation of software implementations

[...]

Debi P. Mishra1, David E. Kays1, Markus Horstmann1, Mark H. Lucovsky1, Shannon J. Chan1, Bharat Shah1, Gregory Jensenworth1 •
Microsoft1
4 Oct 2002
TL;DR: In this paper, the authors present a method and system for installing software implementations such as applications and COM classes as they are needed from an external source, such as a centralized network store.
Abstract: A method and system for installing software implementations such as applications and COM classes as they are needed from an external source, such as a centralized network store. When a software implementation is needed, the system and method first look to the local system (e.g., registry) for that software implementation, and if found, returns the information such as a local path needed to use the software implementation. If the implementation is not found locally, the present invention dynamically looks to a centralized class store of a network, to locate the needed implementation. When located, the implementation is downloaded and locally installed in a manner that is essentially transparent to the user. Software implementations such as application products may be divided into features and components to improve on-demand installation thereof.
Reference Entry•10.1002/0471028959.SOF250•
Process Models in Software Engineering

[...]

Walt Scacchi1•
University of California, Irvine1
15 Jan 2002
TL;DR: This article categorizes and examines a number of methods for describing or modeling how software systems are developed and concludes with a more comprehensive review of the alternative models of software evolution.
Abstract: Software systems come and go through a series of passages that account for their inception, initial development, productive operation, upkeep, and retirement from one generation to another. This article categorizes and examines a number of methods for describing or modeling how software systems are developed. It begins with background and definitions of traditional software life-cycle models that dominate most textbook discussions and current software development practices. This is followed by a more comprehensive review of the alternative models of software evolution that are of current use as the basis for organizing software engineering projects and technologies. Keywords: software process model; definition; software life-cycle models; development models; production process models
Book Chapter•10.1007/3-540-45652-X_16•
Maturity and Evolution in Software Product Lines: Approaches, Artefacts and Organization

[...]

Jan Bosch1•
University of Groningen1
19 Aug 2002
TL;DR: An overview of different approaches to the architecture-centric, intra-organizational reuse of software artefacts related to maturity levels for product line artefacts and organizational models is presented.
Abstract: Software product lines have received considerable adoption in the software industry and prove to be a very successful approach to intra-organizational software reuse Existing literature, however, often presents only a single approach towards adopting and evolving a software product line In this paper, we present an overview of different approaches to the architecture-centric, intra-organizational reuse of software artefacts We relate these to maturity levels for product line artefacts and organizational models
Book•
Object-Oriented Software Engineering: Practical Software Development Using UML and Java

[...]

Timothy C. Lethbridge, Robert Laganiere
1 Apr 2002
TL;DR: This book presents a meta-review of Object Orientation and Java, followed by a discussion of UML Notation and its applications in Software and Software Engineering.
Abstract: 1. Software and Software Engineering. 2. Review of Object Orientation and Java. 3. Basing Software Development on Reusable Technology. 4. Developing Requirements. 5. Modelling with Classes. 6. Using Design Patterns. 7. Focusing on Users and Their Tasks. 8. Modelling Interactions and Behaviour. 9. Architecting and Designing Software. 10. Testing and Inspecting to Ensure High Quality. 11. Managing the Software Process. 12. Review. Appendix A: Summary of UML Notation used in this Book. Appendix B: Summary of the Documentation Formats Recommended in this Book. Appendix C: System Descriptions. Appendix D: Answers to Selected Exercises. Glossary. Index.
Patent•
Method and system for optimizing software upgrades

[...]

Michael Lau1, Dean Kemp2, Clement Ng, Hong Yu, Dario Atallah •
Sun Microsystems1, Oracle Corporation2
7 Jun 2002
TL;DR: In this article, a method for analyzing impact on binaries, software, and hardware of a planned software upgrade for a computer system is presented, which includes performing a configuration inventory for the computer system with profiles of hardware, software including operating system software, middleware, applications, development tools and third party software, application interfaces, and binaries.
Abstract: A method for analyzing impact on binaries, software, and hardware of a planned software upgrade for a computer system. The method includes performing a configuration inventory for the computer system with profiles for the computer system of hardware, software including operating system software, middleware, applications, development tools, and third party software, application interfaces, and binaries. A set of upgrade rules, e.g., rules defining hardware and software requirements including interfaces, libraries, dependencies, and more, are accessed and the binary profiles are analyzed based on the upgrade rules to determine safe binaries and at-risk binaries. The at-risk binaries are further divided into subcategories based on risks of incompatibility with the planned software upgrade. The subcategories include failure, high risk, and low risk. The method includes generating text or graphical reports providing the analysis results to quantify and qualify the impacts on binaries and other portions of the computer system.
Patent•
Embedded software update system

[...]

Yuqing Ren
15 Jul 2002
TL;DR: In this paper, the authors present a method and system for an embedded software update system, which helps manufacturers or vendors avoid costly product recall activities in the event their digital products have field software errors ('bugs') or hardware problems.
Abstract: A method and system for an embedded software update system, which helps manufactures or vendors avoid costly product recall activities in the event their digital products have field software errors ('bugs') or hardware problems. One aspect of the invention is directed to an error correction system, which remotely corrects these software errors and minimizes influences of hardware problems. Another aspect of the invention is to a software updating system, which is capable of updating software modules in the digital products by use of software patches. The software patch system of the present invention facilitates manufactures' transmitting software patches to the 'on-the-fly' digital products to fix software errors and minimize influences of hardware problems. The software patch may also contain new parameters for updating some data area in NVM (Non Volatile Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory) memory of a digital product, which is quite useful when service providers or manufactures want to modify some service features or product features.
Proceedings Article•
Proceedings of the 5th symposium on Operating systems design and implementation

[...]

David E. Culler1, Peter Druschel2•
University of California, Berkeley1, Rice University2
9 Dec 2002
TL;DR: The program presents important results in a wide range of areas, including distributed storage systems, robust software construction, OS kernel innovations, sensor networks, virtual machine monitors, large-scale network simulation, resource management architectures for Internet services, peer-to-peer systems, network analysis, and migration of execution environments.
Abstract: OSDI '02 continues the conference's tradition of presenting the best innovative work in the systems software area, taking a broad view of what the area encompasses. We believe that this year's conference contains some of the most original, intriguing, and important work in the field today. OSDI '02 drew a highly competitive selection from a large collection of diverse, original work submitted by authors internationally to form a program of creative, well-developed papers opening up new and innovative areas--not merely incremental results building on prior work.The program presents important results in a wide range of areas, including distributed storage systems, robust software construction, OS kernel innovations, sensor networks, virtual machine monitors, large-scale network simulation, resource management architectures for Internet services, peer-to-peer systems, network analysis, and migration of execution environments.OSDI '02 received 150 submissions; all submissions were reviewed by several members of the program committee and selected external reviewers, comprising roughly 700 reviews. Program committee members did not participate in the review or discussion of any papers co-authored by themselves, members of their home institutions, former students, advisors, or recent collaborators. The program committee met at the Intel Berkeley research lab on July 30, 2002, to make the final program selection during an eleven-hour meeting.
Journal Article•10.1109/MS.2002.1020295•
Improving software process improvement

[...]

H. Conradi, Alfonso Fuggetta1•
Polytechnic University of Milan1
01 Jul 2002-IEEE Software
TL;DR: Six theses are introduced to illuminate the problems of pursuing SPI and highlight the differences between disciplined versus creative work and procurer risks versus user satisfaction.
Abstract: Two dichotomies characterize software process improvement efforts and approaches: disciplined versus creative work and procurer risks versus user satisfaction. Based on these perspectives, the authors introduce six theses to illuminate the problems of pursuing SPI.
Journal Article•10.1109/MDT.2002.1003792•
Design for debug: catching design errors in digital chips

[...]

Bart Vermeulen1, Sandeep Kumar Goel1•
Philips1
01 May 2002-IEEE Design & Test of Computers
TL;DR: The system presented here consists of an on-chip debug infrastructure and supporting debugger software, which interacts with the infrastructure to make the chip's features accessible through a serial interface.
Abstract: For large, complex ICs, engineers need efficient techniques for debugging first silicon. The system presented here consists of an on-chip debug infrastructure and supporting debugger software,which interacts with the infrastructure to make the chip's features accessible through a serial interface.
Book•10.1007/3-540-70657-7•
Agent-Oriented Software Engineering II

[...]

Michael Wooldridge, Gerhard Weiß, Paolo Ciancarini
1 Jan 2002
TL;DR: Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft, und ergänzt das Programm durch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen.
Abstract: Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft. Im Sortiment finden Sie alle Medien (Bücher, Zeitschriften, CDs, eBooks, etc.) aller Verlage. Ergänzt wird das Programm durch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen. Der Shop führt mehr als 8 Millionen Produkte.
Patent•
Apparatus and method for synchronizing software between computers

[...]

Michael J. Branson1, George Francis Denisutefano1, Ronald Joseph Haugen1, Gregory R. Hintermeister1, Gregory Scott Hurlebaus1, Erik Duane Lindberg1, David Henry Sandeifaa1, Susette M. Townsend1 •
IBM1
18 Jan 2002
TL;DR: A software fix manager compares a preferred software inventory with a software inventory from a computer that is to be synchronized and, from this comparison, creates a number of software product synchronizations as discussed by the authors.
Abstract: A method and apparatus for synchronizing software between computers are disclosed. A software fix manager compares a preferred software inventory with a software inventory from a computer that is to be synchronized and, from this comparison, creates a number of software product synchronizations. An update manager uses the software fix list to apply software product synchronizations to the computer. Preferably, the computer can be brought to the same fix level or product level, if desired, as the preferred software inventory through this process. The software fix manager can place synchronizations in a fix list. There can be multiple software product synchronizations per software product, and the synchronizations can be applied to a computer by removing a software product fix or installing a product software fix. The current invention may also be applied to software products themselves, by installing or removing software products. The present invention potentially has its best application in networks, as numerous target computers or groups of target computers may be synchronized with a preferred software inventory of a model system.
Proceedings Article•10.1109/ICSM.2002.1167829•
A technique for dynamic updating of Java software

[...]

Alessandro Orso1, Anup Rao1, Mary Jean Harrold1•
Georgia Institute of Technology1
3 Oct 2002
TL;DR: A new technique for dynamic updating of Java software is presented, based oil the use of proxy classes and requires no support from the runtime system, which allows for updating a running Java program by substituting, adding, and deleting classes.
Abstract: During maintenance, systems are updated to correct faults, improve functionality, and adapt the software to changes in its execution environment. The typical software update process consists of stopping the system to be updated, performing the update of the code, and restarting the system. For systems such as banking and telecommunication software, however the cost of downtime can be prohibitive. The situation is even worse for systems such as air-traffic controllers and life-support software, for which a shut-down is in general not an option. In those cases, the use of some form of on-the-fly program modification is required. In this paper, we present a new technique for dynamic updating of Java software. Our technique is based oil the use of proxy classes and requires no support from the runtime system. The technique allows for updating a running Java program by substituting, adding, and deleting classes. We also present DUSC (dynamic updating through swapping of classes), a tool that we developed and that implements our technique. Finally, we describe an empirical study that we performed to validate the technique of a real Java subject. The results of the study show that our technique can be effectively applied to Java software with only little overhead in both execution time and program size.
Book•
Lessons Learned In Software Testing: A Context - Driven Approach

[...]

Cem Kaner, James Bach, Bret Pettichord
1 Jan 2002
TL;DR: The Role of the Tester and the Context-Driven Approach to Software Testing: Thinking Like a Tester, Documenting Testing, and Managing the Testing Group.
Abstract: Lessons. Foreword. Preface. Acknowledgments. The Role of the Tester. Thinking Like a Tester. Testing Techniques. Bug Advocacy. Automating Testing. Documenting Testing. Interacting with Programmers. Managing the Testing Project. Managing the Testing Group. Your Career in Software Testing. Planning the Testing Strategy. Appendix: The Context-Driven Approach to Software Testing. Bibliography. Index.
Quality Attributes for COTS Components

[...]

Manuel F. Bertoa, Antonio Vallecillo
1 Jan 2002
TL;DR: A quality model for CBSD based on ISO 9126 is proposed, that defines a set of quality attributes and their associated metrics for the effective evaluation of COTS components.
Abstract: As Component-based Software Development (CBSD) starts to be effectively used, some software vendors have commenced to successfully sell and license commercial off-the-shelf (COTS) components. One of the most critical processes in CBSD is the selection of the COTS components that meet the user requirements. Current proposals have shown how to deal with the functional aspects of this evaluation process. However, there is a lack of appropriate quality models that allow an effective assessment of COTS components. Besides, the international standards that address the software products' quality issues (in particular, those from ISO and IEEE) have shown to be too general for dealing with the specific characteristics of software components. In this position paper we propose a quality model for CBSD based on ISO 9126, that defines a set of quality attributes and their associated metrics for the effective evaluation of COTS components.
Book•
Software Product-Family Engineering

[...]

Frank J. van der Linden
24 Apr 2002
TL;DR: New strategies to capture variability in test cases are suggested, which in combination help dealing with all basic types of variability in a use case and in its relationships.
Abstract: The derivation of system test cases for product families is difficult due to variability in the requirements, since each variation point multiplies the number of possible behaviors to be tested. This paper proposes an approach to develop domain test cases from use cases that contain variabilities and to derive application test cases from them. The basic idea to avoid combinatorial explosion is to preserve the variability in domain test cases. New strategies to capture variability in test cases are suggested, which in combination help dealing with all basic types of variability in a use case and in its relationships (e.g., <>).
Journal Article•10.1109/MCD.2002.1175763•
System-on-a-chip verification~methodology and techniques

[...]

F. Ferrari
01 Nov 2002-IEEE Circuits & Devices
Book•
Software Visualization

[...]

Stephan Diehl1•
The Catholic University of America1
1 Jan 2002
TL;DR: This half-day tutorial gives an overview of the current state-of-the-art in software visualization, identifying common principles illustrated by many examples and giving pointers to tools available today.
Abstract: This half-day tutorial gives an overview of the current state-of-the-art in software visualization. Software visualization encompasses the development and evaluation of methods for graphically representing different aspects of software, including its structure, its execution, and its evolution. In contrast to visual programming and diagramming for software design, software visualization is not so much concerned with the construction, but with the analysis of programs and their development process. Software visualization combines techniques from areas like software engineering, programming languages, data mining, computer graphics, information visualization and human-computer interaction. Topics covered in this tutorial include static program visualization, algorithm animation, visual debugging, as well as the visualization of the evolution of software. In particular we identify common principles illustrated by many examples and give pointers to tools available today.
Architecture-Level Modifiability Analysis

[...]

PerOlof Bengtsson
1 Jan 2002
TL;DR: A method for architecture-level analysis of mod ifiability (ALMA) that analyses the modifiability potential of a software system based on its software architecture design and finds that a group of individually prepared persons produce better profiles than individuals or unprepared groups.
Abstract: Cost, quality and lead-time are three main concerns in software engineering projects. The quality of developed software has traditionally been evaluated on completed systems. Evaluating the product quality at completion introduces a great risk of wasting effort on software products with inadequate system qualities. It is the objective of this thesis to define and study methods for assessment, evaluation and prediction of software systems’ modifiability characteristics based on their architecture designs. Since software architecture design is made early in the development, architecture evaluation helps detect inadequate designs and thus reduces the risk of implementing systems of insufficient quality. We present a method for architecture-level analysis of modifiability (ALMA) that analyses the modifiability potential of a software system based on its software architecture design. The method is scenario-based and either compares architecture candidates, assesses the risk associated with modifications of the architecture, or predicts the effort needed to implement anticipated modifications. The modification prediction results in three values; a prediction of the modification effort and the predicted best- and worst-case effort for the same system and change scenario profile. In this way the prediction method provides a frame-of-reference that supports the architect in the decision whether the modifiability is acceptable or not. The method is based on the experiences and results from one controlled experiment and seven case-studies, where five case studies are part of this thesis. The experiment investigates different ways to organize the scenario elicitation and finds that a group of individually prepared persons produce better profiles than individuals or unprepared groups.
Journal Article•10.1109/TSE.2002.995435•
Visualizing software changes

[...]

Stephen G. Eick, Todd L. Graves1, Alan F. Karr, Audris Mockus2, P. Schuster •
Los Alamos National Laboratory1, Bell Labs2
01 Apr 2002-IEEE Transactions on Software Engineering
TL;DR: A sequence of visualizations and visual metaphors designed to help engineers understand and manage the software change process are presented, linked by selection mechanisms to form perspectives that both enable discovery of high-level structure in software change data and allow effective access to details of those data.
Abstract: A key problem in software engineering is changing the code. We present a sequence of visualizations and visual metaphors designed to help engineers understand and manage the software change process. The principal metaphors are matrix views, cityscapes, bar and pie charts, data sheets and networks. Linked by selection mechanisms, multiple views are combined to form perspectives that both enable discovery of high-level structure in software change data and allow effective access to details of those data. Use of the views and perspectives is illustrated in two important contexts: understanding software change by exploration of software change data and management of software development. Our approach complements existing visualizations of software structure and software execution.
...

Tools

SciSpace AgentBiomedical AgentSciSpace RecruitSciSpace for EnterpriseAgent GalleryChat with PDFLiterature ReviewAI WriterFind TopicsParaphraserCitation GeneratorExtract DataAI DetectorCitation Booster

Learn

ResourcesLive Workshops

SciSpace

CareersSupportBrowse PapersPricingSciSpace Affiliate ProgramCancellation & Refund PolicyTermsPrivacyData Sources

Directories

PapersTopicsJournalsAuthorsConferencesInstitutionsCitation StylesWriting templates

Extension & Apps

SciSpace Chrome ExtensionSciSpace Mobile App

Contact

support@scispace.com
SciSpace

© 2026 | PubGenius Inc. | Suite # 217 691 S Milpitas Blvd Milpitas CA 95035, USA

soc2
Secured by Delve