Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Baris Kasikci is active.

Publication


Featured researches published by Baris Kasikci.


architectural support for programming languages and operating systems | 2012

Data races vs. data race bugs: telling the difference with portend

Baris Kasikci; Cristian Zamfir; George Candea

Even though most data races are harmless, the harmful ones are at the heart of some of the worst concurrency bugs. Alas, spotting just the harmful data races in programs is like finding a needle in a haystack: 76%-90% of the true data races reported by state-of-the-art race detectors turn out to be harmless [45]. We present Portend, a tool that not only detects races but also automatically classifies them based on their potential consequences: Could they lead to crashes or hangs? Could their effects be visible outside the program? Are they harmless? Our proposed technique achieves high accuracy by efficiently analyzing multiple paths and multiple thread schedules in combination, and by performing symbolic comparison between program outputs. We ran Portend on 7 real-world applications: it detected 93 true data races and correctly classified 92 of them, with no human effort. 6 of them are harmful races. Portends classification accuracy is up to 88% higher than that of existing tools, and it produces easy-to-understand evidence of the consequences of harmful races, thus both proving their harmfulness and making debugging easier. We envision Portend being used for testing and debugging, as well as for automatically triaging bug reports.


symposium on operating systems principles | 2013

RaceMob: crowdsourced data race detection

Baris Kasikci; Cristian Zamfir; George Candea

Some of the worst concurrency problems in multi-threaded systems today are due to data races---these bugs can have messy consequences, and they are hard to diagnose and fix. To avoid the introduction of such bugs, system developers need discipline and good data race detectors; today, even if they have the former, they lack the latter. We present RaceMob, a new data race detector that has both low overhead and good accuracy. RaceMob starts by detecting potential races statically (hence it has few false negatives), and then dynamically validates whether these are true races (hence has few false positives). It achieves low runtime overhead and a high degree of realism by combining real-user crowdsourcing with a new on-demand dynamic data race validation technique. We evaluated RaceMob on ten systems, including Apache, SQLite, and Memcached---it detects data races with higher accuracy than state-of-the-art detectors (both static and dynamic), and RaceMob users experience an average runtime overhead of about 2%, which is orders of magnitude less than the overhead of modern dynamic data race detectors. To the best of our knowledge, RaceMob is the first data race detector that can both be used always-on in production and provides good accuracy.


ACM Transactions on Programming Languages and Systems | 2015

Automated Classification of Data Races Under Both Strong and Weak Memory Models

Baris Kasikci; Cristian Zamfir; George Candea

Data races are one of the main causes of concurrency problems in multithreaded programs. Whether all data races are bad, or some are harmful and others are harmless, is still the subject of vigorous scientific debate [Narayanasamy et al. 2007; Boehm 2012]. What is clear, however, is that todays code has many data races [Kasikci et al. 2012; Jin et al. 2012; Erickson et al. 2010], and fixing data races without introducing bugs is time consuming [Godefroid and Nagappan 2008]. Therefore, it is important to efficiently identify data races in code and understand their consequences to prioritize their resolution. We present Portend+, a tool that not only detects races but also automatically classifies them based on their potential consequences: Could they lead to crashes or hangs? Could their effects be visible outside the program? Do they appear to be harmless? How do their effects change under weak memory models? Our proposed technique achieves high accuracy by efficiently analyzing multiple paths and multiple thread schedules in combination, and by performing symbolic comparison between program outputs. We ran Portend+ on seven real-world applications: it detected 93 true data races and correctly classified 92 of them, with no human effort. Six of them were harmful races. Portend+s classification accuracy is up to 89% higher than that of existing tools, and it produces easy-to-understand evidence of the consequences of “harmful” races, thus both proving their harmfulness and making debugging easier. We envision Portend+ being used for testing and debugging, as well as for automatically triaging bug reports.


computer and communications security | 2018

SysTEX'18: 2018 Workshop on System Software for Trusted Execution

Baris Kasikci; Mark Silberstein

The rise of new processor hardware extensions that permit fine-grained and flexible trusted execution, such as Intels SGX, ARMs TrustZone, or AMDs SEV, introduces numerous novel challenges and opportunities for developers of secure applications. There is a burning need for cross-cutting systems support of such Trusted Execution Environments (TEEs) that spans all the layers of the software stack, from the OS through runtime to compilers and programming models. The 3rd Workshop on System Software for Trusted Execution (SysTEX) will focus on systems research challenges related to TEEs, and explore new ideas and strategies for the implementation of trustworthy systems with TEEs. The workshop is also open to papers exploring attacks on current TEEs and strategies for mitigating such attacks.


symposium on operating systems principles | 2017

Lazy Diagnosis of In-Production Concurrency Bugs

Baris Kasikci; Weidong Cui; Xinyang Ge; Ben Niu

Diagnosing concurrency bugs---the process of understanding the root causes of concurrency failures---is hard. Developers depend on reproducing concurrency bugs to diagnose them. Traditionally, systems that attempt to reproduce concurrency bugs record fine-grained thread schedules of events (e.g., shared memory accesses) that lead to failures. Recording schedules incurs high runtime performance overhead and scales poorly, making existing techniques unsuitable in production. In this paper, we formulate the coarse interleaving hypothesis, which states that the events leading to many concurrency bugs are coarsely interleaved. Therefore, a fine-grained and expensive recording is unnecessary for diagnosing such concurrency bugs. We test the coarse interleaving hypothesis by studying 54 bugs in 13 systems and find that it holds in all cases. In particular, the time elapsed between events leading to concurrency bugs is on average 5 orders of magnitude greater than what is used today in fine-grained recording. Using the coarse interleaving hypothesis, we develop Lazy Diagnosis, a hybrid dynamic-static interprocedural pointer and type analysis to diagnose the root causes of concurrency bugs. Our Lazy Diagnosis prototype, Snorlax, relies on commodity hardware to track thread interleavings at a coarse granularity. Snorlax does not require any source code changes and can diagnose complex concurrency bugs in real large-scale systems (MySQL, httpd, memcached, etc.) with full accuracy and an average runtime performance overhead of below 1%. Broadly, we believe that our findings can be used to build more efficient in-production bug detection and record/replay techniques.


symposium on operating systems principles | 2015

Failure sketching: a technique for automated root cause diagnosis of in-production failures

Baris Kasikci; Benjamin Schubert; Cristiano Pereira; Gilles Pokam; George Candea


usenix annual technical conference | 2014

Efficient tracing of cold code via bias-free sampling

Baris Kasikci; Thomas Ball; George Candea; John Erickson; Madanlal Musuvathi


hot topics in operating systems | 2013

Automated debugging for arbitrarily long executions

Cristian Zamfir; Baris Kasikci; Johannes Kinder; Edouard Bugnion; George Candea


Archive | 2013

Lockout: Efficient Testing for Deadlock Bugs

Ali Kheradmand; Baris Kasikci; George Candea


usenix security symposium | 2018

Foreshadow: Extracting the keys to the intel SGX kingdom with transient out-of-order execution

Jo Van Bulck; Marina Minkin; Ofir Weiss; Daniel Genkin; Baris Kasikci; Frank Piessens; Mark Silberstein; Thomas F. Wenisch; Yuval Yarom; Raoul Stracks

Collaboration


Dive into the Baris Kasikci's collaboration.

Top Co-Authors

Avatar

George Candea

École Polytechnique Fédérale de Lausanne

View shared research outputs
Top Co-Authors

Avatar

Cristian Zamfir

École Polytechnique Fédérale de Lausanne

View shared research outputs
Top Co-Authors

Avatar

Benjamin Schubert

École Polytechnique Fédérale de Lausanne

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Xinyang Ge

Pennsylvania State University

View shared research outputs
Top Co-Authors

Avatar

Mark Silberstein

Technion – Israel Institute of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge