English
Related papers

Related papers: More Programming Than Programming: Teaching Formal…

200 papers

Formal methods refer to rigorous, mathematical approaches to system development and have played a key role in establishing the correctness of safety-critical systems. The main building blocks of formal methods are models and specifications,…

The aim of the FESCA workshop is to bring together junior researchers from formal methods, software engineering, and industry interested in the development and application of formal modelling approaches as well as associated analysis and…

Software Engineering · Computer Science 2015-03-17 Bara Buhnova , Lucia Happe , Jan Kofroň

Background: Software project management activities help to introduce software process models in Software Engineering courses. However, these activities should be adequately aligned with the learning outcomes and support student's…

Software Engineering · Computer Science 2021-01-21 Javier Gonzalez-Huerta , Jefferson Seide Molleri , Aivars Šablis , Ehsan Zabardast

This paper is a tutorial for newcomers to the field of automated verification tools, though we assume the reader to be relatively familiar with Hoare-style verification. In this paper, besides introducing the most basic features of the…

Software Engineering · Computer Science 2017-01-18 Paqui Lucio

Formal methods have provided approaches for investigating software engineering fundamentals and also have high potential to improve current practices in dependability assurance. In this article, we summarise known strengths and weaknesses…

Software Engineering · Computer Science 2019-11-06 Mario Gleirscher , Simon Foster , Jim Woodcock

Algorithmic and data refinement are well studied topics that provide a mathematically rigorous approach to gradually introducing details in the implementation of software. Program refinements are performed in the context of some programming…

Programming Languages · Computer Science 2016-06-08 Jason Koenig , K. Rustan M. Leino

The technology of formal software verification has made spectacular advances, but how much does it actually benefit the development of practical software? Considerable disagreement remains about the practicality of building systems with…

Software Engineering · Computer Science 2026-01-21 Li Huang , Sophie Ebersold , Alexander Kogtenkov , Bertrand Meyer , Yinling Liu

Modeling and documentation are two essential ingredients for the engineering discipline of software development. During the last twenty years a wide variety of description and modeling techniques as well as document formats has been…

Software Engineering · Computer Science 2014-11-11 Manfred Broy , Franz Huber , Barbara Paech , Bernhard Rumpe , Katharina Spies

Most university curricula consider software processes to be on the fringes of software engineering (SE). Students are told there exists a plethora of software processes ranging from RUP over V-shaped processes to agile methods. Furthermore,…

Software Engineering · Computer Science 2013-12-19 Marco Kuhrmann , Daniel Méndez Fernández , Jürgen Münch

This paper presents a newly-developed robotics programming course and reports the initial results of software engineering education in robotics context. Robotics programming, as a multidisciplinary course, puts equal emphasis on software…

Computers and Society · Computer Science 2014-06-18 Jiwon Shin , Andrey Rusakov , Bertrand Meyer

As hardware and software systems have grown in complexity, formal methods have been indispensable tools for rigorously specifying acceptable behaviors, synthesizing programs to meet these specifications, and validating the correctness of…

Robotics · Computer Science 2026-02-10 Anastasios Manganaris , Vittorio Giammarino , Ahmed H. Qureshi , Suresh Jagannathan

Model-driven engineering is the automatic production of software artefacts from abstract models of structure and functionality. By targeting a specific class of system, it is possible to automate aspects of the development process, using…

Software Engineering · Computer Science 2013-01-03 Chen-Wei Wang , Jim Davies

Existing informal language-based (e.g., human language) Large Language Models (LLMs) trained with Reinforcement Learning (RL) face a significant challenge: their verification processes, which provide crucial training signals, are neither…

Computation and Language · Computer Science 2025-10-14 Chuanhao Yan , Fengdi Che , Xuhan Huang , Xu Xu , Xin Li , Yizhi Li , Xingwei Qu , Jingzhe Shi , Chenghua Lin , Yaodong Yang , Binhang Yuan , Hang Zhao , Yu Qiao , Bowen Zhou , Jie Fu

Contribution: A flipped classroom approach to teaching empirical software engineering increases student learning by providing more time for active learning in class. Background: There is a need for longitudinal studies of the flipped…

Software Engineering · Computer Science 2020-01-13 Lucas Gren

Software is a field of rapid changes: the best technology today becomes obsolete in the near future. If we review the graduate attributes of any of the software engineering programs across the world, life-long learning is one of them. The…

Software Engineering · Computer Science 2017-11-22 Luiz Fernando Capretz , Fahem Ahmed , Fabio Queda Bueno da Silva

For a long time, it has been recognized that the software industry has a demand for students who are well grounded in design competencies and who are ready to contribute to a project with little additional training. In response to the…

Software Engineering · Computer Science 2024-12-09 Luiz Fernando Capretz

Programming and software engineering courses in computer science curricula typically focus on both providing theoretical knowledge of programming languages and best-practices, and developing practical development skills. In a massive course…

Software Engineering · Computer Science 2018-04-06 Marco Torchiano , Giorgio Bruno

In recent years, program verifiers and interactive theorem provers have become more powerful and more suitable for verifying large programs or proofs. This has demonstrated the need for improving the user experience of these tools to…

Programming Languages · Computer Science 2014-04-29 K. Rustan M. Leino , Valentin Wüstholz

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

Higher education provides a solid theoretical and practical, but mostly technical, background for the aspiring software developer. Research, however, has shown that graduates still fall short of the expectations of industry. These…

Software Engineering · Computer Science 2019-11-05 Wouter Groeneveld , Joost Vennekens , Kris Aerts