Faculty of Engineering
Permanent URI for this communityhttps://hdl.handle.net/10679/10
Browse
Browsing by Institution Author "AKTEMUR, Tankut Bariş"
Now showing 1 - 20 of 20
- Results Per Page
- Sort Options
Conference ObjectPublication Metadata only Adaptive domain-specific service monitoring(Springer Science+Business Media, 2014) Ünsal, A. A.; Sazara, G.; Aktemur, Tankut Barış; Sözer, Hasan; Computer Science; AKTEMUR, Tankut Bariş; SÖZER, HasanWe propose an adaptive and domain-specific service monitoring approach to detect partner service errors in a cost-effective manner. Hereby, we not only consider generic errors such as file not found or connection timed out, but also take domain-specific errors into account. The detection of each type of error entails a different monitoring cost in terms of the consumed resources. To reduce costs, we adapt the monitoring frequency for each service and for each type of error based on the measured error rates and a cost model. We introduce an industrial case study from the broadcasting and content-delivery domain for improving the user-perceived reliability of Smart TV systems. We demonstrate the effectiveness of our approach with real data collected to be relevant for a commercial TV portal application. We present empirical results regarding the trade-off between monitoring overhead and error detection accuracy. Our results show that each service is usually subject to various types of errors with different error rates and exploiting this variation can reduce monitoring costs by up to 30% with negligible compromise on the quality of monitoring.ArticlePublication Metadata only ADVISOR: An adjustable framework for test oracle automation of visual output systems(IEEE, 2020-09) Genç, A. E.; Sözer, Hasan; Kıraç, Mustafa Furkan; Aktemur, Tankut Barış; Computer Science; SÖZER, Hasan; KIRAÇ, Mustafa Furkan; AKTEMUR, Tankut Bariş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.ArticlePublication Metadata only Automatically learning usage behavior and generating event sequences for black-box testing of reactive systems(The ACM Digital Library, 2019-06) Kıraç, Mustafa Furkan; Aktemur, Tankut Barış; Sözer, Hasan; Gebizli, C. Ş.; Computer Science; KIRAÇ, Mustafa Furkan; AKTEMUR, Tankut Bariş; SÖZER, HasanWe propose a novel technique based on recurrent artificial neural networks to generate test cases for black-box testing of reactive systems. We combine functional testing inputs that are automatically generated from a model together with manually-applied test cases for robustness testing. We use this combination to train a long short-term memory (LSTM) network. As a result, the network learns an implicit representation of the usage behavior that is liable to failures. We use this network to generate new event sequences as test cases. We applied our approach in the context of an industrial case study for the black-box testing of a digital TV system. LSTM-generated test cases were able to reveal several faults, including critical ones, that were not detected with existing automated or manual testing activities. Our approach is complementary to model-based and exploratory testing, and the combined approach outperforms random testing in terms of both fault coverage and execution time.ArticlePublication Metadata only Autotuning runtime specialization for sparse matrix-vector multiplication(ACM, 2016-04) Yılmaz, Buse; Aktemur, Tankut Barış; Garzaran, M. J.; Kamin, S.; Kıraç, Mustafa Furkan; Computer Science; AKTEMUR, Tankut Bariş; KIRAÇ, Mustafa Furkan; Yılmaz, BuseRuntime 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.Conference ObjectPublication Metadata only CPU design simplified(IEEE, 2018-12-10) Yıldız, A.; Uğurdağ, Hasan Fatih; Aktemur, Tankut Barış; İskender, Deniz; Gören, S.; Electrical & Electronics Engineering; Computer Science; UĞURDAĞ, Hasan Fatih; AKTEMUR, Tankut Bariş; İskender, DenizThe first goal of this paper is to introduce a simple and customizable soft CPU named VerySimpleCPU (VSCPU), which could be easily implemented on FPGAs with a complete toolchain including instruction set simulator, assembler, and C compiler. The second goal is to offer to use this CPU as a teaching material within computer architecture/organization courses for students to understand the essentials and inner workings of a CPU better by designing a simple one. In addition to this, it is also aimed to teach writing code both in assembly level and C level for the CPU designed to understand what a compiler is and why it is needed.Book PartPublication Metadata only Effort estimation for architectural refactoring to introduce module isolation(Springer, 2014) Öztürk, F.; Sarılı, E.; Sözer, Hasan; Aktemur, Tankut Barış; Computer Science; SÖZER, Hasan; AKTEMUR, Tankut BarişThe decomposition of software architecture into modular units is driven by both functional and quality concerns. Dependability and security are among quality concerns that require a software to be decomposed into separate units isolated from each other. However, it appears that this decomposition is usually not aligned with the decomposition based on functional concerns. As a result, introducing module isolation forced by quality attributes, while preserving the existing decomposition, is not trivial and requires a substantial refactoring effort. In this work, we introduce an approach and a toolset to predict this effort prior to refactoring activities. As such, a selection can be made among potential decomposition alternatives based on quantitative estimations. These estimations are obtained from scalable analysis of module dependencies based on a graph database and reusable query templates. We discuss our experiences and evaluate our approach on a code base used in a commercial Digital TV and Set-top Box software.Book PartPublication Metadata only FAS: introducing a service for avoiding faults in composite services(Springer Science+Business Media, 2012) Gülcü, K.; Sözer, Hasan; Aktemur, Tankut Barış; Computer Science; SÖZER, Hasan; AKTEMUR, Tankut BarişIn service-oriented architectures, composite services depend on a set of partner services to perform the required tasks. These partner services may become unavailable due to 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, FAS (Fault Avoidance Service), 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 invoking the partner service. We provide mathematical analysis regarding the error rate and the ratio of false positives with respect to the monitoring frequency of FAS for different partner service availabilities. We also provide empirical results regarding these metrics based on several tests we performed using the Amazon Elastic Compute Cloud.Conference ObjectPublication Metadata only Fast and efficient implementation of lightweight crypto algorithm PRESENT on FPGA through processor instruction set extension(IEEE, 2019) Varıcı, Abdullah; Sağlam, Gürol; İpek, Seçkin; Yıldız, A.; Gören, S.; Aysu, A.; İskender, Deniz; Aktemur, Tankut Barış; Uğurdağ, Hasan Fatih; Electrical & Electronics Engineering; Computer Science; AKTEMUR, Tankut Bariş; UĞURDAĞ, Hasan Fatih; Varıcı, Abdullah; Sağlam, Gürol; İpek, SeçkinAs Internet of Things (IoT) technology becomes widespread, the importance of information security increases. PRESENT algorithm is a major lightweight symmetric-key encryption algorithm for IoT devices. Compared to the Advanced Encryption Standard (AES), PRESENT uses a lower amount of resources while achieving the same level of security. In this paper, we implement PRESENT with different design methodologies including hand-coded RTL, Vivado HLS, PicoBlaze, VerySimpleCPU (VSCPU) based microcontrollers, and a customized VSCPU. The customized VSCPU design is based on optimizing the instruction set architecture for the algorithm specifics of PRESENT. Our results show that the customized VSCPU design metholodogy can be more efficient than HLS and PicoBlaze while providing the flexibility compared to RTL designs.ArticlePublication Metadata only Fault masking as a service(Wiley, 2014-07) Gülcü, Koray; Sözer, Hasan; Aktemur, Tankut Barış; Ercan, Ali Özer; Electrical & Electronics Engineering; Computer Science; SÖZER, Hasan; AKTEMUR, Tankut Bariş; ERCAN, Ali Özer; Gülcü, KorayIn 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.Conference ObjectPublication Metadata only Optimization by runtime specialization for sparse matrix-vector multiplication(ACM, 2014) Kamin, S.; Jesus Garzaran, M.; Aktemur, Tankut Barış; Xu, D.; Yılmaz, Buse; Chen, Z.; Computer Science; AKTEMUR, Tankut Bariş; Yılmaz, BuseRuntime 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.EditorialPublication Metadata only Preface(2011) Kim, S.; Uchitel, S.; Garbervetsky, D.; Aktemur, Tankut Barış; Kroening, D.; Orso, A.; Nagappan, N.; Xie, T.; Mueller, P.; Cataldo, M.; Tillmann, N.; Margaria-Steffen, T.; Tonetta, S.; Bradley, A.; Chen, N.; Caso, G. de; Ferrara, P.; He, N.; Kassios, I.; Kicillof, N.; Lewis, M.; Meyer, D.; Nagel, R.; Nimal, V.; Pandita, R.; Pavese, E.; Rajan, A.; Roveri, M.; Sawadsky, N.; Schapachnik, F.; Seo, H.; Shakya, K.; Song, Y.; Summers, A.; Xiao, X.; Yilmaz, Buse; Zhang, L.; Bishop, J.; Breitman, K.; Notkin, D.; Computer Science; AKTEMUR, Tankut Bariş; Yilmaz, BuseTechnical reportPublication Open Access Relating Staged Computation to the Record Calculus(Özyeğin University, 2010-09-06) Aktemur, Tankut Barış; Choi, W.; Computer Science; AKTEMUR, Tankut BarişIt has been previously shown that there is a close relation between record calculus and program generation (e.g. Lisp-like quasiquotations): A translation has been defined to convert staged expressions to record calculus expressions, and it has been shown that the call-by-value semantics of the staged and the record calculi are equivalent modulo the translation and admin reductions. In this work, we investigate the relation further. The contributions are twofold: (1) We fine-tune the previously shown relation between the two operational semantics, and obtain more precise results. In particular, we show that only two kinds of admin reductions suffice, and these reductions can be applied exhaustively. (2) We define a reverse translation that converts record calculus expressions back to the staged calculus, allowing us to go back and forth between the two calculi. We believe that these results provide an important step towards reusing already-existing record calculus static analyses to reason about staged expressions.Conference ObjectPublication Metadata only Rumadai: A plug-in to record and replay client-side events of web sites with dynamic content(IEEE, 2012) Yıldız, Asım; Aktemur, Tankut Barış; Sözer, Hasan; Computer Science; AKTEMUR, Tankut Bariş; SÖZER, Hasan; Yıldız, AsımReproducing user events when testing web pages is challenging because of the dynamic nature of the web content and potential dependency on third party content providers. We present Rumadai, a Visual Studio plug-in, that helps web programmers test web pages by recording and replaying clientside events. Rumadai injects code into web pages to be deployed at servers. The injected code, written in JavaScript, records user events as well as client-side dynamic content requests (e.g. via Ajax or Jsonp) and their responses. Recorded events and responses are then sent to a remote database via HTTP POST. Web page developers can query the saved client data, again using Rumadai seamlessly from Visual Studio, to replay all or a subset of events on a browser.Conference ObjectPublication Metadata only Seyrek matris-vektör çarpımı için koşut zamanda özelleşmi̇ş kod üreti̇mi̇ ve deneysel opti̇mi̇zasyon(IEEE, 2012) Aktemur, Tankut Barış; Yıldız, Asım; Kamin, S.; Computer Science; AKTEMUR, Tankut Bariş; Yıldız, AsımBu çalışmada seyrek matris-vektor çarpımı için matris içeriğine göre özelleşmiş, yüksek hızlı program üretimi yapan bir kütüphane tasarımı anlatılmaktadır. Kütüphane sinyal işleme uygulamaları, bilimsel hesaplamalar, sonlu eleman analizi gibi mühendislik problemlerinde kullanılan büyük matrisler için kod üretimine olanak verir. Üretilen kod, pek çok seçenek arasından, deneysel optimizasyon yöntemiyle seçilir. Bu sayede koşumun gerçekleştiği makineye en uygun seçimin yapılması hedeflenir.Conference ObjectPublication Metadata only Shonan challenge for generative programming: short position paper(ACM, 2013) Aktemur, Tankut Barış; Kameyama, Y.; Kiselyov, O.; Shan, C.-C.; Computer Science; AKTEMUR, Tankut Bariş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". Shonan Challenge is a collection of crisp problems posed by HPC and domain experts, for which efficient implementations are known but were tedious to write and modify. The challenge is to generate a similar efficient implementation from the high-level specification of a problem, performing the same optimizations, but automatically. It should be easy to adjust optimizations and the specification, maintaining confidence in the generated code. We describe our initial set of benchmarks and provide three solutions to two of the problems. We hope that the Shonan Challenge will clarify the state of the art and stimulate the theory and technology of staging just as the POPLmark challenge did for meta-theory mechanization. Since each Shonan Challenge problem is a kernel of a significant HPC application, each solution has an immediate practical application.Conference ObjectPublication Metadata only Software UART: A use case for VSCPU worst-case execution time analyzer(IEEE, 2019) Yıldız, A.; İskender, Deniz; Özlü, G.; Uğurdağ, Hasan Fatih; Aktemur, Tankut Barış; Gören, S.; Electrical & Electronics Engineering; Computer Science; UĞURDAĞ, Hasan Fatih; AKTEMUR, Tankut Bariş; İskender, DenizThis paper presents our early results of the development of a Worst-Case Execution Time (WCET) analyzer for VSCPU by implementing a software UART system. Our WCET analyzer takes a C program as input and gives the time taken by each function as output. A software UART system eliminates the need to employ a dedicated hardware for RS232 interface and makes directly use of the processor instead. For this purpose, we designed and implemented a memory-mapped system which has access to UART pins and is capable of setting and sampling these pins from software by a method of bit banging. We used the output of our WCET analyzer to approximate the actual bit times for a specific UART baud rate. By successfully testing and verifying our software UART, we showed that our WCET analyzer could be used to estimate runtime of tasks in an application. Although development of the WCET analyzer is ongoing, the results are promising.Conference ObjectPublication Metadata only A sparse matrix‐vector multiplication method with low preprocessing cost(Wiley, 2018-11-10) Aktemur, Tankut Barış; Computer Science; AKTEMUR, Tankut Bariş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.Conference ObjectPublication Metadata only Static analysis of multi-staged programs via unstaging translation(ACM, 2011) Choi, W.; Aktemur, Tankut Barış; Yi, K.; Tatsuta, M.; Computer Science; AKTEMUR, Tankut BarişStatic analysis of multi-staged programs is challenging because thebasic 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 semanticpreserving 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 beenevolved 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.Conference ObjectPublication Metadata only Towards subtyped program generation in F#(ACM, 2011) Aktemur, Tankut Barış; Computer Science; AKTEMUR, Tankut BarişProgram Generation is the technique of combining code fragments to construct a program. In this work we report on our progress to extend F# with program generation constructs. Our prototype implementation uses a translation that allows simulating program generators by regular programs. The translation enables fast implementation and experimentation. We state how a further extension with subtyping can be integrated by benefiting from the translation.ArticlePublication Metadata only VISOR: A fast image processing pipeline with scaling and translation invariance for test oracle automation of visual output systems(The ACM Digital Library, 2018-02) Kıraç, Mustafa Furkan; Aktemur, Tankut Barış; Sözer, Hasan; Computer Science; KIRAÇ, Mustafa Furkan; AKTEMUR, Tankut Bariş; SÖZER, HasanA test oracle automation approach proposed for systems that produce visual output.Root causes of accuracy issues analyzed for test oracles based on image comparison.Image processing techniques employed to improve the accuracy of test oracles.A fast image processing pipeline developed as an automated test oracle.An industrial case study performed for automated regression testing of Digital TVs. Test oracles differentiate between the correct and incorrect system behavior. Hence, test oracle automation is essential to achieve overall test automation. Otherwise, testers have to manually check the system behavior for all test cases. A common test oracle automation approach for testing systems with visual output is based on exact matching between a snapshot of the observed output and a previously taken reference image. However, images can be subject to scaling and translation variations. These variations lead to a high number of false positives, where an error is reported due to a mismatch between the compared images although an error does not exist. To address this problem, we introduce an automated test oracle, named VISOR, that employs a fast image processing pipeline. This pipeline includes a series of image filters that align the compared images and remove noise to eliminate differences caused by scaling and translation. We evaluated our approach in the context of an industrial case study for regression testing of Digital TVs. Results show that VISOR can avoid 90% of false positive cases after training the system for 4h. Following this one-time training, VISOR can compare thousands of image pairs within seconds on a laptop computer.