paper-with-me

Papers

Can ChatGPT support software verification?

2023-11-04 · Christian Janßen, Cedric Richter, Heike Wehrheim

Large language models have become increasingly effective in software engineering tasks such as code generation, debugging and repair. Language models like ChatGPT can not only generate code, but also explain its inner workings and in particular its correctness. This raises the question whether we can utilize ChatGPT to support formal software verification. In this paper, we take some first steps towards answering this question. More specifically, we investigate whether ChatGPT can generate loop invariants. Loop invariant generation is a core task in software verification, and the generation of valid and useful invariants would likely help formal verifiers. To provide some first evidence on this hypothesis, we ask ChatGPT to annotate 106 C programs with loop invariants. We check validity and usefulness of the generated invariants by passing them to two verifiers, Frama-C and CPAchecker. Our evaluation shows that ChatGPT is able to produce valid and useful invariants allowing Frama-C to verify tasks that it could not solve before. Based on our initial insights, we propose ways of combining ChatGPT (or large language models in general) and software verifiers, and discuss current limitations and open issues.

📄 PDF Abstract BibTeX arXiv:2311.02433

Code (0)

등록된 구현이 없습니다.

Tasks

Code Generationvalid

Similar Papers 제목 키워드 기반

Rocks Coding, Not Development--A Human-Centric, Experimental Evaluation of LLM-Supported SE Tasks

2024-02-08 · Wei Wang, Huilong Ning, Gaowei Zhang, Libo Liu 외

Recently, large language models (LLM) based generative AI has been gaining momentum for their impressive high-quality performances in multiple domains, particularly after the release of the ChatGPT. Many believe that the…

Towards Human-Bot Collaborative Software Architecting with ChatGPT

2023-02-26 · Aakash Ahmad, Muhammad Waseem, Peng Liang, Mahdi Fehmideh 외

Architecting software-intensive systems can be a complex process. It deals with the daunting tasks of unifying stakeholders' perspectives, designers' intellect, tool-based automation, pattern-driven reuse, and so on, to …

A Qualitative Study on Using ChatGPT for Software Security: Perception vs. Practicality

2024-08-01 · M. Mehdi Kholoosi, M. Ali Babar, Roland Croft

Artificial Intelligence (AI) advancements have enabled the development of Large Language Models (LLMs) that can perform a variety of tasks with remarkable semantic understanding and accuracy. ChatGPT is one such LLM that…

Information RetrievalVulnerability Detection

Beyond Code Generation: An Observational Study of ChatGPT Usage in Software Engineering Practice

2024-04-23 · Ranim Khojah, Mazen Mohamad, Philipp Leitner, Francisco Gomes de Oliveira Neto

Large Language Models (LLMs) are frequently discussed in academia and the general public as support tools for virtually any use case that relies on the production of text, including software engineering. Currently there …

ChatbotCode Generation

An Empirical Study of Using ChatGPT for Fact Verification Task

2023-11-11 · Mohna Chakraborty, Adithya Kulkarni, Qi Li

ChatGPT has recently emerged as a powerful tool for performing diverse NLP tasks. However, ChatGPT has been criticized for generating nonfactual responses, raising concerns about its usability for sensitive tasks like fa…

Fact Verification