Baris Aktemur

dblp:76/4101 · also T. Baris Aktemur · DBLP profile ↗
← Back
13ranked-venue papers
3as first author
0since 2021 · last 2020
0000-0002-1414-9338ORCID · reported

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

Software engineering, systems software and programming languages · 10 · 2 first-authorSystems, architecture and hardware · 2 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1

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
2 papers
Compilers and program optimization · 67% Program analysis · 17% Programming languages and type systems · 17%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
High-performance computing · 100%

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

TopicWeightPapersLastEvidence papers
Compilers and program optimization
autotuning
0.212016
Autotuning Runtime Specialization for Sparse Matrix-Vector Multiplication · ACM Trans. Archit. Code Optim. 2016
Compilers and program optimization › program specialization
runtime specialization
0.212016
Autotuning Runtime Specialization for Sparse Matrix-Vector Multiplication · ACM Trans. Archit. Code Optim. 2016
High-performance computing › sparse linear algebra
sparse matrix computation
0.212016
Autotuning Runtime Specialization for Sparse Matrix-Vector Multiplication · ACM Trans. Archit. Code Optim. 2016
High-performance computing › sparse linear algebra › sparse matrix computation
sparse matrix-vector multiplication
0.212016
Autotuning Runtime Specialization for Sparse Matrix-Vector Multiplication · ACM Trans. Archit. Code Optim. 2016
Programming languages and type systems › metaprogramming
multi-stage programming
0.112011
Static analysis of multi-staged programs via unstaging translation · POPL 2011
Program analysis
static analysis
0.112011
Static analysis of multi-staged programs via unstaging translation · POPL 2011

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

feature-based prediction · 0.5code generation · 0.5auto-tuning · 0.5unstaging translation · 0.1semantic-preserving translation · 0.1
YearPublicationVenuePosition
2020 ADVISOR: An Adjustable Framework for Test Oracle Automation of Visual Output Systems
abstract
Test oracles differentiate between the correct and incorrect system behavior. Automation of test oracles for visual output systems mainly involves image comparison, where a snapshot of the output is compared with respect to a reference image. Hereby, the captured snapshot can be subject to variations such as scaling and shifting. These variations lead to incorrect evaluations. Existing approaches employ computer vision techniques to address a specific set of variations. In this article, we introduce ADVISOR, an adjustable framework for test oracle automation of visual output systems. It allows the use of a flexible combination and configuration of computer vision techniques. We evaluated a set of valid configurations with a benchmark dataset collected during the tests of commercial digital TV systems. Some of these configurations achieved up to 3% better overall accuracy with respect to state-of-the-art tools. Further, we observed that there is no configuration that reaches the best accuracy for all types of image variations. We also empirically investigated the impact of significant parameters. One of them is a threshold regarding image matching score that determines the final verdict. This parameter is automatically tuned by offline training. We evaluated runtime performance as well. Results showed that differences among the ADVISOR configurations and state-of-the-art tools are in the order of seconds per image comparison.
Ahmet Esat Genç, Hasan Sözer, Furkan Kiraç, Baris Aktemur
IEEE Trans. Reliab.4
2019 Automatically learning usage behavior and generating event sequences for black-box testing of reactive systems
Furkan Kiraç, Baris Aktemur, Hasan Sözer, Ceren Sahin Gebizli
Softw. Qual. J.2
2018 A sparse matrix-vector multiplication method with low preprocessing cost
abstract
Summary Sparse matrix‐vector multiplication (SpMV) is a crucial operation used for solving many engineering and scientific problems. In general, there is no single SpMV method that gives high performance for all sparse matrices. Even though there exist sparse matrix storage formats and SpMV implementations that yield high efficiency for certain matrix structures, using these methods may entail high preprocessing or format conversion costs. In this work, we present a new SpMV implementation, named CSRLenGoto, that can be utilized by preprocessing the Compressed Sparse Row (CSR) format of a matrix. This preprocessing phase is inexpensive enough for the associated cost to be compensated in just a few repetitions of the SpMV operation. CSRLenGoto is based on complete loop unrolling and gives performance improvements in particular for matrices whose mean row length is low. We parallelized our method by integrating it into a state‐of‐the‐art matrix partitioning approach as the kernel operation. We observed up to 2.46× and on the average 1.29× speedup with respect to Intel MKL's SpMV function for matrices with short‐ or medium‐length rows.
Baris Aktemur
Concurr. Comput. Pract. Exp.1
2018 VISOR: A fast image processing pipeline with scaling and translation invariance for test oracle automation of visual output systems
Furkan Kiraç, Baris Aktemur, Hasan Sözer
J. Syst. Softw.2
2016 Autotuning Runtime Specialization for Sparse Matrix-Vector Multiplication
abstract
Runtime specialization is used for optimizing programs based on partial information available only at runtime. In this paper we apply autotuning on runtime specialization of Sparse Matrix-Vector Multiplication to predict a best specialization method among several. In 91% to 96% of the predictions, either the best or the second-best method is chosen. Predictions achieve average speedups that are very close to the speedups achievable when only the best methods are used. By using an efficient code generator and a carefully designed set of matrix features, we show the runtime costs can be amortized to bring performance benefits for many real-world cases.
Buse Yilmaz, Baris Aktemur, María Jesús Garzarán, Samuel N. Kamin, Furkan Kiraç
ACM Trans. Archit. Code Optim.2
2014 Effort Estimation for Architectural Refactoring to Introduce Module Isolation
Fatih Öztürk, Erdem Sarili, Hasan Sözer, Baris Aktemur
ECSA4
2014 Optimization by runtime specialization for sparse matrix-vector multiplication
abstract
Runtime specialization optimizes programs based on partial information available only at run time. It is applicable when some input data is used repeatedly while other input data varies. This technique has the potential of generating highly efficient codes. In this paper, we explore the potential for obtaining speedups for sparse matrix-dense vector multiplication using runtime specialization, in the case where a single matrix is to be multiplied by many vectors. We experiment with five methods involving runtime specialization, comparing them to methods that do not (including Intel's MKL library). For this work, our focus is the evaluation of the speedups that can be obtained with runtime specialization without considering the overheads of the code generation. Our experiments use 23 matrices from the Matrix Market and Florida collections, and run on five different machines. In 94 of those 115 cases, the specialized code runs faster than any version without specialization. If we only use specialization, the average speedup with respect to Intel's MKL library ranges from 1.44x to 1.77x, depending on the machine. We have also found that the best method depends on the matrix and machine; no method is best for all matrices and machines.
Samuel N. Kamin, María Jesús Garzarán, Baris Aktemur, Danqing Xu, Buse Yilmaz, Zhongbo Chen
GPCE3
2014 Fault masking as a service
abstract
SUMMARY In SOA, composite services depend on a set of partner services to perform their tasks. These partner services may become unavailable because of system and/or network faults, leading to an increased error rate for the composite service. In this paper, we propose an approach to prevent the occurrence of errors that result from the unavailability of partner services. We introduce an external Web service, dubbed Fault Avoidance Service (FAS), to which composite services can register at will. After registration, FAS periodically checks the partner links, detects unavailable partner services, and updates the composite service with available alternatives. Thus, in case of a partner service error, the composite service will have been updated before attempting an ill‐destined request. We provide mathematical analysis regarding the error rate and the false positive rate with respect to the monitoring frequency of FAS for two models. We obtained empirical results by conducting several tests on the Amazon Elastic Compute Cloud to evaluate our mathematical analyses. We also introduce an industrial case study for improving the quality of a service‐oriented system from the broadcasting and content delivery domain. Copyright © 2014 John Wiley & Sons, Ltd.
Koray Gülcü, Hasan Sözer, Baris Aktemur, Ali Ozer Ercan
Softw. Pract. Exp.3
2013 Shonan challenge for generative programming: short position paper
abstract
The appeal of generative programming is "abstraction without guilt": eliminating the vexing trade-off between writing high-level code and highly-performant code. Generative programming also promises to formally capture the domain-specific knowledge and heuristics used by high-performance computing (HPC)experts. How far along are we in fulfilling these promises? To gauge our progress, a recent Shonan Meeting on "bridging the theory of staged programming languages and the practice of high-performance computing" proposed to use a set of benchmarks, dubbed "Shonan Challenge".
Baris Aktemur, Yukiyoshi Kameyama, Oleg Kiselyov, Chung-chieh Shan
PEPM1
2011 Static analysis of multi-staged programs via unstaging translation
abstract
Static analysis of multi-staged programs is challenging because the basic assumption of conventional static analysis no longer holds: the program text itself is no longer a fixed static entity, but rather a dynamically constructed value. This article presents a semantic-preserving translation of multi-staged call-by-value programs into unstaged programs and a static analysis framework based on this translation. The translation is semantic-preserving in that every small-step reduction of a multi-staged program is simulated by the evaluation of its unstaged version. Thanks to this translation we can analyze multi-staged programs with existing static analysis techniques that have been developed for conventional unstaged programs: we first apply the unstaging translation, then we apply conventional static analysis to the unstaged version, and finally we cast the analysis results back in terms of the original staged program. Our translation handles staging constructs that have been evolved to be useful in practice (typified in Lisp's quasi-quotation): open code as values, unrestricted operations on references and intentional variable-capturing substitutions. This article omits references for which we refer the reader to our companion technical report.
Wontae Choi, Baris Aktemur, Kwangkeun Yi, Makoto Tatsuta
POPL2
2006 Staging static analyses for program generation
abstract
Program generators are most naturally specified using a quote/antiquote facility; the programmer writes programs with holes which are filled in, at program generation time, by other program fragments. If the programs are generated at compile-time, analysis and compilation follow generation, and no changes in the compiler are needed. However, if program generation is done at run time, compilation and analysis need to be optimized so that they will not overwhelm overall execution time. In this paper, we give a compositional framework for defining program analyses which leads directly to a method of staging these analyses. The staging allows the analysis of incomplete programs to be started at compile time; the residual work to be done at run time may be much less costly than the full analysis. We give frameworks for forward and backward analyses, present several examples of specific analyses, and give timing results showing significant speed-ups for the run-time portion of the analysis relative to the full analysis.
Samuel N. Kamin, Baris Aktemur, Michael Katelman
GPCE2
2005 Optimizing Marshalling by Run-Time Program Generation
Baris Aktemur, Joel Jones, Samuel N. Kamin, Lars Ræder Clausen
GPCE1
2005 Source-Level Optimization of Run-Time Program Generators
Samuel N. Kamin, Baris Aktemur, Philip Morton
GPCE2