Person: SÖZER, Hasan
Name
Job Title
First Name
Hasan
Last Name
SÖZER
82 results
Publication Search Results
Now showing 1 - 10 of 82
ArticlePublication Metadata only Extending static code analysis with application-specific rules by analyzing runtime execution traces(Springer International Publishing, 2016) Ersoy, E.; Sözer, Hasan; Computer Science; SÖZER, HasanStatic analysis tools cannot detect violations of application-specific rules. They can be extended with specialized checkers that implement the verification of these rules. However, such rules are usually not documented explicitly. Moreover, the implementation of specialized checkers is a manual process that requires expertise. In this work, application-specific programming rules are automatically extracted from execution traces collected at runtime. These traces are analyzed offline to identify programming rules. Then, specialized checkers for these rules are introduced as extensions to a static analysis tool so that their violations can be checked throughout the source code. We implemented our approach for Java programs, considering 3 types of faults. We performed an evaluation with an industrial case study from the telecommunications domain. We were able to detect real faults with checkers that were generated based on the analysis of execution logs.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 A longitudinal case study on Nexus transformation: Impact on productivity, quality, and motivation(Wiley, 2023-09) Ersoy, E.; Çallı, E.; Erdoğan, B.; Bağrıyanık, S.; Sözer, Hasan; Computer Science; SÖZER, HasanThere have been success stories reported regarding the adoption of agile software development methods in the industry. There also exist observations on their limitations. One of these limitations is scalability since agile methods like Scrum were originally designed for small software teams. Scalable agile frameworks were introduced to address this limitation. We conducted an industrial case study on the adoption of such a framework, called Nexus. Our study involves quantitative and qualitative evaluation based on observations within a product development organization over a period of 12 months. Scrum is used for the development of a product during the first 6 months of this period. Nexus is used in the remaining 6 months. Data are collected throughout the whole period for measuring productivity, quality, and team member motivation. Results suggest a significant increase in productivity and product quality after switching to Nexus. Team motivation was slightly improved as well.Conference paperPublication Metadata only Summary of an effective formulation of the multi-criteria test suite minimization problem(IEEE, 2022) Özener, Okan Örsan; Sözer, Hasan; Industrial Engineering; Computer Science; ÖZENER, Okan Örsan; SÖZER, HasanThis is an extended abstract of the article: Okan Orsan Ozener and Hasan Sozer, 'An Effective Formulation of the Multi-Criteria Test Suite Minimization Problem', published in the Journal of Systems and Software, Vol. 168, pp. 110632, 2020. https://doi.org/10.1016/j.jss.2020.110632.Conference paperPublication Metadata only Successive refinement of models for model-based testing to increase system test effectiveness(IEEE, 2016) Sahin Gebizli, C.; Sözer, Hasan; Ercan, Ali Özer; Electrical & Electronics Engineering; Computer Science; SÖZER, Hasan; ERCAN, Ali ÖzerModel-based testing is used for automatically generating test cases based on models of the system under test. The effectiveness of tests depends on the contents of these models. Therefore, we introduce a novel three-step model refinement approach. We represent test models in the form of Markov chains. First, we update state transition probabilities in these models based on usage profile. Second, we perform an update based on fault likelihood that is estimated with static code analysis. Our third update is based on error likelihood that is estimated with dynamic analysis. We generate and execute test cases after each refinement. We applied our approach for model-based testing of a Smart TV system and new faults were revealed after each refinement.ArticlePublication Metadata only Increasing test efficiency by risk-driven model-based testing(Elsevier, 2018-10) Gebizli, C. Ş.; Kırkıcı, A.; Sözer, Hasan; Computer Science; SÖZER, HasanWe introduce an approach and a tool, RIMA, for adapting test models used for model-based testing to augment information regarding failure risk. We represent test models in the form of Markov chains. These models comprise a set of states and a set of state transitions that are annotated with probability values. These values steer the test case generation process, which aims at covering the most probable paths. RIMA refines these models in 3 steps. First, it updates transition probabilities based on a collected usage profile. Second, it updates the resulting models based on fault likelihood at each state, which is estimated based on static code analysis. Third, it performs updates based on error likelihood at each state, which is estimated with dynamic analysis. The approach is evaluated with two industrial case studies for testing digital TVs and smart phones. Results show that the approach increases test efficiency by revealing more faults in less testing time.ArticlePublication Metadata only Integrated static code analysis and runtime verification(Wiley, 2015-10) Sözer, Hasan; Computer Science; SÖZER, HasanStatic code analysis tools automatically generate alerts for potential software faults that can lead to failures. However, these tools usually generate a very large number of alerts, some of which are subject to false positives. Because of limited resources, it is usually hard to inspect all the alerts. As a complementary approach, runtime verification techniques verify dynamic system behavior with respect to a set of specifications. However, these specifications are usually created manually based on system requirements and constraints. In this paper, we introduce a noval approach and a toolchain for integrated static code analysis and runtime verification. Alerts that are generated by static code analysis tools are utilized for automatically generating runtime verification specifications. On the other hand, runtime verification results are used for automatically generating filters for static code analysis tools to eliminate false positives. The approach is illustrated for the static analysis and runtime verification of an open-source bibliography reference manager software.Conference paperPublication Open Access Test kâhini olarak görüntü karşılaştırma algoritmalarının değerlendirilmesi(CEUR-WS, 2017) Erdil, Ö. F.; Can, İrfan; Sözer, Hasan; Computer Science; Turhan, Ç.; Coşkunçay, A.; Yazıcı, A.; Oğuztüzün, H.; SÖZER, Hasan; Can, İrfanTelevizyon gibi yoğun yazılım içeren gömülü sistemlerin kara kutu testleri, grafik kullanıcı arayüzleri (GKA) aracılığıyla gerçekleştirilmektedir. Bu testlerin otomasyonu kapsamında bir dizi kullanıcı işlemi dışarıdan tetiklenmektedir. Bu sırada, doğru ve yanlış sistem davranışı arasında ayrım yapan ve böylece testlerin geçip geçmediğine karar veren otomatik bir test kâhinine ihtiyaç duyulmaktadır. Bu amaçla yaygın olarak görüntü karşılaştırma araçları kullanılmaktadır. Bu araçlar, gözlenen GKA ile daha önceden kaydedilmiş bir referans GKA ekran görüntüsünü karşılaştırmaktadır. Bu çalışmada, 9 farklı görüntü karşılaştırma aracı bir endüstriyel vaka çalışması ile değerlendirildi. Bir televizyon sisteminin gerçek test çalışmalarından 1000 çift referans ve anlık GKA görüntüsü toplandı ve bu görüntüler başarılı/başarısız test olarak etiketlendirildi. Ayrıca, toplanan veri kümesi görüntülerde meydana gelen piksel kayması, renk tonu/doygunluk farklılığı ve resim gövdesinde esneme (büyüme, küçülme, genişleme, daralma) gibi çeşitli etkilere göre sınıflandırıldı. Ardından, bu veri kümesi ile karşılaştırılan araçlar, doğruluk ve performans açısından değerlendirildi. Araçların parametre değerlerine ve karşılaştırılan görüntülerin tâbi oldukları etkilere göre farklı sonuçlar verdiği görülmüştür. Hazırlanan veri kümesi için en iyi sonuçları veren araç ve bu aracın parametre değerleri tespit edilmiştir.Conference paperPublication Metadata only Incremental analysis of large-scale system logs for anomaly detection(IEEE, 2019) Astekin, M.; Özcan, S.; Sözer, Hasan; Computer Science; SÖZER, HasanAnomalies during system execution can be detected by automated analysis of logs generated by the system. However, large scale systems can generate tens of millions of lines of logs within days. Centralized implementations of traditional machine learning algorithms are not scalable for such data. Therefore, we recently introduced a distributed log analysis framework for anomaly detection. In this paper, we introduce an extension of this framework, which can detect anomalies earlier via incremental analysis instead of the existing offline analysis approach. In the extended version, we periodically process the log data that is accumulated so far. We conducted controlled experiments based on a benchmark dataset to evaluate the effectiveness of this approach. We repeated our experiments with various periods that determine the frequency of analysis as well as the size of the data processed each time. Results showed that our online analysis can improve anomaly detection time significantly while keeping the accuracy level same as that is obtained with the offline approach. The only exceptional case, where the accuracy is compromised, rarely occurs when the analysis is triggered before all the log data associated with a particular session of events are collected.Conference paperPublication Metadata only Automated classification of static code analysis alerts: a case study(IEEE, 2013) Yüksel, Ulaş; Sözer, Hasan; Computer Science; SÖZER, Hasan; Yüksel, UlaşStatic code analysis tools automatically generate alerts for potential software faults that can lead to failures. However, developers are usually exposed to a large number of alerts. Moreover, some of these alerts are subject to false positives and there is a lack of resources to inspect all the alerts manually. To address this problem, numerous approaches have been proposed for automatically ranking or classifying the alerts based on their likelihood of reporting a critical fault. One of the promising approaches is the application of machine learning techniques to classify alerts based on a set of artifact characteristics. In this work, we evaluate this approach in the context of an industrial case study to classify the alerts generated for a digital TV software. First, we created a benchmark based on this code base by manually analyzing thousands of alerts. Then, we evaluated 34 machine learning algorithms using 10 different artifact characteristics and identified characteristics that have a significant impact. We obtained promising results with respect to the precision of classification.