Mikhail Barash

dblp:66/11004 · DBLP profile ↗
← Back
13ranked-venue papers
9as first author
4since 2021 · last 2026
0000-0002-7067-2588ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 7 · 7 first-authorSoftware engineering, systems software and programming languages · 6 · 2 first-author · 4 since 2021
YearPublicationVenuePosition
2026 Enabling Navigability of Programming Language Specifications: A Case of ECMAScript (JavaScript) Standard Library Specification
abstract
Many widely adopted programming languages (e.g., C++, Java, JavaScript, WebAssembly) have specification documents that provide authoritative answers about the language and its semantics. However, such specification documents are oftentimes demanding to read and navigate. This especially manifests when a text, a PDF, or an HTML document describes the language semantics using a pseudo-code notation—which is treated as text rather than code. Readers of a language specification are thus left without any dedicated tool support to navigate the pseudo-code.
Alberto Tontoni, Mikhail Barash
SLE2
2026 Algebraic reasoning for timeliness-guided system design
Seyed Hossein Haeri, Peter Van Roy, Heinrich Apfelmus, Peter Thompson 0002, Neil Davies 0001, Magne Haveraaen, Mikhail Barash, Kevin Hammond, James Chapman 0001, Artjoms Sinkarovs
J. Log. Algebraic Methods Program.7
2025 Optimal Language Design is Hard: A Case Study in ECMAScript (JavaScript) Standardization
abstract
In addition to requirements of a purely technical nature, the evolution of widely adopted programming languages is often governed by preferences of individual members---either persons or organizations---of the language maintenance team, who may associate issues with particular design aspects. For example, when adding a new primitive data type to a language, language designers may suggest alternative semantics for equality to existing data types, as well as explicitly specify issues they wish to avoid (such as inconsistent behavior among number-like types). The decision-making process can span over multiple years and can be highly unstructured, and in a dynamic and distributed language design team, the cumulated understanding of previously discussed design alternatives can thus be lost over time.
Philipp Riemer 0001, Yury Nikulin, Ashley Claymore, Mikhail Barash
SLE4
2021 Vision: the next 700 language workbenches
abstract
Language workbenches (LWBs) are tools to define software languages together with tailored Integrated Development Environments for them. A comprehensive review of language workbenches by Erdweg et al. (Comput. Lang. Syst. Struct. 44, 2015) presented a feature model of functionality of LWBs from the point of view of "languages that can be defined with a LWB, and not the definition mechanism of the LWB itself". This vision paper discusses possible functionality of LWBs with regard to language definition mechanisms. We have identified five groups of such functionality, related to: metadefinitions, metamodifications, metaprocess, LWB itself, and programs written in languages defined in a LWB. We design one of the features ("ability to define dependencies between language concerns") based on our vision.
Mikhail Barash
SLE1
2020 Manipulating GUI structures declaratively
abstract
GUIs often contain structures that are incidental, not properly manipulatable through well-defined APIs. For example, modifying a list of items in a GUI's model may require extraneous bookkeeping operations in the view, such as adding and removing event handlers, and updating the menu structure. Observing GUIs in practice gives an indication that programmers may find it difficult or tedious to implement complete and convenient sets of operations for manipulating various structures: useful operations for adding, inserting, swapping, or reordering elements are often missing, inconsistent, or limited. This paper introduces a DSL for programming operations that manipulate such incidental structures. The programmer specifies structures via relations between elements, concretely by defining methods that unestablish and establish a relation. This gives the programmer an ability to describe structural transformations via rules that control which relations should hold before and after a rule is applied. The API for structure manipulation is generated from these rules. Our DSL can give an abstract view on ad-hoc structures, making it easier to provide the necessary set of operations for their convenient manipulation.
Knut Anders Stokke, Mikhail Barash, Jaakko Järvi
GPCE2
2020 Example-driven software language engineering
abstract
Language workbenches---tools to define software languages together with their IDEs---are designed to simplify language engineering and implementation: they free language engineers from many meticulous tasks, but oftentimes have a very steep learning curve even for experienced software professionals. With the assumption that meta-definitions are one of the key factors that hinder language engineering, we introduce an example-driven approach to language definition. We describe in this paper our vision of a web-based tool aimed at beginner language engineers, and list possible requirements for such a tool. A language is defined by giving examples of code written in it using illustrative syntax definition. These examples are then annotated to specify different concerns of language definition---abstract syntax, typing rules, validation rules, formatting rules, and dynamic semantics.
Mikhail Barash
SLE1
2018 Linear-space recognition for grammars with contexts
Mikhail Barash, Alexander Okhotin
Theor. Comput. Sci.1
2017 A Foundational Framework for Step-by-step Model Construction
abstract
Constructing large biomodels de-novo is a computationally expensive process, requiring large sets of high-quality data. An alternative approach is to construct them from smaller existing models through various operations such as union, intersection, difference, and refinement. We introduce in this paper a foundational framework for biomodel construction capturing these operations, and we discuss some of their properties.
Mikhail Barash, Ion Petre
Fundam. Informaticae1
2017 Generalized LR Parsing Algorithm for Grammars with One-Sided Contexts
Mikhail Barash, Alexander Okhotin
Theory Comput. Syst.1
2015 Two-sided context specifications in formal grammars
Mikhail Barash, Alexander Okhotin
Theor. Comput. Sci.1
2014 Linear Grammars with One-Sided Contexts and Their Automaton Representation
Mikhail Barash, Alexander Okhotin
LATIN1
2014 An extension of context-free grammars with one-sided context specifications
Mikhail Barash, Alexander Okhotin
Inf. Comput.1
2012 Defining Contexts in Context-Free Grammars
Mikhail Barash, Alexander Okhotin
LATA1