Semih Okur

dblp:121/2718 · DBLP profile ↗
← Back
5ranked-venue papers
4as first author
0since 2021 · last 2015
0000-0002-7207-7416ORCID · corroborated

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

Software engineering, systems software and programming languages · 5 · 4 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
Software maintenance and evolution · 49% Empirical software engineering · 26% Concurrent programming · 25%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Parallel and multicore computing · 100%

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

TopicWeightPapersLastEvidence papers
Software maintenance and evolution
refactoring
0.422015
Understanding, Refactoring, and Fixing Concurrency in C# · ASE 2015
Study and Refactoring of Android Asynchronous Programming (T) · ASE 2015
Concurrent programming
concurrency bugs
0.212015
Understanding, Refactoring, and Fixing Concurrency in C# · ASE 2015
Software maintenance and evolution › refactoring
concurrency refactoring
0.212015
Understanding, Refactoring, and Fixing Concurrency in C# · ASE 2015
Empirical software engineering
mining software repositories
0.212015
Understanding, Refactoring, and Fixing Concurrency in C# · ASE 2015
Empirical software engineering
developer studies
0.222014
How do developers use parallel libraries? · SIGSOFT FSE 2012
A study and toolkit for asynchronous programming in c# · ICSE 2014
Concurrent programming › concurrency models
asynchronous programming
0.212014
A study and toolkit for asynchronous programming in c# · ICSE 2014
Software maintenance and evolution
API usage
0.112012
How do developers use parallel libraries? · SIGSOFT FSE 2012
Parallel and multicore computing
parallel libraries
0.112012
How do developers use parallel libraries? · SIGSOFT FSE 2012
Parallel and multicore computing
parallel programming models
0.112012
How do developers use parallel libraries? · SIGSOFT FSE 2012

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

static analysis · 0.2refactoring tools · 0.2
YearPublicationVenuePosition
2015 Study and Refactoring of Android Asynchronous Programming (T)
abstract
To avoid unresponsiveness, a core part of mobile development is asynchronous programming. Android providesseveral async constructs that developers can use. However, developers can still use the inappropriate async constructs, which result in memory leaks, lost results, and wasted energy. Fortunately, refactoring tools can eliminate these problems by transforming async code to use the appropriate constructs. In this paper we conducted a formative study on a corpusof 611 widely-used Android apps to map the asynchronouslandscape of Android apps, understand how developers retrofit asynchrony, and learn about barriers encountered by developers. Based on this study, we designed, implemented, and evaluated ASYNCDROID, a refactoring tool which enables Android developers to transform existing improperly-used async constructs into correct constructs. Our empirical evaluation shows that ASYNCDROID is applicable, accurate, and saves developers effort. We submitted 45 refactoring patches, and developers consider that the refactorings are useful.
Semih Okur, Danny Dig
ASE2
2015 Understanding, Refactoring, and Fixing Concurrency in C#
abstract
Industry leaders provide concurrent libraries because asynchronous & parallel programming are increasingly in demand: responsiveness, scalability, and high-throughput are key elements of all modern applications. However, we know little about how developers use these concurrent libraries in practice and the developer's toolbox for concurrency is very limited. We present the first study that analyzes the usage of concurrent libraries in large codebases, such as 2258 open-source C# apps comprising 54M SLOC and 1378 open-source Windows Phone apps comprising 12M SLOC. Using this data, we find important problems about use and misuse of concurrency. Inspired by our findings, we designed, evaluated, and implemented several static analyses and refactoring tools.
Semih Okur
ASE1
2014 Converting Parallel Code from Low-Level Abstractions to Higher-Level Abstractions
Semih Okur, Cansu Erdogan, Danny Dig
ECOOP1
2014 A study and toolkit for asynchronous programming in c#
abstract
Asynchronous programming is in demand today, because responsiveness is increasingly important on all modern devices. Yet, we know little about how developers use asynchronous programming in practice. Without such knowledge, developers, researchers, language and library designers, and tool providers can make wrong assumptions.
Semih Okur, David L. Hartveld, Danny Dig, Arie van Deursen
ICSE1
2012 How do developers use parallel libraries?
abstract
Parallel programming is hard. The industry leaders hope to convert the hard problem of using parallelism into the easier problem of using a parallel library. Yet, we know little about how programmers adopt these libraries in practice. Without such knowledge, other programmers cannot educate themselves about the state of the practice, library designers are unaware of API misusage, researchers make wrong assumptions, and tool vendors do not support common usage of library constructs.
Semih Okur, Danny Dig
SIGSOFT FSE1