Results 1 - 10
of
30
Exploring Software Evolution Using Spectrographs
, 2004
"... Software systems become progressively more complex and difficult to maintain. To facilitate maintenance tasks, project managers and developers often turn to the evolution history of the system to recover various kinds of useful information, such as anomalous phenomena and lost design decisions. An i ..."
Abstract
-
Cited by 41 (3 self)
- Add to MetaCart
Software systems become progressively more complex and difficult to maintain. To facilitate maintenance tasks, project managers and developers often turn to the evolution history of the system to recover various kinds of useful information, such as anomalous phenomena and lost design decisions. An informative visualization of the evolution history can help cope with this complexity by highlighting conspicuous evolution events using strong visual cues. In this paper, we present a scalable visualization technique called evolution spectrographs (ESG). An evolution spectrograph portrays the evolution of a spectrum of components based on a particular property measurement. We describe several special-purpose spectrographs and discuss their use in understanding and supporting software evolution through the case studies of three large software systems (OpenSSH, KOffice and FreeBSD).
Evolution Spectrographs: Visualizing Punctuated Change in Software Evolution
- In Proceedings of the International Workshop on Principles of Software Evolution
, 2004
"... process of incremental change. Researchers have observed that software systems also exhibit characteristics of punctuation (sudden and discontinuous change) during their evolution. In this paper, we analyze punctuated evolution from the perspective of structural change. We developed a colorcoded vis ..."
Abstract
-
Cited by 27 (3 self)
- Add to MetaCart
(Show Context)
process of incremental change. Researchers have observed that software systems also exhibit characteristics of punctuation (sudden and discontinuous change) during their evolution. In this paper, we analyze punctuated evolution from the perspective of structural change. We developed a colorcoded visualization technique called the Evolution Spectrograph (ESG). ESG can be applied to highlight conspicuous changes across a historical sequence of software releases. We describe evolution spectrographs and present the empirical results from our studies of three open source software systems: OpenSSH, PostgreSQL, and Linux. We show that punctuated change occurred in the evolution of these three systems, and we validate our empirical results by examining related software documents such as change logs and release notes.
Open Source Software Evolution and Its Dynamics
, 2006
"... I hereby declare that I am the sole author of this thesis. The is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. ii This thesis undertakes an empirical study of software e ..."
Abstract
-
Cited by 14 (0 self)
- Add to MetaCart
(Show Context)
I hereby declare that I am the sole author of this thesis. The is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. ii This thesis undertakes an empirical study of software evolution by analyzing open source software (OSS) systems. The main purpose is to aid in understanding OSS evolution. The work centers on collecting large quantities of structural data cost-effectively and analyzing such data to understand software evolution dynamics (the mechanisms and causes of change and growth). We propose a multipurpose systematic approach to extracting program facts (e.g., func-tion calls). This approach is supported by a suite of C and C++ program extractors, which cover different steps in the program build process and handle both source and binary code. We present several heuristics to link facts extracted from individual files into a combined system model of reasonable accuracy. We extract historical sequences of system models to aid software evolution analysis. We propose that software evolution can be viewed as Punctuated Equilibrium (i.e., long periods of small changes interrupted occasionally by large avalanche changes). We develop two approaches to study such dynamical behavior. One approach uses the evolution spec-trograph to visualize file level changes to the implemented system structure. The other ap-proach relies on automated software clustering techniques to recover system design changes. We discuss lessons learned from using these approaches. We present a new perspective on software evolution dynamics. From this perspective, an evolving software system responds to external events (e.g., new functional requirements) according to Self-Organized Criticality (SOC). The SOC dynamics is characterized by the following: (1) the probability distribution of change sizes is a power law; and (2) the time series of change exhibits long range correlations with power law behavior. We present em-pirical evidence that SOC occurs in open source software systems. iii
Studying the Evolution of Software Systems Using Evolutionary Code Extractors
, 2004
"... meet the needs of their users. Empirical studies are needed to better understand the evolutionary process followed by software systems. These studies need tools that can analyze and report various details about the software system's history. ..."
Abstract
-
Cited by 13 (3 self)
- Add to MetaCart
meet the needs of their users. Empirical studies are needed to better understand the evolutionary process followed by software systems. These studies need tools that can analyze and report various details about the software system's history.
An approach to modelling long-term growth trends in software systems.
- In Internation Conference on Software Maintenance,
, 2001
"... ..."
Qualitative Simulation of Models of Software Evolution
- Journal of Software Process: Improvement and Practice, 7: 95
, 2002
"... Lehman’s laws and the quantitative models related to them seek to encapsulate empirical generalisations about E-type program evolution. Such modelling is hampered by insufficient knowledge about the mechanisms at work and their parameters. Qualitative reasoning is an approach that tackles lack of pr ..."
Abstract
-
Cited by 11 (3 self)
- Add to MetaCart
Lehman’s laws and the quantitative models related to them seek to encapsulate empirical generalisations about E-type program evolution. Such modelling is hampered by insufficient knowledge about the mechanisms at work and their parameters. Qualitative reasoning is an approach that tackles lack of precise knowledge by reasoning at a more abstract level than one does in quantitative modelling. This paper focuses on the introduction of qualitative reasoning to the study of software evolution. The paper reports on the derivation of qualitative versions from two existing quantitative models of the software evolution process and indicate how this has lead to identification of previously unrecognised behaviours. A qualitative model recently proposed is also discussed. The paper shows how qualitative trend abstraction enables a high level of abstraction analysis of empirical data and that, at this level, the empirical patterns observed in several different software systems display similarities. Finally, we compare the qualitative simulation outputs of the three models to the abstracted empirical trends and outline plans for further investigation. One lesson learnt from this investigation is that in empirical studies of software evolution one needs investigative methods that are compatible with the nature of the phenomenon and that can cope with the sparseness of the empirical data. Paradoxically, higher level modelling techniques, such as qualitative simulation, can lead to more solid findings and conclusions than conventional quantitative methods.
An Exploratory Study of the Evolution of Communicated Information about the Execution of
"... focuses on understanding the dynamic nature of software systems. Such research makes use of automated instrumentation and profiling techniques after fact, i.e., without considering domain knowledge. In this paper, we turn our attention to another source of dynamic information, i.e., the Communicated ..."
Abstract
-
Cited by 7 (5 self)
- Add to MetaCart
(Show Context)
focuses on understanding the dynamic nature of software systems. Such research makes use of automated instrumentation and profiling techniques after fact, i.e., without considering domain knowledge. In this paper, we turn our attention to another source of dynamic information, i.e., the Communicated Information (CI) about the execution of a software system. Major examples of CI are execution logs and system events. They are generated from statements that are inserted intentionally by domain experts (e.g., developers or administrators) to convey crucial points of interest. The accessibility and domain-driven nature of the CI make it a valuable source for studying the evolution of a software system. In a case study on one large open source and one industrial software system, we explore the concept of CI and its evolution by mining the execution logs of these systems. Our study illustrates the need for better traceability techniques between CI and the Log Processing Apps that analyze the CI. In particular, we find that the CI changes at a rather high rate across versions, leading to fragile Log Processing Apps. 40 % to 60 % of these changes can be avoided and the impact of 15 % to 50 % of the changes can be controlled through the use of the robust analysis techniques by Log Processing Apps. We also find that Log Processing Apps that track implementation-level CI (e.g., performance analysis) are more fragile than Log Processing Apps that track domain-level CI (e.g., workload modeling), because the implementation-level CI is often short-lived. Index Terms—Reverse engineering, Software evolution, Communicated information, Execution log analysis
Collaborating Within–not Through–Email: Users Reinvent a Familiar Technology
- Computer Supported Cooperative Work (CSCW), Poster
, 2002
"... ABSTRACT We usually think about email as a single-user application that allows people to communicate through their email with other users. The people in our study used email differently: as a locale for collaboration within the same mailbox. We describe two ethnographic studies. The first study exa ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
(Show Context)
ABSTRACT We usually think about email as a single-user application that allows people to communicate through their email with other users. The people in our study used email differently: as a locale for collaboration within the same mailbox. We describe two ethnographic studies. The first study examined how executives and assistants shared the executive's mailbox. The second study examined how larger teams or groups shared a single mailbox to conduct a work operation. These studies illustrate reinvention of technology by users, and argue for increased flexibility in email tools.
ANALYZING THE CONCEPTUAL COHERENCE OF COMPUTING APPLICATIONS THROUGH ONTOLOGICAL EXCAVATION
, 2004
"... We are investigating metrics for measuring the usefulness of computing applications relative to a specific use context. We define “usefulness” as “the extent to which an application’s features succeed in assisting a set of users to achieve a set of goals, relative to the amount of effort required to ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We are investigating metrics for measuring the usefulness of computing applications relative to a specific use context. We define “usefulness” as “the extent to which an application’s features succeed in assisting a set of users to achieve a set of goals, relative to the amount of effort required to engage those features.” We define a feature as a user-accessible behavior or service implemented by a computing application. Computing applications embody and operationalize a set of concepts that correlate to concepts in the domain of the user. The degree to which the application’s concepts and the user’s concepts agree is its conceptual fitness. We believe that applications with high conceptual fitness to a particular use context will also be perceived as useful by the users in this context. We have chosen in this work to study the problem of measuring conceptual fitness from the application side using conceptual coherence as our unit of interest. Conceptual coherence is an attribute of conceptual integrity, described by Fred Brooks as the property of a system designed under a unified and coordinated set of design ideas. It is the property of a computing application that measures the degree to which that application’s
An Overview of Some Lessons Learnt in FEAST
, 2002
"... Introduction Juan F Ramil Computing Dept., Faculty of Maths & Computing The Open University, Walton Hall, Milton Keynes MK7 6AA, U.K. j.f. ramilopen.ac.uk The FEAST (Feedback, Evolution And Software Technology) project was set up in October 1996 to investigate the feedback nature of softwar ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Introduction Juan F Ramil Computing Dept., Faculty of Maths & Computing The Open University, Walton Hall, Milton Keynes MK7 6AA, U.K. j.f. ramilopen.ac.uk The FEAST (Feedback, Evolution And Software Technology) project was set up in October 1996 to investigate the feedback nature of software evolution processes and its practical implications [leh96]. The hypothesis underlying this project stated that to improve real world software processes one must take explicitly into account the multi-loop feedback structure of such processes [leh94,98a]. Feedback is intrinsic to the evolution of E-type programs. Though initially intended to investigate this hypothesis and its practical implications, the project was broadened to study software evolution as aphenomenon in its own right. With the conclusion of FEAST/1 in September 1998, a follow on investigation, FEAST/2, [leh98b] was launched in April 1999. This extension terminated in March 2001, though the Imperial College based group continu