English
Related papers

Related papers: Improving students' code correctness and test comp…

200 papers

Formal software specification is known to enable early error detection and explicit invariants, yet it has seen limited industrial adoption due to its high notation overhead and the expertise required to use traditional formal languages.…

Software Engineering · Computer Science 2026-01-16 Antonio Abu Nassar , Eitan Farchi

There are many benefits in providing formal specifications for our software. However, teaching students to do this is not always easy as courses on formal methods are often experienced as dry by students. This paper presents a game called…

Formal methods for software correctness are critical to the future of software engineering - and so must be an essential part of software engineering education. Unfortunately, formal methods are often resisted by students due to perceived…

Software Engineering · Computer Science 2022-05-03 James Noble , David Streader , Isaac Oscar Gariano , Miniruwani Samarakoon

The problem of writing a specification which accurately reflects the intent of the developer has long been recognized as fundamental. We propose a method and a supporting tool to write and check a specification and an implementation using a…

Software Engineering · Computer Science 2013-05-20 Paul C Attie , Fadi A Zaraket , Mohammad Fawaz , Mohammad Noureddine

Testing has become an indispensable activity of software development, yet writing good and relevant tests remains a quite challenging task. One well-known problem is that it often is impossible or unrealistic to test for every outcome, as…

Programming Languages · Computer Science 2017-08-18 Dimitri Racordon , Didier Buchs

Effective software testing is critical for producing reliable and secure software, yet many computer science students struggle to master the foundational concepts required to construct comprehensive test suites. While automated feedback…

Software Engineering · Computer Science 2025-10-02 Shiza Andleeb , Teo Mendoza , Lucas Cordova , Gursimran Walia , Jeffrey C. Carver

Many software developments projects fail due to quality problems. Software testing enables the creation of high quality software products. Since it is a cumbersome and expensive task, and often hard to manage, both its technical background…

Software Engineering · Computer Science 2015-03-17 Tim A. Majchrzak

A major determinant of the quality of software systems is the quality of their requirements, which should be both understandable and precise. Most requirements are written in natural language, good for understandability but lacking in…

Software Engineering · Computer Science 2020-04-17 Jean-Michel Bruel , Sophie Ebersold , Florian Galinier , Alexandr Naumchev , Manuel Mazzara , Bertrand Meyer

While functional programming is an efficient way to express complex software, functional programming languages have a steep learning curve. Haskell can be challenging to learn for students who were only introduced to imperative programming.…

Programming Languages · Computer Science 2019-06-28 Boldizsár Németh , Eunjong Choi , Erina Makihara , Hajimu Iida

Experience with lightweight formal methods suggests that programmers are willing to write specification if it brings tangible benefits to their usual development activities. This paper considers stronger specifications and studies whether…

Software Engineering · Computer Science 2013-08-14 Nadia Polikarpova , Carlo A. Furia , Yu Pei , Yi Wei , Bertrand Meyer

Safety and assurance standards often rely on the principle that requirements errors can be minimised by expressing the requirements more formally. Although numerous case studies have shown that the act of formalising previously informal…

Software Engineering · Computer Science 2014-04-29 Ibrahim Habli , Andrew Rae

Test suites assess natural language processing models' performance on specific functionalities: cases of interest involving model robustness, fairness, or particular linguistic capabilities. This paper introduces specification instructions:…

Computation and Language · Computer Science 2024-11-19 Pedro Henrique Luz de Araujo , Benjamin Roth

An introductory formal languages course exposes advanced undergraduate and early graduate students to automata theory, grammars, constructive proofs, computability, and decidability. Programming students find these topics to be challenging…

Formal Languages and Automata Theory · Computer Science 2014-12-17 Marco T. Morazán , Rosario Antunez

For many decades, formal methods are considered to be the way forward to help the software industry to make more reliable and trustworthy software. However, despite this strong belief and many individual success stories, no real change in…

Software Engineering · Computer Science 2024-02-14 Marieke Huisman , Dilian Gurov , Alexander Malkis

The paper presents the second part of a precise description of the prototype that has been developed in the course of the ISAC project over the last two decades. This part describes the "specify-phase", while the first part describing the…

Human-Computer Interaction · Computer Science 2024-04-15 Walther Neuper

As software systems become more complex, modern software development requires more attention to human perspectives, and active participation of development teams in requirements elicitation tasks. In this context, incomplete or ambiguous…

Software Engineering · Computer Science 2021-06-29 Carlos Alberto dos Santos , Fabio Petrillo

Formal methods yet advantageous, face challenges towards wide acceptance and adoption in software development practices. The major reason being presumed complexity. The issue can be addressed by academia with a thoughtful plan of teaching…

Software Engineering · Computer Science 2019-06-05 Mansur Khazeev , Manuel Mazzara , Daniel De Carvalho , Hamna Aslam

Programs are a kind of communication to both computers and people, hence as students are trained to write programs they need to learn to write well-designed, readable code rather than code that simply functions correctly. The difficulty in…

Computers and Society · Computer Science 2022-11-08 J. Walker Orr

Correctness is one of the more important criteria of qualitative software. However, it is often taught in isolation and most students consider it only as an afterthought. They also do not receive sufficient feedback on code quality and…

Software Engineering · Computer Science 2024-12-03 Steffen Dick , Christoph Bockisch , Harrie Passier , Lex Bijlsma , Ruurd Kuiper

Formal specifications have numerous benefits for both designers and users of network protocols. They provide clear, unambiguous representations, which are useful as documentation and for testing. They can help reveal disagreements about…

Networking and Internet Architecture · Computer Science 2025-09-17 David Basin , Nate Foster , Kenneth L. McMillan , Kedar S. Namjoshi , Cristina Nita-Rotaru , Jonathan M. Smith , Pamela Zave , Lenore D. Zuck
‹ Prev 1 2 3 10 Next ›