Case Study Research in Software Engineering: Guidelines and Examples by Per Runeson, Martin Höst, Austen Rainer, Björn Regnell

Get full access to Case Study Research in Software Engineering: Guidelines and Examples and 60K+ other titles, with a free 10-day trial of O'Reilly.

There are also live events, courses curated by job role, and more.

INTRODUCTION

1.1 what is a case study.

The term “case study” appears every now and then in the title of software engineering research papers. These papers have in common that they study a specific case, in contrast to a sample from a specified population. However, the presented studies range from very ambitious and well-organized studies in the field of operations (in vivo) to small toy examples in a university lab (in vitro) that claim to be case studies. This variation creates confusion, which should be addressed by increased knowledge about case study methodology.

Case study is a commonly used research strategy in areas such as psychology, sociology, political science, social work, business, and community planning (e.g., [162, 196, 217]). In these areas, case studies are conducted with the objectives of not only increasing knowledge (e.g., knowledge about individuals, groups, and organizations and about social, political, and related phenomena) but also bringing about change in the phenomenon being studied (e.g. improving education or social care). Software engineering research has similar high-level objectives, that is, to better understand how and why software engineering should be undertaken and, with this knowledge, to seek to improve the software engineering process and the resultant software products.

There are different taxonomies used to classify research in software engineering. The term case study is used in parallel with terms like field study and observational ...

Get Case Study Research in Software Engineering: Guidelines and Examples now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.

Don’t leave empty-handed

Get Mark Richards’s Software Architecture Patterns ebook to better understand how to design components—and how they should interact.

It’s yours, free.

Cover of Software Architecture Patterns

Check it out now on O’Reilly

Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems every day.

software engineering case study

Case studies and examples

  • Browse All Articles
  • Newsletter Sign-Up

software engineering case study

  • 22 May 2024

Banned or Not, TikTok Is a Force Companies Can’t Afford to Ignore

It may be tempting to write off TikTok, the highly scrutinized social media app whose cat clips and dance videos propelled it to the mainstream. However, business leaders could learn valuable lessons about engaging consumers from the world's most-used platform, says Shikhar Ghosh in a case study.

software engineering case study

  • 22 Mar 2024
  • Research & Ideas

Open Source Software: The $9 Trillion Resource Companies Take for Granted

Many companies build their businesses on open source software, code that would cost firms $8.8 trillion to create from scratch if it weren't freely available. Research by Frank Nagle and colleagues puts a value on an economic necessity that will require investment to meet demand.

software engineering case study

  • 04 Apr 2022

Tech Hubs: How Software Brought Talent and Prosperity to New Cities

Software invention spurred the rapid ascent of six American tech hubs, helping them draw talent from even larger cities. Will the rise of remote work shake the status quo? Research by William Kerr. Open for comment; 0 Comments.

software engineering case study

  • 19 Jul 2020
  • Working Paper Summaries

Open Source Software and Global Entrepreneurship

Does more activity in open source software development lead to increased entrepreneurial activity and, if so, how much, and in what direction? This study measures how participation on the GitHub open source platform affects the founding of new ventures globally.

  • 22 Jun 2020

Iterative Coordination and Innovation

Do Agile methodologies promote innovation? Results of a field experiment with Google show that increasing the frequency and goal orientation of stand-up meetings reinforces integration and value but reduces specialization and novelty in outcomes.

software engineering case study

  • 21 Apr 2020

7 Successful Battle Strategies to Beat COVID-19

The Agile methodology used to speed complex software development is also helpful for managing decision-making in today's crisis environment, says Euvin Naidoo. Open for comment; 0 Comments.

software engineering case study

  • 24 Feb 2020

The Hidden Vulnerabilities of Open Source Software

The increasing use of open source software in most commercial apps has revolutionized software development—but also created hidden vulnerabilities, say Frank Nagle and Jenny Hoffman. Open for comment; 0 Comments.

  • 28 Aug 2019

Who Drives Digital Innovation? Evidence from the US Medical Device Industry

Major industries are undergoing a digital transformation, in which key aspects of new product development are migrating to a software-driven context. In the medical device industry, experience matters, as does the geographic clustering of new product development, which gives advantages to both new entrants and incumbent firms.

  • 22 Apr 2019

Government Technology Policy, Social Value, and National Competitiveness

This study examines the impact of a French law requiring government agencies to favor open source software (OSS) over proprietary software in technology procurement processes. Results suggest a cost-effective policy lever that countries can use to both create global social value and increase their own national competitiveness.

software engineering case study

  • 05 Sep 2018

The Hidden Benefit of Giving Back to Open Source Software

Firms that allow their software programmers to "give back" to the open source community on company time gain benefits—even though competitors might benefit too, says Frank Nagle. Open for comment; 0 Comments.

  • 05 Jul 2017

Designing an Agile Software Portfolio Architecture: The Impact of Coupling on Performance

This study deepens our understanding of how firms can better design software portfolio architectures to improve their agility. The authors examined data from over 1,000 different software applications and 3,000 dependencies between them. They found that indirect measures of coupling and dependency have more power in predicting IT agility than direct measures.

  • 09 Mar 2017

Exploring the Relationship Between Architecture Coupling and Software Vulnerabilities: A Google Chrome Case

Managing software vulnerabilities is a top issue in today’s society. By studying the Google Chrome codebase, the authors explore software metrics including architecture coupling measures in relation to software vulnerabilities. This paper adds new findings to research on software metrics and vulnerabilities, bringing the field closer to generalizable and conclusive results.

software engineering case study

  • 20 Jan 2016

Maybe Uber isn't God's Gift to Mankind

Benjamin G. Edelman discusses the potential negative effects of transportation network companies in the so-called sharing economy. Open for comment; 0 Comments.

  • 01 Oct 2015

Efficiencies and Regulatory Shortcuts: How Should We Regulate Companies like Airbnb and Uber?

With the rise of service technology platforms such as Uber, a new regulatory approach is needed providing more flexibility that ensures service providers, users and third parties are adequately protected.

  • 09 Apr 2014

Visualizing and Measuring Software Portfolio Architectures: A Flexibility Analysis

Contemporary business environments are constantly evolving, requiring continual changes to the software applications that support a business. Moreover, during recent decades, the sheer number of applications has grown significantly, and they have become increasingly interdependent. Many companies find that managing applications and implementing changes to their application portfolio architecture is increasingly difficult and expensive. Firms need a way to visualize and analyze the modularity of their software portfolio architectures and the degree of coupling between components. In this paper, the authors test a method for visualizing and measuring software portfolio architectures using data of a biopharmaceutical firm's enterprise architecture. The authors also use the measures to predict the costs of architectural change. Findings show, first, that the biopharmaceutical firm's enterprise architecture can be classified as core-periphery. This means that 1) there is one cyclic group (the "Core") of components that is substantially larger than the second largest cyclic group, and 2) this group comprises a substantial portion of the entire architecture. In addition, the classification of applications in the architecture (as being in the Core or the Periphery) is significantly correlated with architectural flexibility. In this case the architecture has a propagation cost of 23 percent, meaning almost one-quarter of the system may be affected when a change is made to a randomly selected component. Overall, results suggest that the hidden structure method can reveal new facts about an enterprise architecture. This method can aid the analysis of change costs at the software application portfolio level. Key concepts include: This method for architectural visualization could provide valuable input when planning architectural change projects (in terms of, for example, risk analysis and resource planning). The method reveals a "hidden" core-periphery structure, uncovering new facts about the architecture that could not be gained from other visualization procedures or standard metrics. Compared to other measures of complexity, coupling, and modularity, this method considers not only the direct dependencies between components but also the indirect dependencies. These indirect dependencies provide important input for management decisions. Closed for comment; 0 Comments.

  • 11 Jan 2010

Mixing Open Source and Proprietary Software Strategies

Open source and proprietary software development used to be competing strategies. Now software firms are experimenting with strategies that mix the two models. Researcher Gaston Llanes discusses recent research into these "mixed source" strategies. Key concepts include: Software companies are taking a "best of both worlds" approach by creating products that use a combination of OS and proprietary software code. The researchers wanted to get a clearer sense of when a profit-maximizing firm should adopt a mixed-source business model and what that model might look like under different circumstances. Results indicate recurring patterns and strategies that managers can take into consideration when setting strategy. Closed for comment; 0 Comments.

  • 25 Sep 2006

How Software Platforms Revolutionize Business

Cell phones, the Game Boy, and PCs are examples of products based upon software platforms—ecosystems where independent companies can provide products and services tied to the core technology. Playing in a software platform world can make you rich—ask ringtone creators—but it also demands special management skills that emphasize cooperation over competition. Professor Andrei Hagiu discusses his new book, Invisible Engines. Key concepts include: Software platforms have improved productivity and innovation in many industries, disrupted or destroyed others, and created entirely new businesses. Software platforms are powerful engines of change because of the malleability of code and of the fundamental functions they perform, which make it easy for them to march across industry boundaries; and because their multi-sided nature allows them to spawn vibrant ecosystems of complementors. Managing software platforms is about much more than creating technology. It takes skills in navigating cooperation and competition, building creative business models, and anticipating competition across industries. Closed for comment; 0 Comments.

  • 30 Apr 2001

Why Evolutionary Software Development Works

What is the best way to develop software? HBS professor Alan MacCormack discusses recent research proving the theory that the best approach is evolutionary. In this article from MIT Sloan Management Review, MacCormack and colleagues Marco Iansiti and Roberto Verganti uncover four practices that lead to successful Internet software development. Closed for comment; 0 Comments.

  • Software Engineering Tutorial
  • Software Development Life Cycle
  • Waterfall Model
  • Software Requirements
  • Software Measurement and Metrics
  • Software Design Process
  • System configuration management
  • Software Maintenance
  • Software Development Tutorial
  • Software Testing Tutorial
  • Product Management Tutorial
  • Project Management Tutorial
  • Agile Methodology
  • Selenium Basics
  • BCA 6th Semester Subjects and Syllabus (2023)

Computer Network Security

  • Network Security
  • A Model for Network Security
  • IPSec Architecture
  • Web Security Considerations
  • System Security

Information System Analysis Design and Implementation

  • Differences between System Analysis and System Design
  • Activities involved in Software Requirement Analysis
  • Types of Feasibility Study in Software Project Development
  • System Design Tutorial
  • User Interface Design - Software Engineering

Computer Aided Software Engineering (CASE)

  • Object-Oriented Analysis and Design(OOAD)
  • Dynamic modelling in object oriented analysis and design
  • Software Engineering | Software Project Management Complexities
  • Scope of e-Business : B2B | B2C | C2C | Intra B-Commerce
  • Difference between Internet and Extranet
  • What is Extranet? Definition, Implementation, Features
  • What is an Intranet?
  • Meaning and Benefits of e-Banking

Knowledge Management

  • What is Business Intelligence?
  • Difference between Business Intelligence and Business Analytics
  • Difference between EIS and DSS
  • Data Mining Techniques
  • Data Mining Tutorial
  • Knowledge Management: Meaning, Concept, Process and Significance
  • BCA 1st Semester Syllabus (2023)
  • BCA 2nd Semester Syllabus (2023)
  • BCA 3rd Semester Syllabus (2023)
  • BCA 4th Semester Syllabus (2023)
  • BCA 5th Semester Syllabus (2023)
  • BCA Full Form
  • Bachelor of Computer Applications: Curriculum and Career Opportunity

Computer-aided software engineering (CASE) is the implementation of computer-facilitated tools and methods in software development. CASE is used to ensure high-quality and defect-free software. CASE ensures a check-pointed and disciplined approach and helps designers, developers, testers, managers, and others to see the project milestones during development. 

CASE can also help as a warehouse for documents related to projects, like business plans, requirements, and design specifications. One of the major advantages of using CASE is the delivery of the final product, which is more likely to meet real-world requirements as it ensures that customers remain part of the process. 

CASE illustrates a wide set of labor-saving tools that are used in software development. It generates a framework for organizing projects and to be helpful in enhancing productivity. There was more interest in the concept of CASE tools years ago, but less so today, as the tools have morphed into different functions, often in reaction to software developer needs. The concept of CASE also received a heavy dose of criticism after its release. 

What is CASE Tools?

The essential idea of CASE tools is that in-built programs can help to analyze developing systems in order to enhance quality and provide better outcomes. Throughout the 1990, CASE tool became part of the software lexicon, and big companies like IBM were using these kinds of tools to help create software. 

Various tools are incorporated in CASE and are called CASE tools, which are used to support different stages and milestones in a software development life cycle. 

Types of CASE Tools:

  • Diagramming Tools:  It helps in diagrammatic and graphical representations of the data and system processes. It represents system elements, control flow and data flow among different software components and system structures in a pictorial form. For example, Flow Chart Maker tool for making state-of-the-art flowcharts.  
  • Computer Display and Report Generators:  These help in understanding the data requirements and the relationships involved. 
  • (i) Accept 360, Accompa, CaseComplete for requirement analysis. 
  • (ii) Visible Analyst for total analysis.   
  • Central Repository:  It provides a single point of storage for data diagrams, reports, and documents related to project management.
  • Documentation Generators:  It helps in generating user and technical documentation as per standards. It creates documents for technical users and end users.  For example, Doxygen, DrExplain, Adobe RoboHelp for documentation.  
  • Code Generators:  It aids in the auto-generation of code, including definitions, with the help of designs, documents, and diagrams.
  • Tools for Requirement Management: It makes gathering, evaluating, and managing software needs easier.
  • Tools for Analysis and Design : It offers instruments for modelling system architecture and behaviour, which helps throughout the analysis and design stages of software development.
  • Tools for Database Management: It facilitates database construction, design, and administration.
  • Tools for Documentation: It makes the process of creating, organizing, and maintaining project documentation easier.

Advantages of the CASE approach: 

  • Improved Documentation: Comprehensive documentation creation and maintenance is made easier by CASE tools. Since automatically generated documentation is usually more accurate and up to date, there are fewer opportunities for errors and misunderstandings brought on by out-of-current material.
  • Reusing Components: Reusable component creation and maintenance are frequently facilitated by CASE tools. This encourages a development approach that is modular and component-based, enabling teams to shorten development times and reuse tested solutions.
  • Quicker Cycles of Development: Development cycles take less time when certain jobs, such testing and code generation, are automated. This may result in software solutions being delivered more quickly, meeting deadlines and keeping up with changing business requirements.
  • Improved Results : Code generation, documentation, and testing are just a few of the time-consuming, repetitive operations that CASE tools perform. Due to this automation, engineers are able to concentrate on more intricate and imaginative facets of software development, which boosts output.
  • Achieving uniformity and standardization:  Coding conventions, documentation formats and design patterns are just a few of the areas of software development where CASE tools enforce uniformity and standards. This guarantees consistent and maintainable software development.

Disadvantages of the CASE approach: 

  • Cost: Using a case tool is very costly. Most firms engaged in software development on a small scale do not invest in CASE tools because they think that the benefit of CASE is justifiable only in the development of large systems.
  • Learning Curve: In most cases, programmers’ productivity may fall in the initial phase of implementation, because users need time to learn the technology. Many consultants offer training and on-site services that can be important to accelerate the learning curve and to the development and use of the CASE tools.
  • Tool Mix: It is important to build an appropriate selection tool mix to urge cost advantage CASE integration and data integration across all platforms is extremely important.

Conclusion:

In today’s software development world, computer-aided software engineering is a vital tool that enables teams to produce high-quality software quickly and cooperatively. CASE tools will probably become more and more essential as technology develops in order to satisfy the demands of complicated software development projects.

Please Login to comment...

Similar reads.

  • Software Engineering

Improve your Coding Skills with Practice

 alt=

What kind of Experience do you want to share?

Software Engineering for Machine Learning: A Case Study

Ieee account.

  • Change Username/Password
  • Update Address

Purchase Details

  • Payment Options
  • Order History
  • View Purchased Documents

Profile Information

  • Communications Preferences
  • Profession and Education
  • Technical Interests
  • US & Canada: +1 800 678 4333
  • Worldwide: +1 732 981 0060
  • Contact & Support
  • About IEEE Xplore
  • Accessibility
  • Terms of Use
  • Nondiscrimination Policy
  • Privacy & Opting Out of Cookies

A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. © Copyright 2024 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions.

Software development case studies​

We love to show off examples of web and mobile applications that we’ve developed for our clients. In addition to betting projects (in which we specialize), here you will also find applications from the financial, healthcare, IoT industries and additionally, some solutions for startups. Remember that not all of the software development case studies that we’ve completed are available on this page, some of them are confidential. We encourage you to contact us if you have questions.

All software development case studies

Below you will find all of our case studies. For a better navigation experience, use the filters by dividing them into industries, the scope of work, or the platform. Projects we have carried out in the past are still being developed. We put a lot of work into them and we are very proud of what we do. We’d love to speak with you, so please contact us if you have questions about these projects. If you want to implement your own idea, CrustLab is the partner to help you do it!

CrazyBet case study card

CrazyBet – Crypto Casino with Custom Frontend & Social Features

Delve into the genesis of a standalone crypto casino platform infused with immersive gaming aspects and vibrant social interactions.

case study card BETFAN – Sportsbook Web & Mobile UI

BETFAN – Sportsbook Web & Mobile UI

Innovative sportsbook UI that transforms betting on web and mobile platforms into an exceptional experience. Delivered for one of the top legal bookmakers in Poland.

Gamehub case study card

Slot Games Aggregator

Industry-acclaimed one-stop software for online casino operators, now expanded with even more attractive gaming options.

White-label Casino Apps case study card

White-label Casino Apps for a Global Audience

Uncover the intricacies of cutting-edge custom casino mobile apps. Confronting considerable technical challenges, rigorous timelines, and strict regulatory constraints, we redefined industry standards.

white-label mobile sportsbook apps cs card

White-label Mobile Sportsbook Apps

The genesis of custom mobile sportsbook apps reshaping the US and Canadian iGaming landscape through customization and cross-state functionality.

Stay Strong case study card

STAY STRONG – A Next-level App Elevating Tennis Club Engagement

Discover how Fame Sport Club, a VIP-centric tennis and badminton hub in Krakow, harnessed cutting-edge technology to elevate player experiences and boost profitability.

flutter mobile app case study card image

AI-boosted Flutter mobile app supporting soccer clubs in training young soccer players

Cross-platform Flutter mobile app created for professional soccer clubs. AI-boosted Duolingo for young adepts of soccer and a complete back office for professional coaches.

sportech online betting platform card

BetMakers – the next generation online betting platform

Creation of a next generation multi-tenant Horse Racing betting system hosted by one of the biggest players in the betting industry.

tms virtual currency exchange office card

TMS Brokers – Online currency exchange office

Expansion of an online currency exchange office’s functionalities including dedicated panels for users, administrators, and traders.

pelvifly healthcare cross-platform mobile app card

PelviFly – Healthcare cross-platform mobile app development

Creation of a cross-platform mobile app for end-users and a custom web application for coaches and administrators. The system introduces the gaming experience into a professional medical treatment to start training pelvic floor muscles for women of all ages.

Tracking system case study card

Offender tracking system – an AI-supported IoT application for Public Safety

Development of the personal unit tracking system and native mobile applications to supervise and monitor their activity.

Leeroy case study card

Leeroy – A White-label Restaurant Management App

The transformation of a groundbreaking all-in-one platform designed to streamline restaurant management across Scandinavia.

fixed pool betting system card

Case study – fixed pool betting system

Improvements and refreshments to a fixed-pool betting system. Fixed performance bottlenecks, implemented several new technical solutions and custom features, improved the user experience, and added more business conversion points to the web application.

DreamPicks betting platform MVP design card

DreamPicks – Online sports betting platform MVP design

Complete design project of the MVP version for an online sports betting platform intended for the US market.

zowie mobile chatbot card

Zowie – a mobile chat widget SDK

Creation of the SDK for a mobile chat widget for Android, iOS, and Flutter.

soydigi web app mvp card

SoyDigi – business management as a service web app MVP

Creation of the web app MVP version of a business as a service application for a Polish-Columbian startup in the early stages of growth.

Pick24 case study card

Pick24 – social betting mobile apps development

Development of social betting iOS and Android mobile applications for simulated gambling.

WorkInn case study card image

WorkInn – Web application and recruitment marketplace for the HoReCa industry

A web application from the event and catering industry that connects event organizers and employees such as cooks, waiters, bartenders, and more.

Web Remote Job Board Smooth Remote card img

Smooth Remote – An AWS-based web remote job board

An extended AWS-based web remote job board with an admin panel, Content Management System, and payment integrations.

cdt content management system case study card

The Central House of Technology – Content Management System development

Development of a Content Management System to manage the knowledge base and integration with the cdt.pl web portal.

solver web e-learning platform card

Solver e-learning platform

Creation of an e-learning platform that targets two types of users: providers who offer services and audiences who want to learn.

iceo android app development case study card

ICEO – Android widget application

Development of Android widget application which allows the user to follow the cryptocurrency rates in real-time.

blnk iOS mobile app design case study card

BLNK – design of iOS mobile application

An iOS mobile application supporting the maintenance of healthy eyesight.

pretta iOS mobile app case study card

Pretta – A new level of project management

An iOS application designed to optimize project management processes.

Trusted by leading brands

There is no better recommendation than the opinion of a satisfied customer. See what founders and managers have to say about their cooperation with CrustLab.

logo sportech

CrustLab consistently adds value to our organization in many ways. We’ve received very positively feedback on the system CrustLab has delivered. Our customers regard it as an excellent product. Our experience working with them has far exceeded those of other vendors.

software engineering case study

The team provided professional services that added value to the core functions of the business. They were fast and felt like our internal IT department, working during the night when we were deploying important features. That was fantastic, and I’m happy they’ve worked with me.

software engineering case study

CrustLab’s implementation of our solutions has almost doubled our revenues. All aspects of cooperation were very good. I felt that we were treated as very important clients because we received a very high standard of service. The team delivered the results at the time and budget.

soydigi logo

We finished an MVP in 3 weeks. It was very valuable that CrustLab was able to evaluate the feasibility of our solution and estimated the effort and cost that was required to request the funding. CrustLab can be a business partner in addition to an excellent software development agency.

CrustLab successfully delivered a product that was able to maintain its performance despite some sudden surges in the site’s traffic. Thanks to their experience and ability to predict problems, we found solutions and built the project on time.

software engineering case study

We take advantage of CrustLab’s experience in the field of payments, new functionalities, and user-friendly design. The development process itself ran smoothly and according to plan. It was important for us to complete the project on time, so I cannot imagine a better partner for this project.

software engineering case study

We hired CrustLab to introduce several modifications to improve one of the Pocco Finance apps and integrate it with the new version of the SDK. The project was completed on time and in line with the planned budget. I strongly recommend CrustLab as a software partner.

software engineering case study

This team is hungry, sharp, “on it” and very customer-focused. I had no idea that I could find such great help from the other side of the world – especially a firm that could understand our product requirements even though I’m not a tech product manager.

software engineering case study

We are really satisfied with the cooperation with CrustLab. Very good technical skillset, good communication, and work done on time! After creating a customizable widget, we entrusted them with redefine of another application, and the results are splendid.

software engineering case study

Our cooperation with CrustLab concerned body leasing. They offered us highly skilled and experienced Android developers. I am fully satisfied with the ease of contact, the speed of completing the formalities, but most of all of the man they recommended to us.

software engineering case study

Contact us and get a free project estimation!

  • CrustLab / 
  • Case studies

software engineering case study

  • Computer Engineering Cases
  • Markkula Center for Applied Ethics
  • Focus Areas
  • More Focus Areas
  • Engineering Ethics
  • Engineering Ethics Cases

Concern is high over possible misuses of new AI technology which generates text without human intervention.

A quality assurance engineer must decide whether or not to ship products that might be defective.

A computer startup company risks violating copyright laws if it reuses a code that is the intellectual property of another company.

Full transparency might prevent a project leader from closing a deal with a valuable client. Should he still clarify the situation to his client?

A technical sales engineer feels pressure to falsify a sales report in order to prevent the delay of her company's IPO.

When a computer filled with personal data gets stolen, a data company must decide how to manage the breach in security.

Employees of a computer hardware company are angered by a manager that demonstrates favoritism.

A computer engineer is asked to divulge private medical data for marketing purposes.

In this ethics case, a woman is displeased with her work role at a computer hardware company.

A new hire at an electronics startup struggles to decide between telling the truth and maximizing the company's profit.

  • More pages:
  • Academic Ethics
  • Bioengineering
  • Engineering Business
  • Civil Engineering
  • Computer/Software Engineering
  • Electrical Engineering
  • International
  • Mechanical Engineering
  • Science/Research Ethics

Help | Advanced Search

Computer Science > Software Engineering

Title: a case study of llm for automated vulnerability repair: assessing impact of reasoning and patch validation feedback.

Abstract: Recent work in automated program repair (APR) proposes the use of reasoning and patch validation feedback to reduce the semantic gap between the LLMs and the code under analysis. The idea has been shown to perform well for general APR, but its effectiveness in other particular contexts remains underexplored. In this work, we assess the impact of reasoning and patch validation feedback to LLMs in the context of vulnerability repair, an important and challenging task in security. To support the evaluation, we present VRpilot, an LLM-based vulnerability repair technique based on reasoning and patch validation feedback. VRpilot (1) uses a chain-of-thought prompt to reason about a vulnerability prior to generating patch candidates and (2) iteratively refines prompts according to the output of external tools (e.g., compiler, code sanitizers, test suite, etc.) on previously-generated patches. To evaluate performance, we compare VRpilot against the state-of-the-art vulnerability repair techniques for C and Java using public datasets from the literature. Our results show that VRpilot generates, on average, 14% and 7.6% more correct patches than the baseline techniques on C and Java, respectively. We show, through an ablation study, that reasoning and patch validation feedback are critical. We report several lessons from this study and potential directions for advancing LLM-empowered vulnerability repair

Submission history

Access paper:.

  • HTML (experimental)
  • Other Formats

license icon

References & Citations

  • Google Scholar
  • Semantic Scholar

BibTeX formatted citation

BibSonomy logo

Bibliographic and Citation Tools

Code, data and media associated with this article, recommenders and search tools.

  • Institution

arXivLabs: experimental projects with community collaborators

arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.

Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.

Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs .

COMMENTS

  1. PDF Case Studies for Software Engineers

    Ü 4 types of designs based on a 2x2 matrix. Ä Type 1 - single-case (holistic) designs. Ä Type 2 - single-case (embedded) designs. Ä Type 3 - multiple-case (holistic) designs. Ä Type 4 - multiple-case (embedded) designs. Figure 2.4 Basic Types of Designs for Case Studies (page 40) 45. Rationale for Single-Case Designs.

  2. CASE STUDY RESEARCH IN SOFTWARE ENGINEERING

    A book that provides guidelines and examples for conducting case studies in software engineering. It covers the background, design, data collection, analysis, and reporting of case studies, as well as ethical and legal issues.

  3. Case Study Research in Software Engineering—It is a Case, and it is a

    1. Introduction. Case studies are common in software engineering, and guidelines have been provided, for example, byRuneson et al. [1].They based their definition of case study on definitions from other areas including the definitions byYin [2], Benbasat et al. [3] andRobson [4].Runeson et al. [1] define a case study as follows within software engineering - "Case study in software ...

  4. PDF Software Engineering for Machine Learning: A Case Study

    assessing the progress of software teams towards excel-lence in building AI applications. 4)A discussion of three fundamental differences in how software engineering applies to machine-learning-centric components vs. previous application domains. II. BACKGROUND A. Software Engineering Processes The changing application domain trends in the ...

  5. PDF Case Studies for Software Engineers

    Abstract. The topic of this full-day tutorial was the correct use and interpretation of case studies as an empirical research method. Using an equal blend of lecture and discussion, it gave attendees a foundation for conducting, reviewing, and reading case studies. There were lessons for software engineers as researchers who conduct and report ...

  6. Case Study Research in Software Engineering

    Based on their own experiences of in-depth case studies of software projects in international corporations, in this book the authors present detailed practical guidelines on the preparation, conduct, design and reporting of case studies of software engineering. This is the first software engineering specific book on the case study research method.

  7. PDF Tutorial: Case Studies in Software Engineering

    in software engineering. The term "case study" appears every now and then in the title of software engineer-ing research papers. However, the presented studies range from very ambitious and well organized studies in the field, to small toy examples that claim to be case studies.

  8. Case Study Research in Software Engineering: Guidelines and Examples

    Based on their own experiences of in-depth case studies of software projects in international corporations, in this bookthe authors present detailed practical guidelines on the preparation, conduct, design and reporting of case studies of software engineering. This is the first software engineering specific book on thecase study research method.

  9. PDF Department of Computer Science, University of Toronto

    Department of Computer Science, University of Toronto

  10. Case Study Research in Software Engineering: Guidelines and Examples

    Get Case Study Research in Software Engineering: Guidelines and Examples now with the O'Reilly learning platform. O'Reilly members experience books, live events, courses curated by job role, and more from O'Reilly and nearly 200 top publishers. Start your free trial. About O'Reilly. Teach/write/train;

  11. Guidelines for conducting and reporting case study research in software

    Case study is a suitable research methodology for software engineering research since it studies contemporary phenomena in its natural context. However, the understanding of what constitutes a case study varies, and hence the quality of the resulting studies. This paper aims at providing an introduction to case study methodology and guidelines for researchers conducting case studies and ...

  12. Introduction

    A Brief History of Case Studies in Software Engineering. Why a Book on Case Studies of Software Engineering? Conclusion. Case Study Research in Software Engineering: Guidelines and Examples. Related; Information; Close Figure Viewer. Browse All Figures Return to Figure. Previous Figure Next Figure.

  13. Software Engineering Case Studies

    Portable insulin pump. This is an example case study that I developed for my textbook on software engineering. I have included a requirements document, a formal specification in Z and an example implementation in Java developed by a student at Lancaster University. Internet worm. An early example of a security failure where a large number of ...

  14. Software: Articles, Research, & Case Studies on Software- HBS Working

    by Alan MacCormack, Robert Lagerström, Martin Mocker, and Carliss Y. Baldwin. This study deepens our understanding of how firms can better design software portfolio architectures to improve their agility. The authors examined data from over 1,000 different software applications and 3,000 dependencies between them.

  15. Computer Aided Software Engineering (CASE)

    Computer-aided software engineering (CASE) is the implementation of computer-facilitated tools and methods in software development. CASE is used to ensure high-quality and defect-free software. CASE ensures a check-pointed and disciplined approach and helps designers, developers, testers, managers, and others to see the project milestones during development.

  16. Software Engineering for Machine Learning: A Case Study

    Recent advances in machine learning have stimulated widespread interest within the Information Technology sector on integrating AI capabilities into software and services. This goal has forced organizations to evolve their development processes. We report on a study that we conducted on observing software teams at Microsoft as they develop AI-based applications. We consider a nine-stage ...

  17. AI in Software Engineering: Case Studies and Prospects

    In this paper, two cases studies which are IBM Watson and Google AlphaGo that use different AI techniques in solving real world challenging problems have been analysed, evaluated and compared. Based on the analysis of both case studies, using AI techniques such as deep learning and machine learning in software systems contributes to intelligent ...

  18. Case studies and examples of real-world software projects

    The case studies and examples of real-world software projects found in this blog post will provide readers with a valuable insight into the world of software engineering, demonstrating the potential of software engineering in the real world and the challenges that come with it. We will take a closer look at successful projects and examine their ...

  19. Software Development Case Studies

    Software development case studies . We love to show off examples of web and mobile applications that we've developed for our clients. In addition to betting projects (in which we specialize), here you will also find applications from the financial, healthcare, IoT industries and additionally, some solutions for startups.

  20. Case Study Research in Software Engineering—It is a Case, and it is a

    Approach: We compared two actual software engineering case studies: a multi-case study involving interviews with 46 practitioners at 9 international companies engaged in offshoring and outsourcing ...

  21. Computer Engineering Cases

    May the Truth be with You. A new hire at an electronics startup struggles to decide between telling the truth and maximizing the company's profit. 1. 2. Case studies for computer and software engineers.

  22. Case Study: Building Security Skills in Software Engineering Teams

    Summary. Software engineering teams are often dependent on security teams for security expertise, leading to bottlenecks and delays. Software engineering leaders at Siemens Healthineers identify and upskill suitable team members to become security champions and handle security tasks for their teams.

  23. PDF CS 5150 Software Engineering 7. Scenarios and Use Cases

    Scenarios Scenario A scenario is a scene that illustrates some interaction with a proposed system. A scenario is a tool used during requirements analysis to describe a specific use of a proposed system. Scenarios capture the system, as viewed from the outside, e.g., by a user, using specific examples.

  24. PDF Guidelines for conducting and reporting case study research in software

    the International Software Engineering Research Network and updated accordingly. This paper does not provide absolute statements for what is considered a "good" case study in software engineering. Rather it focuses on a set of issues that all contribute to the quality of the research. The minimum requirement for each issue must be judged in its

  25. Automated categorization of pre-trained models for software engineering

    Software engineering (SE) activities have been revolutionized by the advent of pre-trained models (PTMs), defined as large machine learning (ML) models that can be fine-tuned to perform specific SE tasks. However, users with limited expertise may need help to select the appropriate model for their current task. To tackle the issue, the Hugging Face (HF) platform simplifies the use of PTMs by ...

  26. Title: A Case Study of LLM for Automated Vulnerability Repair

    Software Engineering (cs.SE) Cite as: arXiv:2405.15690 [cs.SE] (or arXiv:2405.15690v1 [cs.SE] for ... 24 May 2024 16:29:48 UTC (12,747 KB) Full-text links: Access Paper: View a PDF of the paper titled A Case Study of LLM for Automated Vulnerability Repair: Assessing Impact of Reasoning and Patch Validation Feedback, by Ummay Kulsum and 3 other ...