Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Juan Fernández-Ramil

dblp:f/JuanFernandezRamil · also Juan F. Ramil · DBLP profile ↗
← Back
20ranked-venue papers
6as first author
0since 2021 · last 2011
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 19 · 6 first-authorDatabases, data management, data science and information retrieval · 1Theory of computation · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
3 papers
Software maintenance and evolution · 68% Empirical software engineering · 32%

Topics — the 5 heaviest of 5, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software maintenance and evolution
software evolution
0.122007
An Empirical Study of the Evolution of an Agile-Developed Software System · ICSE 2007
Effort estimation from change records of evolving software (poster) · ICSE 2000
Software maintenance and evolution
refactoring
0.112007
An Empirical Study of the Evolution of an Agile-Developed Software System · ICSE 2007
Empirical software engineering
software effort estimation
0.122000
Effort estimation from change records of evolving software (poster) · ICSE 2000
Algorithmic cost estimation for software evolution · ICSE 2000
Empirical software engineering › software engineering research methodology
industrial case study
0.012000
Effort estimation from change records of evolving software (poster) · ICSE 2000
Empirical software engineering
software metrics
0.012000
Algorithmic cost estimation for software evolution · ICSE 2000

Methods — techniques the papers use, named apart from their topics

progress and productivity records · 0.1observational study · 0.1predictive modeling · 0.0
YearPublicationVenuePosition
2011 In memory of Manny Lehman, 'Father of Software Evolution'
abstract
The definitive version can be found at : http://onlinelibrary.wiley.com/ Copyright Wiley [Full text of this article is not available in the UHRA]
Gerardo Canfora, Darren Dalcher, David Raffo, Victor R. Basili, Juan Fernández-Ramil, Václav Rajlich, Keith H. Bennett, Elizabeth Burd, Malcolm Munro, Sophia Drossopoulou, Barry W. Boehm, Susan Eisenbach, Greg J. Michaelson, Peter Ross, Paul Wernick, Dewayne E. Perry
J. Softw. Maintenance Res. Pract.5
2008 The evolution of Eclipse
abstract
We present a metrics-based study of the evolution of Eclipse, an open source integrated development environment, based on data from seven major releases, from releases 1.0 to 3.3. We investigated whether three of the laws of software evolution were supported by the data. We found that Eclipse displayed continual change and growth, hence supporting laws 1 and 6. Six size indicators, out of eight, closely followed trend models. Four were linear and two superlinear. We found evidence of increasing complexity (law 2) in only two indicators, out of five. At subproject level, size and complexity are not distributed uniformly, and subproject size can be modelled as a negative exponential function of the rank position. We encountered a range of different size and complexity trends across subprojects. Our approach and results can help in evaluating the future evolution of Eclipse, the evolution of other systems and in performing comparisons.
Tom Mens, Juan Fernández-Ramil, Sylvain Degrandsart
ICSM2
2007 An Empirical Study of the Evolution of an Agile-Developed Software System
abstract
We have analyzed evolution patterns over two and a half years for a system developed using extreme programming. We find that the system shows a smooth pattern of growth overall, that (McCabe) code complexity is low, and that the relative amount of complexity control work (e.g. refactoring) is higher than in other systems we have studied. To interpret these results, we have drawn on qualitative data including the results of an observational study, records of progress and productivity, and comments on our findings from team members.
Andrea Capiluppi, Juan Fernández-Ramil, J. Higman, Helen Sharp, Neil Smith
ICSE2
2007 A model to predict anti-regressive effort in Open Source Software
abstract
Accumulated changes on a software system are not uniformly distributed: some elements are changed more often than others. For optimal impact, the limited time and effort for complexity control, called anti-regressive work, should be applied to the elements of the system which are frequently changed and are complex. Based on this, we propose a maintenance guidance model (MGM) which is tested against real-world data. MGM takes into account several dimensions of complexity: size, structural complexity and coupling. Results show that maintainers of the eight open source systems studied tend, in general, to prioritize their anti-regressive work in line with the predictions given by our MGM, even though, divergences also exist. MGM offers a history-based alternative to existing approaches to the identification of elements for anti-regressive work, most of which use static code characteristics only.
Andrea Capiluppi, Juan Fernández-Ramil
ICSM2
2007 Comparing Web Services with other Software Components
abstract
Software metrics are vital for the management of software development, especially when a new technology is being adopted and established practices have yet to emerge. As a kind of software components, Web service technology has flourished and attracted a flurry of research activities. Despite the vast amount of research on mechanisms of Web services, there have been little investigations of the overall nature of existing Web services from a software component point of view. This paper is the first attempt to compare Web services with other software components in terms of established metrics in software engineering, including object oriented metrics and interface metrics. In this study we conclude that there are statistical differences between the interface, variable name and other OO metrics when one compares a large sample of Web services with typical OO systems. The distributions obtained give insight into the typical characteristics of Web services and can be used to identify candidates for wrapping into Web services.
Yijun Yu 0001, Jianguo Lu, Juan Fernández-Ramil, Phil Yuan
ICWS3
2004 Analyzing the Evolution of Large-Scale Software
abstract
Analyzing the Evolution of Large-Scale SoftwareThis special issue reports on approaches that address the issue of analyzing and visualizing the evolution of large-scale software.These approaches were discussed during the IEEE Workshop on Evolution of Large-Scale Industrial Software Evolution (ELISA), which was co-located with the International Conference on Software Maintenance in Amsterdam in September 2003.After a thorough review process, two articles have been selected for this special issue.The techniques proposed and illustrated in these articles allow us to gain a deeper insight into the nature of the evolution of large-scale software. THE WORKSHOPThe IEEE ELISA workshop was co-located with the International Conference on Software Maintenance in Amsterdam in September 2003.It was organized by Tom Mens, Juan F. Ramil, Michael W. Godfrey and Brian Down.The main theme of the workshop was planned to be the evolution of large-scale industrial software.Wider themes, such as the evolution of open source software, were also well represented in the workshop submissions.The goal was to achieve a deeper and wider insight into the problems posed by the evolution of software and the possible technological and managerial solutions.This goal is particularly relevant in current-day software practice, since size issues compound the challenges to achieving disciplined software evolution.Industrial and open-source software generally consist of numerous software artifacts that need to be evolved in a harmonious fashion, change requests that arrive more quickly than can be reasonably implemented, and the involvement of several teams implementing the evolution.Typical examples of large-scale software include air traffic control, popular PC operating systems, and telephone switch software.The challenges posed by the continual evolution of these and similar software clearly challenge the current state-of-the-art.In total, the ELISA workshop received 19 workshop submissions, nine of which were short papers and 10 were full papers: 15 of the submissions were classified as research papers, the remaining four as experience papers.One submission was rejected because it was considered as being of insufficient quality.
Tom Mens, Juan Fernández-Ramil, Michael W. Godfrey
J. Softw. Maintenance Res. Pract.2
2003 Continual Resource Estimation for Evolving Software
abstract
A resource estimation approach, specifically oriented towards long-lived software being actively evolved, is proposed and investigated. The approach seeks to be coherent with empirically grounded knowledge including the observation that the software progresses through a series of stages during its lifetime and that a distinctive model characterizes the economics of each individual stage. Instead of a single estimation model for the whole lifetime of the software, the approach calibrates models to each stage. Its feasibility was assessed in case studies using industrial data, yielding accuracy (in magnitude of relative error - MRE) between 20 and 33 percent.
Juan Fernández-Ramil
ICSM1
2003 Software evolution - Background, theory, practice
Meir M. Lehman, Juan Fernández-Ramil
Inf. Process. Lett.2
2002 Laws of Software Evolution and Their Empirical Support
abstract
Empirical support for the laws of software evolution cannot be rigorously tested as long as they are stated in natural language [1, 2]. Let’s consider the laws that directly relate to measurable phenomena (law 1 to 7) the eighth law “feedback system” is for the moment excluded of this discussion. Let’s assume that sufficient empirical data is available. One approach that has been used to assess the empirical support for the first seven laws uses quantitative models that are consistent with the laws. One fits such models to the empirical data and assesses the magnitude of the residuals. If these are small, the law will be supported by the data. If not, the law will remain unsupported. To illustrate this approach, let’s consider the 6th law “continuing growth”, which states that “the functional capability of E-type systems must be continually increased to maintain user satisfaction over the system lifetime”. Possible formal models of the law include the following: S(i) = a.i+b Eq. 1 S(i) = S(i-1)+e/[S(i-1)] Eq. 2 S(t) = t Eq. 3 where S represents the size of a system measured, for example, in number of modules, t is the age of the system, and i is the release sequence number. a, b, g, and e are parameters suitably chosen to minimise the fitting error. Eqs. 1-3 provide models of system growth. In fact, Eq. 1 replicates the linear growth pattern of OS 360 (rsn 1-19). Eqs. 2 and 3 replicate within segments the growth of systems studied in FEAST [3, 4]. However, Eqs. 1-3 imply additional detail than that in the statement of the 6 law. Each model prescribes a particular type of growth trajectory. The law prescribes none. For this reason none of the models in isolation will be sufficient if used with the sole purpose of testing the 6th law. Data suggesting a trajectory, different than that of Eqs. 1-3, as for example in [5], is still supportive of the law. Models such as those of Eqs. 1-3 in isolation are not proper tests. A workaround to this problem uses a formalism that considers the phenomenon at a higher level of abstraction than that implied by conventional quantitative modelling, such as qualitative differential equations (QDE) [6]. For example, the 6th law can be expressed in QDE form as: dS/dt = M(t) Eq. 4 M represents any monotonically increasing function. A simple test based on Eq. 4 evaluates S(t) – S(t-1) over the whole data set and checks whether they are greater than zero. If so, the data supports the law. Since a superimposed ripple have been observed in growth patterns [1], data smoothing techniques may have to be applied before the test. However, the fuller potential of the qualitative simulation techniques becomes apparent if one considers that the laws are interrelated. The combined action of the forces implied by the laws may lead to more complex behaviours than monotonic increase or decrease. In order to address this, one can write several QDEs formalising several “measurable” laws. The resulting system of QDEs can be simulated [6, 7] and the outputs compared with that implied by empirical observations. This qualitative simulation approach accounts in a natural way for the fact that the laws are interrelated. Eq. 2 and 3 illustrate interrelationship to some extent. They imply positive but decreasing growth rate and in doing so are consistent with both the 2nd law “increasing complexity” and the 6th law. In applying the conventional quantitative approach, one requires the ingenuity of the model builders for identification of models that acknowledge more than one law. This is not simple. The use of qualitative simulation techniques, a topic for further research [7], are likely to facilitate assessment of joint support in a systematic way and at a higher level of abstraction. The eighth law has been justified based on several observations [1, 2]. Unfortunately, a direct rigorous test of its empirical support is difficult to achieve since the behaviours of even simple feedback systems have not been fully codified [8]. The first seven laws can be rationalised in terms of feedback loop structures in the total E-type evolution process [2]. Hence, positive support to any of the first seven laws provides a degree of support to the eighth law.
Juan Fernández-Ramil
ICSM1
2002 Behavioural modelling of long-lived evolution processes - some issues and an example
abstract
Abstract For reasons now well understood, application software that is regularly used for real‐world problem solving must be continually adapted and enhanced to maintain its fitness to an ever‐changing real world, its applications and application domains. This type of activity is termedprogressive. As evolution continues, the complexity (functional, structural) of the evolving system is likely to increase unless work, termedanti‐regressive, is undertaken to control and even reduce it. However, with progressive and anti‐regressive work naturally competing for the same pool of resources, management requires means to estimate the amount of work and resources to be applied to each of the two types. After providing a necessary background, the paper describes a systems dynamics model that can serve as the core of a tool to support decision making regarding the optimal personnel allocation over the system lifetime. The model is provided as an example of the use of formalisms in modelling the behaviour of the evolution process. Copyright © 2002 John Wiley & Sons, Ltd.
Meir M. Lehman, Goel Kahen, Juan Fernández-Ramil
J. Softw. Maintenance Res. Pract.3
2001 An Approach to Modelling Long-Term Growth Trends in Software Systems
abstract
Three related models of growth, consistent with the view that complexity constrains system growth, were fitted to empirical data relating to four software systems. Predictive accuracy of the models, measured in mean magnitude of relative error, ranges from approximately 2 to 17 percent of the quantitative data. The modelling approach emphasises simple models that, nevertheless, provide a basis for evolution planning and management tools. These and previous results suggest that it is meaningful to search for models of this kind, though the presence of discontinuities in the trends and the extent to which the latter are restricted to individual processes or specific domains need to be further investigated. The work presented has been pursued as part of the FEAST/2 (Feedback, Evolution And Software Technology) project.
Meir M. Lehman, Juan Fernández-Ramil, U. Sandler
ICSM2
2001 System dynamics modelling of software evolution processes for policy investigation: Approach and example
Goel Kahen, Meir M. Lehman, Juan Fernández-Ramil, Paul Wernick
J. Syst. Softw.3
2001 Types of software evolution and software maintenance
abstract
Abstract The past two decades have seen increasing sophistication in software work. Now and in the future, the work of both practitioners and researchers would be helped by a more objective and finer granularity recognition of types of software evolution and software maintenance activities as actually done. To these ends, this paper proposes a clarifying redefinition of the types of software evolution and software maintenance. The paper bases the proposed classification not on people's intentions but upon objective evidence of maintainers' activities ascertainable from observation of activities and artifacts, and/or a before and after comparison of the software documentation. The classification includes taking into account in a semi‐hierarchical manner evidence of the change or lack thereof in: (1) the software, (2) the documentation, (3) the properties of the software, and (4) the customer‐experienced functionality. A comparison is made with other classifications and typologies. The paper provides a classified list of maintenance activities and a condensed decision tree as a summary guide to the proposed evidence‐based classification of the types of software evolution and software maintenance. Copyright © 2001 John Wiley & Sons, Ltd.
Ned Chapin, Joanne E. Hale, Khaled M. Khan, Juan Fernández-Ramil, Wui-Gee Tan
J. Softw. Maintenance Res. Pract.4
2000 Algorithmic cost estimation for software evolution
abstract
This study addresses the problem of cost estimation in the context of software evolution by building a set of quantitative models and assessing their predictive power. The models aim at capturing the relationship between effort, productivity and a suite of metrics of software evolution extracted from empirical data sets.
Juan Fernández-Ramil
ICSE1
2000 Effort estimation from change records of evolving software (poster)
abstract
Algorithmic cost estimation in the context of software evolution is being addressed as part of the FEAST/2 project with encouraging results from an industrial case study.
Juan Fernández-Ramil, Meir M. Lehman
ICSE1
2000 Metrics of Software Evolution as Effort Predictors - A Case Study
abstract
Despite its importance, cost estimation in the context of continuing software evolution has been relatively unexplored. This paper addresses this omission by describing some models that predict effort as a function of a suite of metrics of software evolution. It presents a case study relating to the evolution of the kernel of a mainframe operating system. Six models based on eight different indicators of evolution activity are proposed, and their predictive power is examined and compared to that of two baseline models. Predictions with errors of the order of 20% of the actual values have been obtained from the models, when fitted to and tested against historical data over a segment of 10 years of the kernel's continuing evolution. The appropriateness of the proposed models as predictors appears to be restricted to homogeneous evolution segments, i.e. periods with relatively small variations in the level of effort applied. It was found that models based on coarse granularity measures, such as "subsystem counts", provided a mean magnitude of relative error which was similar to those based on finer alternatives, such as "module counts".
Juan Fernández-Ramil, Meir M. Lehman
ICSM1
2000 The FEAST Approach to Quantitative Process Modelling of Software Evolution Processes
Juan Fernández-Ramil, Meir M. Lehman, Goel Kahen
PROFES1
1999 Empirical Studies Applied to Software Process Models
David Raffo, Timo Kaltio, Derek Partridge, Keith Phalp, Juan Fernández-Ramil
Empir. Softw. Eng.5
1999 The impact of feedback in the global software process
Meir M. Lehman, Juan Fernández-Ramil
J. Syst. Softw.2
1998 Implications of Evolution Metrics on Software Maintenance
abstract
In the context of a hypothesis attributing the slow progress in achieving major global software process improvement, in part, to overlooking the role of feedback in that process, the FEAST/1 project is studying the impact of feedback on software evolution. Amongst its activities the project is analysing metrics of the evolution of several industrial systems, ranging from a financial transaction system to a very large real time system. The similarities which have emerged from a comparison of evolution metrics from several systems, support conclusions reached in a 1970s study of OS/360 evolution. The latest results suggest some refinement of earlier conclusions but indicate that both the metrics and the conclusions derived from them must be taken into account in the planning and implementation of successful software maintenance. Papers discussing the FEAST/1 results may accessed via the FEAST web page [fwp98].
Meir M. Lehman, Dewayne E. Perry, Juan Fernández-Ramil
ICSM3