EDBT 2026 Demo / reviewers in the wild / expert
Kivanç Muslu
dblp:11/8730
· DBLP profile ↗
16ranked-venue papers
10as first author
1since 2021 · last 2022
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 16 · 10 first-author · 1 since 2021Databases, data management, data science and information retrieval · 1 · 1 since 2021
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
13 papers |
Software testing · 37% Software maintenance and evolution · 20% Empirical software engineering · 19% | |
| Databases, data mining, and information retrieval
2 papers |
Data integration and cleaning · 100% |
Topics — the 23 heaviest of 29, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Empirical software engineering
mining software repositories |
0.7 | 2 | 2020 | A study on the lifecycle of flaky tests · ICSE 2020 Development History Granularity Transformations (N) · ASE 2015 |
Software testing
flaky test |
0.4 | 1 | 2020 | A study on the lifecycle of flaky tests · ICSE 2020 |
Software testing
regression testing |
0.4 | 1 | 2020 | A study on the lifecycle of flaky tests · ICSE 2020 |
Software testing › test quality
test suite quality |
0.2 | 1 | 2014 | Empirically revisiting the test independence assumption · ISSTA 2014 |
Software maintenance and evolution › software configuration management
version control |
0.2 | 1 | 2014 | Transition from centralized to decentralized version control systems: a case study on reasons, barriers, and outcomes · ICSE 2014 |
Data integration and cleaning › data quality
data debugging |
0.2 | 1 | 2013 | Data debugging with continuous testing · ESEC/SIGSOFT FSE 2013 |
Program analysis › static analysis
incremental analysis |
0.2 | 1 | 2013 | Making offline analyses continuous · ESEC/SIGSOFT FSE 2013 |
Software maintenance and evolution
code recommendation |
0.1 | 1 | 2012 | Improving IDE recommendations by considering global implications of existing recommendations · ICSE 2012 |
Software maintenance and evolution › refactoring
identifier renaming |
0.1 | 1 | 2012 | Speculative analysis of integrated development environment recommendations · OOPSLA 2012 |
Software maintenance and evolution
refactoring |
0.1 | 1 | 2012 | Speculative analysis of integrated development environment recommendations · OOPSLA 2012 |
Debugging and program repair
fault localization |
0.1 | 1 | 2011 | Finding bugs by isolating unit tests · SIGSOFT FSE 2011 |
Programming languages and type systems › type checking
pluggable type checking |
0.1 | 1 | 2011 | Building and using pluggable type-checkers · ICSE 2011 |
Software testing › test maintenance
test isolation |
0.1 | 1 | 2011 | Finding bugs by isolating unit tests · SIGSOFT FSE 2011 |
Programming languages and type systems
type checking |
0.1 | 1 | 2011 | Building and using pluggable type-checkers · ICSE 2011 |
Software testing
unit testing |
0.1 | 1 | 2011 | Finding bugs by isolating unit tests · SIGSOFT FSE 2011 |
Empirical software engineering › developer studies
developer workflow |
0.1 | 2 | 2015 | Reducing Feedback Delay of Software Development Tools via Continuous Analysis · IEEE Trans. Software Eng. 2015 Making offline analyses continuous · ESEC/SIGSOFT FSE 2013 |
Program analysis
static analysis |
0.1 | 2 | 2013 | Integrating systematic exploration, analysis, and maintenance in software development · ICSE 2013 Building and using pluggable type-checkers · ICSE 2011 |
Data integration and cleaning
data quality |
0.1 | 1 | 2015 | Preventing data errors with continuous testing · ISSTA 2015 |
Software maintenance and evolution
software evolution |
0.1 | 1 | 2015 | Development History Granularity Transformations (N) · ASE 2015 |
Software testing › regression testing
test case prioritization |
0.1 | 1 | 2014 | Empirically revisiting the test independence assumption · ISSTA 2014 |
Software testing › automated testing
continuous testing |
0.0 | 1 | 2013 | Data debugging with continuous testing · ESEC/SIGSOFT FSE 2013 |
Debugging and program repair › automated program repair
compilation error repair |
0.0 | 1 | 2012 | Improving IDE recommendations by considering global implications of existing recommendations · ICSE 2012 |
Program analysis › error detection
compile-time error detection |
0.0 | 1 | 2011 | Building and using pluggable type-checkers · ICSE 2011 |
Methods — techniques the papers use, named apart from their topics
domain-specific test queries · 0.4continuous testing · 0.4test query execution · 0.3granularity transformation · 0.2codebase replication · 0.2empirical study · 0.2type system refinement · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | Microsoft CloudMine: Data Mining for the Executive Order on Improving the Nation's Cybersecurity
Kim Herzig, Luke Ghostling, Maximilian Grothusmann, Sascha Just, Nora Huang, Alan Klimowski, Yashasvini Ramkumar, Myles McLeroy, Kivanç Muslu, Hitesh Sajnani, Varsha Vadaga |
MSR | 9 |
| 2020 | A study on the lifecycle of flaky testsabstractDuring regression testing, developers rely on the pass or fail outcomes of tests to check whether changes broke existing functionality. Thus, flaky tests, which nondeterministically pass or fail on the same code, are problematic because they provide misleading signals during regression testing. Although flaky tests are the focus of several existing studies, none of them study (1) the reoccurrence, runtimes, and time-before-fix of flaky tests, and (2) flaky tests in-depth on proprietary projects. Wing Lam, Kivanç Muslu, Hitesh Sajnani, Suresh Thummalapenta |
ICSE | 2 |
| 2015 | Preventing data errors with continuous testingabstractToday, software systems that rely on data are ubiquitous, and ensuring the data's quality is an increasingly important challenge as data errors result in annual multi-billion dollar losses. While software debugging and testing have received heavy research attention, less effort has been devoted to data debugging: identifying system errors caused by well-formed but incorrect data. We present continuous data testing (CDT), a low-overhead, delay-free technique that quickly identifies likely data errors. CDT continuously executes domain-specific test queries; when a test fails, CDT unobtrusively warns the user or administrator. We implement CDT in the ConTest prototype for the PostgreSQL database management system. A feasibility user study with 96 humans shows that ConTest was extremely effective in a setting with a data entry application at guarding against data errors: With ConTest, users corrected 98.4% of their errors, as opposed to 40.2% without, even when we injected 40% false positives into ConTest's output. Further, when using ConTest, users corrected data entry errors 3.2 times faster than when using state-of-the-art methods. Kivanç Muslu, Yuriy Brun, Alexandra Meliou |
ISSTA | 1 |
| 2015 | Development History Granularity Transformations (N)abstractDevelopment histories can simplify some software engineering tasks, butdifferent tasks require different history granularities. For example, a history that includes every edit that resulted in compiling code is needed when searching for the cause of a regression, whereas a history that contains only changes relevant to a feature is needed for understanding the evolution of the feature. Unfortunately, today, both manual and automated history generation result in a single-granularity history. This paper introduces the concept of multi-grained development history views and the architecture of Codebase Manipulation, a tool that automatically records a fine-grained history and manages its granularity by applying granularity transformations. Kivanç Muslu, Luke Swart, Yuriy Brun, Michael D. Ernst |
ASE | 1 |
| 2015 | Reducing Feedback Delay of Software Development Tools via Continuous AnalysisabstractDuring software development, the sooner a developer learns how code changes affect program analysis results, the more helpful that analysis is. Manually invoking an analysis may interrupt the developer's workflow or cause a delay before the developer learns the implications of the change. A better approach is continuous analysis tools that always provide up-to-date results. We present Codebase Replication, a technique that eases the implementation of continuous analysis tools by converting an existing offline analysis into an IDE-integrated, continuous tool with two desirable properties: isolation and currency. Codebase Replication creates and keeps in sync a copy of the developer's codebase. The analysis runs on the copy codebase without disturbing the developer and without being disturbed by the developer's changes. We developed Solstice, an open-source, publicly-available Eclipse plug-in that implements Codebase Replication. Solstice has less than 2.5 milliseconds overhead for most common developer actions. We used Solstice to implement four Eclipse-integrated continuous analysis tools based on the offline versions of FindBugs, PMD, data race detection, and unit testing. Each conversion required on average 710 LoC and 20 hours of implementation effort. Case studies indicate that Solstice-based continuous analysis tools are intuitive and easy-to-use. Kivanç Muslu, Yuriy Brun, Michael D. Ernst, David Notkin |
IEEE Trans. Software Eng. | 1 |
| 2014 | Transition from centralized to decentralized version control systems: a case study on reasons, barriers, and outcomesabstractIn recent years, software development has started to transition from centralized version control systems (CVCSs) to decentralized version control systems (DVCSs). Although CVCSs and DVCSs have been studied extensively, there has been little research on the transition across these systems. This paper investigates the transition process, from the developer’s view, in a large company. The paper captures the transition reasons, barriers, and outcomes through 10 developer interviews, and investigates these findings through a survey, participated by 70 developers. The paper identifies that the majority of the developers need to work incrementally and offline, and manage multiple contexts efficiently. DVCSs fulfill these developer needs; however the transition comes with a cost depending on the previous development workflow. The paper discusses the transition reasons, barriers and outcomes, and provides recommendations for teams planning such a transition. The paper shows that lightweight branches, and local and incremental commits were the main reasons for developers wanting to move to a DVCS. Further, the paper identifies the main problems with the transition process as: steep DVCS learning curve; incomplete DVCS integration with the rest of the development workflow; and DVCS scaling issues. Kivanç Muslu, Christian Bird, Nachiappan Nagappan, Jacek Czerwonka |
ICSE | 1 |
| 2014 | Empirically revisiting the test independence assumptionabstractIn a test suite, all the test cases should be independent: no test should affect any other test’s result, and running the tests in any order should produce the same test results. Techniques such as test prioritization generally assume that the tests in a suite are independent. Test dependence is a little-studied phenomenon. This paper presents five results related to test dependence. Sai Zhang 0001, Darioush Jalali, Jochen Wuttke, Kivanç Muslu, Wing Lam, Michael D. Ernst, David Notkin |
ISSTA | 4 |
| 2013 | Integrating systematic exploration, analysis, and maintenance in software developmentabstractModern integrated development environments (IDEs) support one live codebase at a given moment, which imposes limitations to software development. For example, with only one codebase, the developer must pause development while running tests, or a static analysis, as any edit could invalidate the ongoing computation. Were the IDEs supported a copy of developer's codebase, the analyses could have run on this copy, in parallel with the development process. In this paper, we propose techniques and tools that integrate multiple live codebases support to the software development process. Our hypothesis is that IDE support for multiple live codebases can provide a richer development process and aid developers. Kivanç Muslu |
ICSE | 1 |
| 2013 | Making offline analyses continuousabstractDevelopers use analysis tools to help write, debug, and understand software systems under development. A developer's change to the system source code may affect analysis results. Typically, to learn those effects, the developer must explicitly initiate the analysis. This may interrupt the developer's workflow and/or the delay until the developer learns the implications of the change. The situation is even worse for impure analyses — ones that modify the code on which it runs — because such analyses block the developer from working on the code. Kivanç Muslu, Yuriy Brun, Michael D. Ernst, David Notkin |
ESEC/SIGSOFT FSE | 1 |
| 2013 | Data debugging with continuous testingabstractToday, systems rely as heavily on data as on the software that manipulates those data. Errors in these systems are incredibly costly, annually resulting in multi-billion dollar losses, and, on multiple occasions, in death. While software debugging and testing have received heavy research attention, less effort has been devoted to data debugging: discovering system errors caused by well-formed but incorrect data. In this paper, we propose continuous data testing: using otherwise-idle CPU cycles to run test queries, in the background, as a user or database administrator modifies a database. This technique notifies the user or administrator about a data bug as quickly as possible after that bug is introduced, leading to at least three benefits: (1) The bug is discovered quickly and can be fixed before it is likely to cause a problem. (2) The bug is discovered while the relevant change is fresh in the user's or administrator's mind, increasing the chance that the underlying cause of the bug, as opposed to only the discovered side-effect, is fixed. (3) When poor documentation or company policies contribute to bugs, discovering the bug quickly is likely to identify these contributing factors, facilitating updating documentation and policies to prevent similar bugs in the future. We describe the problem space and potential benefits of continuous data testing, our vision for the technique, challenges we encountered, and our prototype implementation for PostgreSQL. The prototype's low overhead shows promise that continuous data testing can address the important problem of data debugging. Kivanç Muslu, Yuriy Brun, Alexandra Meliou |
ESEC/SIGSOFT FSE | 1 |
| 2012 | Improving IDE recommendations by considering global implications of existing recommendationsabstractModern integrated development environments (IDEs) offer recommendations to aid development, such as auto-completions, refactorings, and fixes for compilation errors. Recommendations for each code location are typically computed independently of the other locations. We propose that an IDE should consider the whole codebase, not just the local context, before offering recommendations for a particular location. We demonstrate the potential benefits of our technique by presenting four concrete scenarios in which the Eclipse IDE fails to provide proper Quick Fixes at relevant locations, even though it offers those fixes at other locations. We describe a technique that can augment an existing IDE's recommendations to account for non-local information. For example, when some compilation errors depend on others, our technique helps the developer decide which errors to resolve first. Kivanç Muslu, Yuriy Brun, Reid Holmes, Michael D. Ernst, David Notkin |
ICSE | 1 |
| 2012 | Speculative analysis of integrated development environment recommendationsabstractModern integrated development environments make recommendations and automate common tasks, such as refactorings, auto-completions, and error corrections. However, these tools present little or no information about the consequences of the recommended changes. For example, a rename refactoring may: modify the source code without changing program semantics; modify the source code and (incorrectly) change program semantics; modify the source code and (incorrectly) create compilation errors; show a name collision warning and require developer input; or show an error and not change the source code. Having to compute the consequences of a recommendation -- either mentally or by making source code changes -- puts an extra burden on the developers. This paper aims to reduce this burden with a technique that informs developers of the consequences of code transformations. Using Eclipse Quick Fix as a domain, we describe a plug-in, Quick Fix Scout, that computes the consequences of Quick Fix recommendations. In our experiments, developers completed compilation-error removal tasks 10% faster when using Quick Fix Scout than Quick Fix, although the sample size was not large enough to show statistical significance. Kivanç Muslu, Yuriy Brun, Reid Holmes, Michael D. Ernst, David Notkin |
OOPSLA | 1 |
| 2012 | Location pairs: a test coverage metric for shared-memory concurrent programs
Serdar Tasiran, M. Erkan Keremoglu, Kivanç Muslu |
Empir. Softw. Eng. | 3 |
| 2011 | Building and using pluggable type-checkersabstractThis paper describes practical experience building and using pluggable type-checkers. A pluggable type-checker refines (strengthens) the built-in type system of a programming language. This permits programmers to detect and prevent, at compile time, defects that would otherwise have been manifested as run-time errors. The prevented defects may be generally applicable to all programs, such as null pointer dereferences. Or, an application-specific pluggable type system may be designed for a single application. Werner Dietl, Stephanie Dietzel, Michael D. Ernst, Kivanç Muslu, Todd W. Schiller |
ICSE | 4 |
| 2011 | Finding bugs by isolating unit testsabstractEven in simple programs there are hidden assumptions and dependencies between units that are not immediately visible in each involved unit. These dependencies are generally hard to identify and locate, and can lead to subtle faults that are often missed, even by extensive test suites. Kivanç Muslu, Bilge Soran, Jochen Wuttke |
SIGSOFT FSE | 1 |
| 2010 | Run-Time Verification of Optimistic Concurrency
Ali Sezgin, Serdar Tasiran, Kivanç Muslu, Shaz Qadeer |
RV | 3 |