English

Towards Modal Software Engineering

Software Engineering 2021-02-16 v2 Programming Languages

Abstract

In this paper we introduce the notion of Modal Software Engineering: automatically turning sequential, deterministic programs into semantically equivalent programs efficiently operating on inputs coming from multiple overlapping worlds. We are drawing an analogy between modal logics, and software application domains where multiple sets of inputs (multiple worlds) need to be processed efficiently. Typically those sets highly overlap, so processing them independently would involve a lot of redundancy, resulting in lower performance, and in many cases intractability. Three application domains are presented: reasoning about feature-based variability of Software Product Lines (SPLs), probabilistic programming, and approximate programming.

Keywords

Cite

@article{arxiv.2102.02966,
  title  = {Towards Modal Software Engineering},
  author = {Ramy Shahin},
  journal= {arXiv preprint arXiv:2102.02966},
  year   = {2021}
}

Comments

ICSE'21 NIER pre-print

R2 v1 2026-06-23T22:51:36.336Z