Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Desmond Greer is active.

Publication


Featured researches published by Desmond Greer.


international conference on software engineering advances | 2009

A Software Requirements Change Source Taxonomy

Sharon McGee; Desmond Greer

Requirements changes during software development pose a risk to cost, schedule and quality while at the same time providing an opportunity to add value. Provision of a generic change source taxonomy which makes the distinction between factors contributing to requirements uncertainty and events that trigger change will support requirements change risk visibility, and also facilitate richer recording of change data. In this paper we present a collaborative study to investigate and support the management of software requirements volatility within the development lifecycle. Previously published change ‘causes’ are elicited from the literature, consolidated using expert knowledge and classified using card sorting. The resulting change trigger taxonomy constructs were initially validated using a small set of requirements change data, and deemed sufficient and practical as a means to collect common requirements change source statistics across multiple projects.


Empirical Software Engineering | 2017

Naming the pain in requirements engineering

D. Méndez Fernández; Stefan Wagner; Marcos Kalinowski; Michael Felderer; P. Mafra; Antonio Vetro; Tayana Conte; Marie-Therese Christiansson; Desmond Greer; Casper Lassenius; Tomi Männistö; M. Nayabi; Markku Oivo; Birgit Penzenstadler; Dietmar Pfahl; Rafael Prikladnicki; Guenther Ruhe; André Schekelmann; Sagar Sen; Rodrigo O. Spínola; Ahmet Tuzcu; J. L. de la Vara; Roelf J. Wieringa

Requirements Engineering (RE) has received much attention in research and practice due to its importance to software project success. Its interdisciplinary nature, the dependency to the customer, and its inherent uncertainty still render the discipline difficult to investigate. This results in a lack of empirical data. These are necessary, however, to demonstrate which practically relevant RE problems exist and to what extent they matter. Motivated by this situation, we initiated the Naming the Pain in Requirements Engineering (NaPiRE) initiative which constitutes a globally distributed, bi-yearly replicated family of surveys on the status quo and problems in practical RE. In this article, we report on the qualitative analysis of data obtained from 228 companies working in 10 countries in various domains and we reveal which contemporary problems practitioners encounter. To this end, we analyse 21 problems derived from the literature with respect to their relevance and criticality in dependency to their context, and we complement this picture with a cause-effect analysis showing the causes and effects surrounding the most critical problems. Our results give us a better understanding of which problems exist and how they manifest themselves in practical environments. Thus, we provide a first step to ground contributions to RE on empirical observations which, until now, were dominated by conventional wisdom only.


Requirements Engineering | 1999

Prioritisation of system changes using cost-benefit and risk assessments

Desmond Greer; David W. Bustard; T. Sunazuka

This paper proposes an approach to the prioritisation of system changes that takes account of the relative costs and benefits of those changes and the risks that they reduce or introduce. This is part of the SERUM methodology (Software Engineering Risk: Understanding and Management), which is being developed to help identify effective ways of using risk analysis and control in software production. SERUM introduces risk management at the initial business analysis stage of requirements investigation, and assumes an evolutionary approach to software delivery. Prioritisation is determined from five factors: benefits, costs and risk exposure in the current system, target system, and development process. The relative importance of these factors is adjustable. Results from a case study at NEC illustrate the prioritisation process and a supporting software tool is also described.


evaluation and assessment in software engineering | 2009

Software project initiation and planning - an empirical study

Desmond Greer; Reidar Conradi

This study describes a study of 14 software companies, on how they initiate and pre-plan software projects. The aim was to obtain an indication of the range of planning activities carried out. The study, using a convenience sample, was carried out using structured interviews, with questions about early software project planning activities. The study offers evidence that an iterative and incremental development process presents extra difficulties in the case of fixed-contract projects. The authors also found evidence that feasibility studies were common, but generally informal in nature. Documentation of the planning process, especially for project scoping, was variable. For incremental and iterative development projects, an upfront decision on software architecture was shown to be preferred over allowing the architecture to just ‘emerge’. There is also evidence that risk management is recognised but often performed incompletely. Finally appropriate future research arising from the study is described.


Innovations in Systems and Software Engineering | 2013

Towards optimal software engineering: learning from agile practice

David W. Bustard; George Wilkie; Desmond Greer

In essence, optimal software engineering means creating the right product, through the right process, to the overall satisfaction of everyone involved. Adopting the agile approach to software development appears to have helped many companies make substantial progress towards that goal. The purpose of this paper is to clarify that contribution from comparative survey information gathered in 2010 and 2012. The surveys were undertaken in software development companies across Northern Ireland. The paper describes the design of the surveys and discusses optimality in relation to the results obtained. Both surveys aimed to achieve comprehensive coverage of a single region rather than rely on a voluntary sample. The main outcome from the work is a collection of insights into the nature and advantages of agile development, suggesting how further progress towards optimality might be achieved.


systems, man and cybernetics | 2002

Collaborative risk management

Desmond Greer; David W. Bustard

The SERUM methodology, developed by the authors, provides a framework for risk management based on a broad systems approach to software engineering. For its effective operation, all those affected by risk, or contributing to its management, need to be aware of the threats involved and how they are being addressed. Such awareness requires good ongoing communication among these stakeholders. This paper suggests how the Internet might support that communication. The approach, RA!SE (Risk Alert! for Software Engineering), assumes that software engineering data is held centrally in an organization, with stakeholders given access to relevant development and operational information through a Web-based communication tool, The paper clarifies the need for collaborative risk management and develops requirements for tool support. Details of a resulting prototype are presented, and illustrated with risk data from a previous study.


Journal of Systems and Software | 2016

Technical debt reduction using search based automated refactoring

Michael Mohan; Desmond Greer; Paul McMullan

4 software metric combinations were tested using an automated refactoring tool.Differences in scores between the original and refactored programs were compared.In 4 out of 6 cases, the technical debt function has a higher quality increase.2 of the metric functions showed little to no increase in score. Software refactoring has been recognized as a valuable process during software development and is often aimed at repaying technical debt. Technical debt arises when a software product has been built or amended without full care for structure and extensibility. Refactoring is useful to keep technical debt low and if it can be automated there are obvious efficiency benefits. Using a combination of automated refactoring techniques, software metrics and metaheuristic searches, an automated refactoring tool can improve the structure of a software system without affecting its functionality. In this paper, four different refactoring approaches are compared using an automated software refactoring tool. Weighted sums of metrics are used to form different fitness functions that drive the search process towards certain aspects of software quality. Metrics are combined to measure coupling, abstraction and inheritance and a fourth fitness function is proposed to measure reduction in technical debt. The 4 functions are compared against each other using 3 different searches on 6 different open source programs. Four out of the 6 programs show a larger improvement in the technical debt function after the search based refactoring process. The results show that the technical debt function is useful for assessing improvement in quality.


integrating technology into computer science education | 2017

Learning to Program: Choose Your Lecture Seat Carefully!

Aidan McGowan; Philip Hanna; Desmond Greer; John Busch

Much previous research has indicated that where a student sits in a university lecture theatre has a correlation with their final grade. Frequently those students that sit regularly in the front rows have been reported to achieve the highest grades. However most of the research restricted student seat movement, which is both unnatural and may have adversely influenced the research results. A previously reported unique unrestricted seat tracking investigation by the authors of this paper used a web and mobile software tracking application (PinPoint) to investigate student seating related performances in a 12 week Java programming university module. The PinPoint investigation concluded that the best assessment results were achieved by the students in the front rows and that assessment scores degraded the further students sat from the front. Additionally while the most engaged students were found to regularly sit at the front the same was not true for the most academically able or those with the greatest prior programming experience. This paper presents a further analysis of the PinPoint data, focusing on assessment performances within similar groups (academic ability, engagement and prior programming experiences) and additionally presents results of a temporal movement study and a qualitative analysis of the group and individual student seating decisions. It concludes that a comparison of student assessment performances within each of the peer groups, in every instance, found that the front row students outperformed their peers sitting further back. This strongly suggests that there is a benefit to sitting at the front regardless of academic ability, engagement or prior subject knowledge. It also points to other untested factors that may be positively influencing the front row performances.


Journal of Software Engineering Research and Development | 2018

A survey of search-based refactoring for software maintenance

Michael Mohan; Desmond Greer

This survey reviews published materials related to the specific area of Search-Based Software Engineering that concerns software maintenance and, in particular, refactoring. The survey aims to give a comprehensive review of the use of search-based refactoring to maintain software. Fifty different papers have been selected from online databases to analyze and review the use of search-based refactoring in software engineering. The current state of the research is analyzed and patterns in the studies are investigated in order to assess gaps in the area and suggest opportunities for future research. The papers reviewed are tabulated in order to aid researchers in quickly referencing studies. The literature addresses different methods using search-based refactoring for software maintenance, as well as studies that investigate the optimization process and discuss components of the search. There are studies that analyze different software metrics, experiment with multi-objective techniques and propose refactoring tools for use. Analysis of the literature has indicated some opportunities for future research in the area. More experimentation of the techniques in an industrial environment and feedback from software developers is needed to support the approaches. Also, recent work with multi-objective techniques has shown that there are exciting possibilities for future research using these techniques with refactoring. This survey is beneficial as an introduction for any researchers aiming to work in the area of Search-Based Software Engineering with respect to software maintenance and will allow them to gain an understanding of the current landscape of the research and the insights gathered.


product focused software process improvement | 2017

MultiRefactor: Automated Refactoring To Improve Software Quality

Michael Mohan; Desmond Greer

In this paper, a new approach is proposed for automated software maintenance. The tool is able to perform 26 different refactorings. It also contains a large selection of metrics to measure the impact of the refactorings on the software and six different search based optimization algorithms to improve the software. This tool contains both mono-objective and multi-objective search techniques for software improvement and is fully automated. The paper describes the various capabilities of the tool, the unique aspects of it, and also presents some research results from experimentation. The individual metrics are tested across five different codebases to deduce the most effective metrics for general quality improvement. It is found that the metrics that relate to more specific elements of the code are more useful for driving change in the search. The mono-objective genetic algorithm is also tested against the multi-objective algorithm to see how comparable the results gained are with three separate objectives. When comparing the best solutions of each individual objective the multi-objective approach generates suitable improvements in quality in less time, allowing for rapid maintenance cycles.

Collaboration


Dive into the Desmond Greer's collaboration.

Top Co-Authors

Avatar

Liang Xiao

University of Southampton

View shared research outputs
Top Co-Authors

Avatar

Michael Mohan

Queen's University Belfast

View shared research outputs
Top Co-Authors

Avatar

Philip Hanna

Queen's University Belfast

View shared research outputs
Top Co-Authors

Avatar

Aidan McGowan

Queen's University Belfast

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

John Busch

Queen's University Belfast

View shared research outputs
Top Co-Authors

Avatar

Philip S. Taylor

Queen's University Belfast

View shared research outputs
Top Co-Authors

Avatar

Sharon McGee

Queen's University Belfast

View shared research outputs
Top Co-Authors

Avatar

Sagar Sen

Simula Research Laboratory

View shared research outputs
Top Co-Authors

Avatar

Gerry Coleman

Dundalk Institute of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge