Marko Vasic

dblp:204/3616 · DBLP profile ↗
← Back
10ranked-venue papers
7as first author
1since 2021 · last 2022
0000-0002-3404-7187ORCID · reported

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

Artificial intelligence and machine learning · 4 · 4 first-author · 1 since 2021Software engineering, systems software and programming languages · 4 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 2 · 2 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
4 papers
Debugging and program repair · 39% Software testing · 38% Program verification · 19%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Emerging computing paradigms · 100%
Artificial intelligence
1 paper
Efficient and distributed learning · 100%

Topics — the 10 heaviest of 10, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software testing › regression testing
regression test selection
0.622017
File-level vs. module-level regression test selection for .NET · ESEC/SIGSOFT FSE 2017
Regression test selection across JVM boundaries · ESEC/SIGSOFT FSE 2017
Program verification
relational property
0.412020
A study of the learnability of relational properties: model counting meets machine learning (MCML) · PLDI 2020
Emerging computing paradigms › molecular computing
chemical reaction networks
0.412020
Deep Molecular Programming: A Natural Implementation of Binary-Weight ReLU Neural Networks · ICML 2020
Emerging computing paradigms
molecular computing
0.412020
Deep Molecular Programming: A Natural Implementation of Binary-Weight ReLU Neural Networks · ICML 2020
Debugging and program repair
automated program repair
0.412019
Neural Program Repair by Jointly Learning to Localize and Repair · ICLR (Poster) 2019
Debugging and program repair › automated program repair
neural program repair
0.412019
Neural Program Repair by Jointly Learning to Localize and Repair · ICLR (Poster) 2019
Software testing
regression testing
0.312017
File-level vs. module-level regression test selection for .NET · ESEC/SIGSOFT FSE 2017
Machine learning › Efficient and distributed learning › model quantization
binary-weight neural network
0.112020
Deep Molecular Programming: A Natural Implementation of Binary-Weight ReLU Neural Networks · ICML 2020
Debugging and program repair
fault localization
0.112019
Neural Program Repair by Jointly Learning to Localize and Repair · ICLR (Poster) 2019
Software maintenance and evolution
software evolution
0.112017
File-level vs. module-level regression test selection for .NET · ESEC/SIGSOFT FSE 2017

Methods — techniques the papers use, named apart from their topics

deep learning optimization · 0.9binaryconnect · 0.9model counting · 0.4machine learning · 0.4decision tree · 0.4neural network · 0.4joint learning · 0.4regression test selection · 0.3dynamic analysis · 0.3
YearPublicationVenuePosition
2022 MoËT: Mixture of Expert Trees and its application to verifiable reinforcement learning
Marko Vasic, Andrija Petrovic, Mladen Nikolic, Rishabh Singh, Sarfraz Khurshid
Neural Networks1
2020 CRNs Exposed: A Method for the Systematic Exploration of Chemical Reaction Networks
abstract
Formal methods have enabled breakthroughs in many fields, such as in hardware verification, machine learning and biological systems. The key object of interest in systems biology, synthetic biology, and molecular programming is chemical reaction networks (CRNs) which formalizes coupled chemical reactions in a well-mixed solution. CRNs are pivotal for our understanding of biological regulatory and metabolic networks, as well as for programming engineered molecular behavior. Although it is clear that small CRNs are capable of complex dynamics and computational behavior, it remains difficult to explore the space of CRNs in search for desired functionality. We use Alloy, a tool for expressing structural constraints and behavior in software systems, to enumerate CRNs with declaratively specified properties. We show how this framework can enumerate CRNs with a variety of structural constraints including biologically motivated catalytic networks and metabolic networks, and seesaw networks motivated by DNA nanotechnology. We also use the framework to explore analog function computation in rate-independent CRNs. By computing the desired output value with stoichiometry rather than with reaction rates (in the sense that X → Y+Y computes multiplication by 2), such CRNs are completely robust to the choice of reaction rates or rate law. We find the smallest CRNs computing the max, minmax, abs and ReLU (rectified linear unit) functions in a natural subclass of rate-independent CRNs where rate-independence follows from structural network properties.
Marko Vasic, David Soloveichik, Sarfraz Khurshid
DNA1
2020 Deep Molecular Programming: A Natural Implementation of Binary-Weight ReLU Neural Networks
abstract
Embedding computation in molecular contexts incompatible with traditional electronics is expected to have wide ranging impact in synthetic biology, medicine, nanofabrication and other fields. A key remaining challenge lies in developing programming paradigms for molecular computation that are well-aligned with the underlying chemical hardware and do not attempt to shoehorn ill-fitting electronics paradigms. We discover a surprisingly tight connection between a popular class of neural networks (binary-weight ReLU aka BinaryConnect) and a class of coupled chemical reactions that are absolutely robust to reaction rates. The robustness of rate-independent chemical computation makes it a promising target for bioengineering implementation. We show how a BinaryConnect neural network trained in silico using well-founded deep learning optimization techniques, can be compiled to an equivalent chemical reaction network, providing a novel molecular programming paradigm. We illustrate such translation on the paradigmatic IRIS and MNIST datasets. Toward intended applications of chemical computation, we further use our method to generate a chemical reaction network that can discriminate between different virus types based on gene expression levels. Our work sets the stage for rich knowledge transfer between neural network and molecular programming communities.
Marko Vasic, Cameron T. Chalk, Sarfraz Khurshid, David Soloveichik
ICML1
2020 Designing Neural Networks Using Logical Specs
abstract
As systems that deploy machine learning models become more and more pervasive, there is an urgent need to ensure their reliability and safety. While recent years have seen a lot of progress in techniques for verification and validation of machine learning models, reasoning about and explaining their behaviors remains challenging. This paper introduces a new approach for creating machine learning models where instead of the traditional supervised learning using data, the models are directly synthesized from specifications, and thus, are correct by construction. Our focus is binary classifiers with boolean features. Specifically, our approach translates relational specifications written in the well-known modeling language Alloy to neural networks that run on the widely used Tensorflow backend. Our key insight is that a slight enhancement of traditional boolean gates can provide a rich intermediate representation that readily translates to neural networks. To translate the enhanced gates to neural networks, we employ a state-of-the-art program synthesis framework that allows us to find minimal neural networks. The translation of Alloy specifications then follows the standard translation to boolean logic with the exception of utilizing the enhanced boolean gates, followed by a translation to neural networks. We embody our approach in a prototype tool and use it for experimental evaluation. The experimental results show that our approach allows synthesis of neural networks that are hard to create using traditional training methods.
Shikhar Singh, Marko Vasic, Sarfraz Khurshid
ISSRE2
2020 A study of the learnability of relational properties: model counting meets machine learning (MCML)
abstract
This paper introduces the MCML approach for empirically studying the learnability of relational properties that can be expressed in the well-known software design language Alloy. A key novelty of MCML is quantification of the performance of and semantic differences among trained machine learning (ML) models, specifically decision trees, with respect to entire (bounded) input spaces, and not just for given training and test datasets (as is the common practice). MCML reduces the quantification problems to the classic complexity theory problem of model counting, and employs state-of-the-art model counters. The results show that relatively simple ML models can achieve surprisingly high performance (accuracy and F1-score) when evaluated in the common setting of using training and test datasets -- even when the training dataset is much smaller than the test dataset -- indicating the seeming simplicity of learning relational properties. However, MCML metrics based on model counting show that the performance can degrade substantially when tested against the entire (bounded) input space, indicating the high complexity of precisely learning these properties, and the usefulness of model counting in quantifying the true performance.
Muhammad Usman 0024, Marko Vasic, Haris Vikalo, Sarfraz Khurshid
PLDI3
2020 CRN++: Molecular programming language
Marko Vasic, David Soloveichik, Sarfraz Khurshid
Nat. Comput.1
2019 Neural Program Repair by Jointly Learning to Localize and Repair
Marko Vasic, Aditya Kanade 0001, Petros Maniatis, David Bieber, Rishabh Singh
ICLR (Poster)1
2018 : Molecular Programming Language
Marko Vasic, David Soloveichik, Sarfraz Khurshid
DNA1
2017 Regression test selection across JVM boundaries
abstract
Modern software development processes recommend that changes be integrated into the main development line of a project multiple times a day. Before a new revision may be integrated, developers practice regression testing to ensure that the latest changes do not break any previously established functionality. The cost of regression testing is high, due to an increase in the number of revisions that are introduced per day, as well as the number of tests developers write per revision. Regression test selection (RTS) optimizes regression testing by skipping tests that are not affected by recent project changes. Existing dynamic RTS techniques support only projects written in a single programming language, which is unfortunate knowing that an open-source project is on average written in several programming languages.
Ahmet Çelik, Marko Vasic, Aleksandar Milicevic, Milos Gligoric 0001
ESEC/SIGSOFT FSE2
2017 File-level vs. module-level regression test selection for .NET
abstract
Regression testing is used to check the correctness of evolving software. With the adoption of Agile development methodology, the number of tests and software revisions has dramatically increased, and hence has the cost of regression testing. Researchers proposed regression test selection (RTS) techniques that optimize regression testing by skipping tests that are not impacted by recent program changes. Ekstazi is one such state-of-the art technique; Ekstazi is implemented for the Java programming language and has been adopted by several companies and open-source projects.
Marko Vasic, Zuhair Parvez, Aleksandar Milicevic, Milos Gligoric 0001
ESEC/SIGSOFT FSE1