Forrest Shull's research while affiliated with Carnegie Mellon University and other places

What is this page?


This page lists the scientific contributions of an author, who either does not have a ResearchGate profile, or has not yet added these contributions to their profile.

It was automatically created by ResearchGate to create a record of this author's body of work. We create such pages to advance our goal of creating and maintaining the most comprehensive scientific repository possible. In doing so, we process publicly available (personal) data relating to the author as a member of the scientific community.

If you're a ResearchGate member, you can follow this page to keep up with this author's work.

If you are this author, and you don't want us to display this page anymore, please let us know.

Publications (187)


Technical Debt Management: The Road Ahead for Successful Software Delivery
  • Conference Paper

May 2023

·

32 Reads

·

2 Citations

·

·

·

[...]

·

Forrest Shull
Share

Fig. 1 Research strategy
Fig. 2 Results of the human elicitation of TD items (adapted from [51])
Fig. 3 Results of the tools compared to human elicitation (adapted from [51])
Characterization of the participants
Coding schema
Understanding automated and human-based technical debt identification approaches-a two-phase study
  • Article
  • Full-text available

June 2019

·

158 Reads

·

18 Citations

Journal of the Brazilian Computer Society

The technical debt (TD) concept inspires the development of useful methods and tools that support TD identification and management. However, there is a lack of evidence on how different TD identification tools could be complementary and, also, how human-based identification compares with them. To understand how to effectively elicit TD from humans, to investigate several types of tools for TD identification, and to understand the developers’ point of view about TD indicators and items reported by tools. We asked developers to identify TD items from a real software project. We also collected the output of three tools to automatically identify TD and compared the results in terms of their locations in the source code. Then, we collected developers’ opinions on the identification process through a focus group. Aggregation seems to be an appropriate way to combine TD reported by developers. The tools used cannot help in identifying many important TD types, so involving humans is necessary. Developers reported that the tools would help them to identify TD faster or more accurately and that project priorities and current development activities are important to be considered together, along with the values of principal and interest, when deciding to pay off a debt. This work contributes to the TD landscape, which depicts an understanding between different TD types and how they are best discovered.

Download


Are Delayed Issues Harder to Resolve? Revisiting Cost-to-Fix of Defects throughout the Lifecycle

August 2017

·

1,307 Reads

·

24 Citations

Empirical Software Engineering

Many practitioners and academics believe in a delayed issue effect (DIE); i.e. the longer an issue lingers in the system, the more effort it requires to resolve. This belief is often used to justify major investments in new development processes that promise to retire more issues sooner. This paper tests for the delayed issue effect in 171 software projects conducted around the world in the period from 2006--2014. To the best of our knowledge, this is the largest study yet published on this effect. We found no evidence for the delayed issue effect; i.e. the effort to resolve issues in a later phase was not consistently or substantially greater than when issues were resolved soon after their introduction. This paper documents the above study and explores reasons for this mismatch between this common rule of thumb and empirical data. In summary, DIE is not some constant across all projects. Rather, DIE might be an historical relic that occurs intermittently only in certain kinds of projects. This is a significant result since it predicts that new development processes that promise to faster retire more issues will not have a guaranteed return on investment (depending on the context where applied), and that a long-held truth in software engineering should not be considered a global truism.




Exploring language support for immutability

May 2016

·

101 Reads

·

34 Citations

Programming languages can restrict state change by preventing it entirely (immutability) or by restricting which clients may modify state (read-only restrictions). The benefits of immutability and read-only restrictions in software structures have been long-argued by practicing software engineers, researchers, and programming language designers. However, there are many proposals for language mechanisms for restricting state change, with a remarkable diversity of techniques and goals, and there is little empirical data regarding what practicing software engineers want in their tools and what would benefit them. We systematized the large collection of techniques used by programming languages to help programmers prevent undesired changes in state. We interviewed expert software engineers to discover their expectations and requirements, and found that important requirements, such as expressing immutability constraints, were not reflected in features available in the languages participants used. The interview results informed our design of a new language extension for specifying immutability in Java. Through an iterative, participatory design process, we created a tool that reflects requirements from both our interviews and the research literature.


Keeping Ahead of Our Adversaries

May 2016

·

21 Reads

·

6 Citations

IEEE Software

Every software system is potentially vulnerable in ways that aren't always imagined during development. White-collar crime involving data breaches are rampant, and governments are investigating the potential for terrorist attacks on power grids, airplanes, and other public services. Technology is a double-edged blade: although computers let us pursue ever-more-impressive innovations, we're likewise subjected to growing possibilities for abuse. So, how do we build secure products that are hardened against adversarial attacks? The article provides a look at this topic.


The Future of Software Engineering

January 2016

·

92 Reads

·

7 Citations

IEEE Software

This special issue offers a range of perspectives on software engineering's future from professionals working around the world in diverse areas of software. The content ranges from detailed technical articles about the research areas behind today's trends to shorter essays and opinion pieces from folks working to sharpen the focus of their own visions of that future. The Web extra at https://youtu.be/LnSHGDl9O7U is an audio recording of st Shull and Anita Carleton of the Software Engineering Institute and Rafael Prikladnicki of Pontificia Universidade Catolica do Rio Grande do Sul talking about the authors, articles, and discussions that went into the IEEE Software January/February 2016 theme issue on the future of software engineering.


The Computational Research and Engineering Acquisition Tools and Environments (CREATE) Program

January 2016

·

45 Reads

·

7 Citations

Computing in Science & Engineering

Physics-based high-performance computing (HPC) engineering software applications are proving to highly effective for the development of complex innovative products such as automobiles, airplanes, and microprocessors. Over the next year and a half, CiSE will feature three issues describing the US Department of Defense (DoD) High Performance Computing Modernization Program (HPCMP) Computational Research and Engineering Acquisition Tools and Environments (CREATE) program. CREATE was launched in 2006 to develop and deploy a set of multiphysics HPC software applications to help the DoD acquisition community (government and industry) develop innovative military air vehicle, naval vessel, and radio frequency antenna systems.


Citations (75)


... Different studies (e.g., [4], [5], [6]) have reported that software development time is often wasted due to technical debt ranging from 23% up to 42%. So, technical debt may directly affect software development by reducing development speed and increasing maintenance costs now or in the future [7]. ...

Reference:

Towards Measuring the Impact of Technical Debt on Lead Time: An Industrial Case Study
Technical Debt Management: The Road Ahead for Successful Software Delivery
  • Citing Conference Paper
  • May 2023

... Please note that we prepared a short workshop for the developers in order to present the technical debt metaphor and demonstrated the self-assessment process. We rely on the research findings, which state a connection between the identified technical debt items and the ownership of the source code [25]. The developers were asked to report the title, description, technical debt type and sub-type (closed selection), and assessed effort to mediate for every technical debt item. ...

Understanding automated and human-based technical debt identification approaches-a two-phase study

Journal of the Brazilian Computer Society

... Mixed-methods approaches to persona creation generally begin with qualitative techniques in the initial phase of the process. This includes methods such as interviews, observations, and field studies, followed by the application of quantitative techniques for data analysis (Mesgari et al., 2019;Mead et al., ). Additionally, personas can be generated through quantitative methods by either using secondary sources (e.g., forum posts, user reviews) (Rahimi and Cleland-Huang, 2014) or employing questionnaires to gather substantial amounts of data for persona generation (Schafer et al., 2019). ...

Crowd Sourcing the Creation of Personae Non Gratae for Requirements-Phase Threat Modeling

... To help practitioners with deciding which sources to start reading first, we assessed the popularity of papers to find the most popular sources. In the academic world, citations are the de-facto metric for this purpose and have been used in many studies, e.g., a recent IEEE Software paper [67]. We list in Table 5 and Table 6 the top 5 highly-cited papers based on two metrics: (1) absolute citation values, and (2) normalized citations (average citations per year). ...

Voice Of Evidence: A look back
  • Citing Article
  • July 2017

IEEE Software

... Additionally, it has been found that as project budgets increase, there is a temporary decrease in the success rate of the project [2]. Humphrey investigates the underlying causes of project failures and conducts a comprehensive analysis of the factors that should be considered for improving the efficacy of software projects on a large scale [3,4]. The study revealed that budgets below $750,000 yield a success rate of approximately 55%. ...

Are Delayed Issues Harder to Resolve? Revisiting Cost-to-Fix of Defects throughout the Lifecycle

Empirical Software Engineering

... Coblenz et al. [5] conducted interviews with professional developers and found that participants stated that incorrect state mutations are a major source of bugs in programs. For example, an object thought to be immutable would be changed by some other object, perhaps because of optimization by reusing references instead of using immutable copies. ...

Exploring language support for immutability
  • Citing Conference Paper
  • May 2016

... [41] Cyber operations could qualify as an armed attack if its "scale and effects" are comparable to that of an armed attack, Tallinn 2.0 provides a helpful framework to analyze whether such a cyber operation constitutes an armed attack. [42] The right to self-defence would justify weaponized honeypots that might otherwise be themselves considered a use of force in violation of the UN Charter. However, actions taken in self-defence must be limited to those necessary to repel the attack and proportionate to the attack and must cease when the attack is complete. ...

Keeping Ahead of Our Adversaries
  • Citing Article
  • May 2016

IEEE Software

... Most continuous data observations in our experiments did not follow a normal distribution, as determined by the Shapi-ro-Wilk test. We chose the Wilcoxon/Mann-Whitney non-parametric signed-rank paired test, which does not presume normal distributions because we also deal with ordinal data in certain instances Shull et al. (2008). For statistical significance, we adopted the conventional confidence level of 95%; thus, p-values below 0.05 are considered significant in our analyses. ...

Guide to Advanced Empirical Software Engineering
  • Citing Book
  • January 2008

... Mathematician Alan Perlis, the first recipient of the Turin Award, described the relationship between computers and humans as one of a youth in endless puberty but constantly growing out of his clothes [27]. Our lives have been heavily influenced and interfered by software, and though the discipline of software engineering is quite new, society has been seen to be maturing. ...

The Future of Software Engineering
  • Citing Article
  • January 2016

IEEE Software

... Vehicle dynamics in the VANE are modeled using the Mercury package from the Computational Research and Engineering Acquisition Tools and Environments Ground Vehicles program (Post 2016). Mercury is built on the Chrono dynamics engine (Tasora 2015) and provides a high-fidelity, physics-based software tool for conducting simulations of vehicle mobility. ...

The Computational Research and Engineering Acquisition Tools and Environments (CREATE) Program
  • Citing Article
  • January 2016

Computing in Science & Engineering