VLDB 2026 Research / reviewers in the wild / expert
Cemal Yilmaz 0001
dblp:54/530-1
· DBLP profile ↗
34ranked-venue papers
9as first author
13since 2021 · last 2025
0000-0003-4124-2295ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 29 · 9 first-author · 10 since 2021Security and privacy · 4 · 4 since 2021Systems, architecture and hardware · 1Applied, interdisciplinary, general and emerging computing · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Model-based test execution from high-level natural language instructions using GPT-4
Mohammad Yusaf Azimi, Cemal Yilmaz 0001 |
Softw. Qual. J. | 2 |
| 2024 | Dissecting Privacy Perspectives of Websites Around the World: "Aceptar Todo, Alle Akzeptieren, Accept All..."
Aysun Ogut, Berke Turanlioglu, Doruk Can Metiner, Albert Levi, Cemal Yilmaz 0001, Orçun Çetin, A. Selcuk Uluagac |
USENIX Security Symposium | 5 |
| 2024 | Improving the quality of software issue report descriptions in Turkish: An industrial case study at Softtech
Ethem Utku Aktas, Ebru Cakmak, Mete Inan, Cemal Yilmaz 0001 |
Empir. Softw. Eng. | 4 |
| 2023 | AdapTV+: Enhancing Model-Based Test Adaptation for Smart TVs through Icon RecognitionabstractOur previous approach to test adaptation in smart TVs had a limitation in handling UI elements that lack associated text. To address this issue, we created a dataset and trained a classifier to label frequently used icons found in smart TVs, which can be recognized without an associated text. In cases where a UI element lacks associated text, we utilize the classifier to label the element, enabling the identification of "equivalent states". This paper presents the development, training process, and potential impact of this classifier on our test adaptation technique. Evaluation results show that our classifier significantly improves metrics like success rate, adaptation rate, and test length overhead. Our proposed methodology, combined with the trained classifier, offers practical solutions to enhance test adaptation processes in smart TVs. Mohammad Yusaf Azimi, Cemal Yilmaz 0001 |
PRDC | 2 |
| 2023 | On ChatGPT: Perspectives from Software Engineering StudentsabstractChatGPT, an increasingly popular Large Language Model (LLM), has found widespread acceptance, especially among the younger generation, who rely on it for various tasks, such as comprehending complex course materials and tackling homework assignments. This surge in interest has drawn the attention of researchers, leading to numerous studies that delve into the advantages and disadvantages of the upcoming LLM dominant era. In our research, we explore the influence of ChatGPT and similar models on the field of software engineering, specifically from the perspective of software engineering students. Our main objective is to gain valuable insights into their usage habits and opinions through a comprehensive survey. The survey encompassed diverse questions, addressing the specific areas where ChatGPT was utilized for assistance and gathering students’ reflections on each aspect. We found that ChatGPT has garnered widespread acceptance among software engineering students, with 93% of them utilizing it for their projects. These students expressed satisfaction with the level of assistance provided, and most intend to continue using it as a valuable tool in their work. During our investigation, we also assessed the students’ awareness of the underlying technologies behind ChatGPT. Approximately half of the students demonstrated awareness of these technologies, while 38.7% had made extra efforts to explore prompt engineering to enhance ChatGPT’s productivity. However, an important finding was that 90.6% of the students reported experiencing hallucinations during their interactions with ChatGPT. These hallucinations were shared as examples, raising significant concerns that warrant further exploration and mitigation. Moreover, we delved into potential improvements and gathered valuable recommendations, which could help ChatGPT to become even more effective and dependable in its applications. Khadija Hanifi, Orçun Çetin, Cemal Yilmaz 0001 |
QRS | 3 |
| 2023 | LSTM-AE for Anomaly Detection on Multivariate Telemetry DataabstractOrganizations and companies that collect data generated by sales, transactions, client/server communications, IoT nodes, devices, engines, or any other data generating/exchanging source, need to analyze this data to reveal insights about the running activities on their systems. Since streaming data has multivariate variables bearing dependencies among each other that extend temporally (to previous time steps).Long-Short Term Memory (LSTM) is a variant of the Recurrent Neural Networks capable of learning long-term dependencies using previous timesteps of sequence-shape data. The LSTM model is a valid option to apply to our data for offline anomaly detection and help foresee future system incidents. Anything that negatively affects the system and the services provided via this system is considered an incident.Moreover, the raw input data might be noisy and improper for the model, leading to misleading predictions. A wiser choice is to use an LSTM Autoencoder (LSTM-AE) specialized for extracting meaningful features of the examined data and looking back several steps to preserve temporal dependencies.In our work, we developed two LSTM-AE models. We evaluated them in an industrial setup at Koçfinans (a finance company operating in Turkey), where they have a distributed system of several nodes running dozens of microservices. The outcome of this study shows that our trained LSTM-AE models succeeded in identifying the atypical behavior of offline data with high accuracies. Furthermore, after deploying the models, we identified the system failing at the exact times for the previous two reported failures. While after deployment, it launched cautions preceding the actual failure by a week, proving efficiency on online data. Our models achieved 99.7% accuracy and 89.1% as F1-score. Moreover, it shows potential in finding the proper LSTM-AE model architecture when time series data with temporal dependency property is fed to the model. Anes Abdennebi, Alp Tuncay, Cemal Yilmaz 0001, Anil Koyuncu, Oktay Gungor |
SERA | 3 |
| 2023 | Issue Report Validation in an Industrial ContextabstractEffective issue triaging is crucial for software development teams to improve software quality, and thus customer satisfaction. Validating issue reports manually can be time-consuming, hindering the overall efficiency of the triaging process. This paper presents an approach on automating the validation of issue reports to accelerate the issue triaging process in an industrial set-up. We work on 1,200 randomly selected issue reports in banking domain, written in Turkish, an agglutinative language, meaning that new words can be formed with linear concatenation of suffixes to express entire sentences. We manually label these reports for validity, and extract the relevant patterns indicating that they are invalid. Since the issue reports we work on are written in an agglutinative language, we use morphological analysis to extract the features. Using the proposed feature extractors, we utilize a machine learning based approach to predict the issue reports’ validity, performing a 0.77 F1-score. Ethem Utku Aktas, Ebru Cakmak, Mete Inan, Cemal Yilmaz 0001 |
ESEC/SIGSOFT FSE | 4 |
| 2022 | Model-Based Test Adaptation for Smart TVsabstractIn this work, we briefly introduce a model-based test adaptation approach for testing smart TVs produced by Arçelik - the fourth largest home appliances manufacturer in Europe operating in 100 different countries under 10 different brand names, including Beko and Grundig. Although our focus is on smart TVs produced by a single company, the proposed approach can readily be applied to any consumer electronics with a screen-based user interface. This is mainly due to the fact that we present a non-intrusive and completely black-box approach that operates by interpreting the images of user interfaces to interact with the system. More specifically, given a test suite, which is known to work on an older version of the system, and a new version of the system, to which the test cases should be adapted, the proposed approach automatically discovers the user interface models of both the older and the new version of the system by systematically crawling the respective user interfaces; figures out the path traversed by a test case in the model discovered from the old system; dynamically (i.e., in a feedback-driven manner) determines the most "semantically" similar path in the model discovered from the new system; and finally executes the path on the new system. The rationale behind using a model-based approach is to minimize the guesswork (thus, to improve both the effectiveness and the efficiency of the test adaptation) in the presence of significant changes in the user interfaces, such as the ones affecting the order of the screens/interactions. Atil Firat, Mohammad Yusaf Azimi, Celal Çagin Elgün, Ferhat Erata, Cemal Yilmaz 0001 |
AST | 5 |
| 2022 | HyperDetector: Detecting, Isolating, and Mitigating Timing Attacks in Virtualized Environments
Musa Sadik Unal, Arsalan Javeed, Cemal Yilmaz 0001, Erkay Savas |
CANS | 3 |
| 2022 | Using Screenshot Attachments in Issue Reports for Triaging
Ethem Utku Aktas, Cemal Yilmaz 0001 |
Empir. Softw. Eng. | 2 |
| 2022 | CIT-daily: A combinatorial interaction testing-based daily build process
Hanefi Mercan, Atakan Aytar, Giray Coskun, Dilara Müstecep, Gülsüm Uzer, Cemal Yilmaz 0001 |
J. Syst. Softw. | 6 |
| 2022 | Flexible Combinatorial Interaction TestingabstractWe present Flexible Combinatorial Interaction Testing (F-CIT), which aims to improve the flexibility of combinatorial interaction testing (CIT) by eliminating the necessity of developing specialized constructors for CIT problems that cannot be efficiently and effectively addressed by the existing CIT constructors. F-CIT expresses the entities to be covered and the space of valid test cases, from which the samples are drawn to obtain full coverage, as constraints. Computing an F-CIT object (i.e., a set of test cases obtaining full coverage under a given coverage criterion) then turns into an interesting constraint solving problem, which we callcov-CSP. cov-CSP aims to divide the constraints, each representing an entity to be covered, into a minimum number of satisfiable clusters, such that a solution for a cluster represents a test case and the collection of all the test cases generated (one per cluster) constitutes an F-CIT object, covering each required entity at least once. To solve the cov-CSP problem, thus to compute F-CIT objects, we first present two constructors. One of these constructors attempts to cover as many entities as possible in a cluster before generating a test case, whereas the other constructor generates a test case first and then marks all the entities accommodated by this test case as covered. We then use these constructors to evaluate F-CIT in three studies, each of which addresses a different CIT problem. In the first study, we develop structure-based F-CIT objects to obtain decision coverage-adequate test suites. In the second study, we develop order-based F-CIT objects, which enhance a number of existing order-based coverage criteria by taking the reachability constraints imposed by graph-based models directly into account when computing interaction test suites. In the third study, we develop usage-based F-CIT objects to address the scenarios, in which standard covering arrays are not desirable due to their sizes, by choosing the entities to be covered based on their usage statistics collected from the field. We also carry out user studies to further evaluate F-CIT. The results of these studies suggest that F-CIT is more flexible than the existing CIT approaches. Hanefi Mercan, Arsalan Javeed, Cemal Yilmaz 0001 |
IEEE Trans. Software Eng. | 3 |
| 2021 | Detector+: An approach for detecting, isolating, and preventing timing attacks
Arsalan Javeed, Cemal Yilmaz 0001, Erkay Savas |
Comput. Secur. | 2 |
| 2020 | Automated issue assignment: results and insights from an industrial case
Ethem Utku Aktas, Cemal Yilmaz 0001 |
Empir. Softw. Eng. | 2 |
| 2020 | MeltdownDetector: A runtime approach for detecting meltdown attacks
Taha Atahan Akyildiz, Can Berk Guzgeren, Cemal Yilmaz 0001, Erkay Savas |
Future Gener. Comput. Syst. | 3 |
| 2019 | Code-aware combinatorial interaction testingabstractCombinatorial interaction testing (CIT) is a useful testing technique to address the interaction of input parameters in software systems. CIT has been used as a systematic technique to sample the enormous test possibilities. Most of the research activities focused on the generation of CIT test suites as a computationally complex problem. Less effort has been paid for the application of CIT. To apply CIT, practitioners must identify the input parameters for the Software‐under‐test (SUT), feed these parameters to the CIT test generation tool, and then run those tests on the application with some pass and fail criteria for verification. Using this approach, CIT is used as a black‐box testing technique without knowing the effect of the internal code. Although useful, practically, not all the parameters having the same impact on the SUT. This paper introduces a different approach to use the CIT as a gray‐box testing technique by considering the internal code structure of the SUT to know the impact of each input parameter and thus use this impact in the test generation stage. The case studies results showed that this approach would help to detect new faults as compared to the equal impact parameter approach. Bestoun S. Ahmed, Angelo Gargantini, Kamal Zuhairi Zamli, Cemal Yilmaz 0001, Miroslav Bures, Marek Miltner |
IET Softw. | 4 |
| 2019 | CHiP: A Configurable Hybrid Parallel Covering Array ConstructorabstractWe present a configurable, hybrid, and parallel covering array constructor, called CHiP. CHiP is parallel in that it utilizes vast amount of parallelism provided by graphics processing units (GPUs). CHiP is hybrid in that it bundles the bests of two construction approaches for computing covering arrays; a metaheuristic search-based approach for efficiently covering a large portion of the required combinations and a constraint satisfaction-based approach for effectively covering the remaining hard-to-cover-by-chance combinations. CHiP is configurable in that a trade-off between covering array sizes and construction times can be made. We have conducted a series of experiments, in which we compared the efficiency and effectiveness of CHiP to those of a number of existing constructors by using both full factorial designs and well-known benchmarks. In these experiments, we report new upper bounds on covering array sizes, demonstrating the effectiveness of CHiP, and the first results for a higher coverage strength, demonstrating the scalability of CHiP. Hanefi Mercan, Cemal Yilmaz 0001, Kamer Kaya |
IEEE Trans. Software Eng. | 2 |
| 2018 | Approaches for computing test-case-aware covering arraysabstractSummary Test‐case‐aware covering arrays have been recently introduced to overcome the shortcomings of standard covering arrays, which prevent some combinations of option settings from being exercised in the presence of test‐case‐specific constraints. A number of proof‐of‐concept approaches for computing test‐case‐aware covering arrays have also been presented in the aforementioned work. The main concern in the development of these approaches was neither their efficiency nor their effectiveness, but their correctness. On the other hand, efficient and effective ways of computing test‐case‐aware covering arrays are of great practical importance. To improve the applicability of test‐case‐aware covering arrays in practice, this work presents a number of efficient and effective approaches for computing them. Furthermore, the proposed approaches are evaluated by conducting a set of experiments on widely‐used highly‐configurable software systems and comparing their efficiency and effectiveness to those of the existing approaches in various practical testing scenarios. Ugur Koc, Cemal Yilmaz 0001 |
Softw. Test. Verification Reliab. | 2 |
| 2016 | Advances in test generation for testing software and systems - An introduction to selected papers from ICTSS 2013
Hüsnü Yenigün, Cemal Yilmaz 0001, Andreas Ulrich |
Int. J. Softw. Tools Technol. Transf. | 2 |
| 2016 | Seer: A Lightweight Online Failure Prediction ApproachabstractOnline failure prediction approaches aim to predict the manifestation of failures at runtime before the failures actually occur. Existing approaches generally refrain themselves from collecting internal execution data, which can further improve the prediction quality. One reason behind this general trend is the runtime overhead incurred by the measurement instruments that collect the data. Since these approaches are targeted at deployed software systems, excessive runtime overhead is generally undesirable. In this work we conjecture that large cost reductions in collecting internal execution data for online failure prediction may derive from pushing the substantial parts of the data collection work onto the hardware. To test this hypothesis, we present a lightweight online failure prediction approach, called Seer, in which most of the data collection work is performed by fast hardware performance counters. The hardware-collected data is augmented with further data collected by a minimal amount of software instrumentation that is added to the systems software. In our empirical evaluations conducted on three open source projects, Seer performed significantly better than other related approaches in predicting the manifestation of failures. Burcu Ozcelik, Cemal Yilmaz 0001 |
IEEE Trans. Software Eng. | 2 |
| 2015 | A Generic Method for the Analysis of a Class of Cache Attacks: A Case Study for AESabstractIn this paper, we present a methodology to evaluate the feasibility, effectiveness and complexity of a class of cache-based side-channel attacks. The methodology provides estimates on the lower bound of the required number of observations on the side channel and the number of trials for a successful attack. As a case study, a weak implementation of the Advanced Encryption Standard algorithm is selected to apply the proposed methodology to three different categories of cache-based attacks; namely, access-driven, trace-driven and time-driven attacks. The approach, however, is generic in the sense that it can be utilized in other algorithms that are subject to the micro-architectural side-channel attacks. The adopted approach bases its analysis method partially on the conditional entropy of secret keys given the observations of the intermediate variables in software implementations of cryptographic algorithms via the side channel and explores the extent to which the observations can be exploited in a successful attack. Provided that the intermediate variables are relatively simple functions of the key material and the known inputs or outputs of cryptographic algorithms, a successful attack is theoretically feasible. Our methodology emphasizes the need for an analysis of this leakage through such intermediate variables and demonstrates a systematic way to measure it. The method allows us to explore every attack possibility, estimate the feasibility of an attack, and compare the efficiency and the costs of different attack strategies to determine an optimal level of effective countermeasures. Erkay Savas, Cemal Yilmaz 0001 |
Comput. J. | 2 |
| 2014 | Reducing Masking Effects in CombinatorialInteraction Testing: A Feedback DrivenAdaptive ApproachabstractThe configuration spaces of modern software systems are too large to test exhaustively. Combinatorial interaction testing (CIT) approaches, such as covering arrays, systematically sample the configuration space and test only the selected configurations. The basic justification for CIT approaches is that they can cost-effectively exercise all system behaviors caused by the settings of t or fewer options. We conjecture, however, that in practice some of these behaviors are not actually tested because of unanticipated masking effects - test case failures that perturb system execution so as to prevent some behaviors from being exercised. While prior research has identified this problem, most solutions require knowing the masking effects a priori. In practice this is impractical, if not impossible. In this work, we reduce the harmful consequences of masking effects. First we define a novel interaction testing criterion, which aims to ensure that each test case has a fair chance to test all valid t-way combinations of option settings. We then introduce a feedback driven adaptive combinatorial testing process (FDA-CIT) to materialize this criterion in practice. At each iteration of FDA-CIT, we detect potential masking effects, heuristically isolate their likely causes (i.e., fault characterization), and then generate new samples that allow previously masked combinations to be tested in configurations that avoid the likely failure causes. The iterations end when the new interaction testing criterion has been satisfied. This paper compares two different fault characterization approaches - an integral part of the proposed approach, and empirically assesses their effectiveness and efficiency in removing masking effects on two widely used open source software systems. It also compares FDA-CIT against error locating arrays, a state of the art approach for detecting and locating failures. Furthermore, the scalability of the proposed approach is evaluated by comparing it with perfect test scenarios, in which all masking effects are known a priori. Our results suggest that masking effects do exist in practice, and that our approach provides a promising and efficient way to work around them, without requiring that masking effects be known a priori. Cemal Yilmaz 0001, Emine Dumlu, Myra B. Cohen, Adam A. Porter |
IEEE Trans. Software Eng. | 1 |
| 2013 | Test Case-Aware Combinatorial Interaction TestingabstractThe configuration spaces of modern software systems are too large to test exhaustively. Combinatorial interaction testing (CIT) approaches, such as covering arrays, systematically sample the configuration space and test only the selected configurations by using a battery of test cases. Traditional covering arrays, while taking system-wide interoption constraints into account, do not provide a systematic way of handling test case-specific interoption constraints. The basic justification for t-way covering arrays is that they can cost effectively exercise all system behaviors caused by the settings of t or fewer options. In this paper, we hypothesize, however, that in the presence of test case-specific interoption constraints, many such behaviors may not be tested due to masking effects caused by the overlooked test case-specific constraints. For example, if a test case refuses to run in a configuration due to an unsatisfied test case-specific constraint, none of the valid option setting combinations appearing in the configuration will be tested by that test case. To account for test case-specific constraints, we introduce a new combinatorial object, called a test case-aware covering array. A t-way test case-aware covering array is not just a set of configurations, as is the case in traditional covering arrays, but a set of configurations, each of which is associated with a set of test cases such that all test case-specific constraints are satisfied and that, for each test case, each valid combination of option settings for every combination of t options appears at least once in the set of configurations that the test case is associated with. We furthermore present three algorithms to compute test case-aware covering arrays. Two of the algorithms aim to minimize the number of configurations required (one is fast, but produces larger arrays, the other is slower, but produces smaller arrays), whereas the remaining algorithm aims to minimize the number of test runs required. The results of our empirical studies conducted on two widely used highly configurable software systems suggest that test case-specific constraints do exist in practice, that traditional covering arrays suffer from masking effects caused by ignorance of such constraints, and that test case-aware covering arrays are better than other approaches in handling test case-specific constraints, thus avoiding masking effects. Cemal Yilmaz 0001 |
IEEE Trans. Software Eng. | 1 |
| 2011 | Feedback driven adaptive combinatorial testingabstractThe configuration spaces of modern software systems are too large to test exhaustively. Combinatorial interaction testing (CIT) approaches, such as covering arrays, systematically sample the configuration space and test only the selected configurations. The basic justification for CIT approaches is that they can cost-effectively exercise all system behaviors caused by the settings of t or fewer options. We conjecture, however, that in practice many such behaviors are not actually tested because of masking effects -- failures that perturb execution so as to prevent some behaviors from being exercised. In this work we present a feedback-driven, adaptive, combinatorial testing approach aimed at detecting and working around masking effects. At each iteration we detect potential masking effects, heuristically isolate their likely causes, and then generate new covering arrays that allow previously masked combinations to be tested in the subsequent iteration. We empirically assess the effectiveness of the proposed approach on two large widely used open source software systems. Our results suggest that masking effects do exist and that our approach provides a promising and efficient way to work around them. Emine Dumlu, Cemal Yilmaz 0001, Myra B. Cohen, Adam A. Porter |
ISSTA | 2 |
| 2010 | Combining hardware and software instrumentation to classify program executionsabstractSeveral research efforts have studied ways to infer properties of software systems from program spectra gathered from the running systems, usually with software-level instrumentation. One specific application of this general approach, which is the focus of this paper, is distinguishing failed executions from successful executions. While existing efforts appear to produce accurate classifications, detailed understanding of their costs and potential cost-benefit tradeoffs is lacking. In this work, we present a hybrid instrumentation approach which uses hardware performance counters to gather program spectra at very low cost. This underlying data is further augmented with data captured by minimal amounts of software-level instrumentation. We also evaluate this hybrid approach by comparing it to other existing approaches. We conclude that these hybrid spectra can reliably distinguish failed executions from successful executions at a fraction of the runtime overhead cost of using software-only spectra. Cemal Yilmaz 0001, Adam A. Porter |
SIGSOFT FSE | 1 |
| 2008 | Time will tell: fault localization using time spectraabstractWe present an automatic fault localization technique which leverages time spectra as abstractions for program executions. Time spectra have been traditionally used for performance debugging. By contrast, we use them for functional correctness debugging by identifying pieces of program code that take a "suspicious" amount of time to execute. The approach can be summarized as follows: Time spectra are collected from passing and failing runs, observed behavior models are created using the time spectra collected from passing runs, and deviations from these models in failing runs are identified and scored as potential causes of failures. Our empirical evaluations conducted on three real-life projects suggest that the proposed approach can effectively reduce the space of potential root causes for failures, which can in turn improve the turn around time for fixes. Cemal Yilmaz 0001, Amit M. Paradkar, Clay Williams |
ICSE | 1 |
| 2008 | Less is More: A Minimalistic Approach to UML Model-Based Conformance Test GenerationabstractWe present a minimalist approach to model-based test generation. Our approach leverages the information provided in the domain and behavioral models of an application under test to produce a small yet effective set of test cases without additional user input. The domain model consists of UML class diagram with invariants, while the behavioral model consists of UML use cases. Each use case flow has an associated guard condition and a set of updates (to the domain object diagram and the output parameters). We treat the model invariants to enable a novel specify once, test everywhere paradigm. Our approach frees the modeler from the responsibility of specifying appropriate alternate flows on use cases affected by each invariant - our analysis augments the specified use cases with appropriate alternate flows. Our approach then produces suitable testing goals which are refinements of the guard conditions on the augmented flows using a set of fault models. Another salient feature of our approach is generation of verification sequences to ensure that the object diagram updates associated with a given flow are implemented correctly. Our technique uses a novel set of fault models to mutate an object diagram and a novel algorithm which distinguishes between the original and the mutated object diagrams. We describe the techniques used in our test generation approach. Matthew Kaplan 0003, Tim Klinger, Amit M. Paradkar, Avik Sinha, Clay Williams, Cemal Yilmaz 0001 |
ICST | 6 |
| 2007 | An automated model-based debugging approachabstractProgram debugging is a difficult and time-consuming task. Our ultimate goal in this work is to help developers reduce the space of potential root causes for failures, which can, in turn, improve the turn around time for bug fixes. We propose a novel and very different approach. Rather then focusing on how a program behaves by analyzing its source code and/or execution traces, we concentrate on how it should behave with respect to a given behavioral model. We identify and verify slices of the behavior model, that, once implemented wrong in the program, can potentially lead to failures. Not only do we identify functional differences between the programand its model, but we also provide a ranked list of diagnoses which might explain (or be associated with) these differences. Our experiments suggest that the proposed approach can be quite effective in reducing the search space for potential root causes for failures Cemal Yilmaz 0001, Clay Williams |
ASE | 1 |
| 2007 | Skoll: A Process and Infrastructure for Distributed Continuous Quality AssuranceabstractSoftware engineers increasingly emphasize agility and flexibility in their designs and development approaches. They increasingly use distributed development teams, rely on component assembly and deployment rather than green field code writing, rapidly evolve the system through incremental development and frequent updating, and use flexible product designs supporting extensive end-user customization. While agility and flexibility have many benefits, they also create an enormous number of potential system configurations built from rapidly changing component implementations. Since today's quality assurance (QA) techniques do not scale to handle highly configurable systems, we are developing and validating novel software QA processes and tools that leverage the extensive computing resources of user and developer communities in a distributed, continuous manner to improve software quality significantly. This paper provides several contributions to the study of distributed, continuous QA (DCQA). First, it shows the structure and functionality of Skoll, which is an environment that defines a generic around-the-world, around-the-clock QA process and several sophisticated tools that support this process. Second, it describes several novel QA processes built using the Skoll environment. Third, it presents two studies using Skoll: one involving user testing of the Mozilla browser and another involving continuous build, integration, and testing of the ACE+TAO communication software package. The results of our studies suggest that the Skoll environment can manage and control distributed continuous QA processes more effectively than conventional QA processes. For example, our DCQA processes rapidly identified problems that had taken the ACE+TAO developers much longer to find and several of which they had not found. Moreover, the automatic analysis of QA results provided developers information that enabled them to quickly find the root causes of problems Adam A. Porter, Cemal Yilmaz 0001, Atif M. Memon, Douglas C. Schmidt, Balachandran Natarajan |
IEEE Trans. Software Eng. | 2 |
| 2007 | Reliable Effects Screening: A Distributed Continuous Quality Assurance Process for Monitoring Performance Degradation in Evolving Software SystemsabstractDevelopers of highly configurable performance-intensive software systems often use in-house performance-oriented "regression testing" to ensure that their modifications do not adversely affect their software's performance across its large configuration space. Unfortunately, time and resource constraints can limit in-house testing to a relatively small number of possible configurations, followed by unreliable extrapolation from these results to the entire configuration space. As a result, many performance bottlenecks escape detection until systems are fielded. In our earlier work, we improved the situation outlined above by developing an initial quality assurance process called "main effects screening". This process 1) executes formally designed experiments to identify an appropriate subset of configurations on which to base the performance-oriented regression testing, 2) executes benchmarks on this subset whenever the software changes, and 3) provides tool support for executing these actions on in-the-field and in-house computing resources. Our initial process had several limitations, however, since it was manually configured (which was tedious and error-prone) and relied on strong and untested assumptions for its accuracy (which made its use unacceptably risky in practice). This paper presents a new quality assurance process called "reliable effects screening" that provides three significant improvements to our earlier work. First, it allows developers to economically verify key assumptions during process execution. Second, it integrates several model-driven engineering tools to make process configuration and execution much easier and less error prone. Third, we evaluate this process via several feasibility studies of three large, widely used performance-intensive software frameworks. Our results indicate that reliable effects screening can detect performance degradation in large-scale systems more reliably and with significantly less resources than conventional techniques Cemal Yilmaz 0001, Adam A. Porter, Arvind S. Krishna, Atif M. Memon, Douglas C. Schmidt, Aniruddha S. Gokhale, Balachandran Natarajan |
IEEE Trans. Software Eng. | 1 |
| 2006 | Covering Arrays for Efficient Fault Characterization in Complex Configuration SpacesabstractMany modern software systems are designed to be highly configurable so they can run on and be optimized for a wide variety of platforms and usage scenarios. Testing such systems is difficult because, in effect, you are testing a multitude of systems, not just one. Moreover, bugs can and do appear in some configurations, but not in others. Our research focuses on a subset of these bugs that are "option-related"-those that manifest with high probability only when specific configuration options take on specific settings. Our goal is not only to detect these bugs, but also to automatically characterize the configuration subspaces (i.e., the options and their settings) in which they manifest. To improve efficiency, our process tests only a sample of the configuration space, which we obtain from mathematical objects called covering arrays. This paper compares two different kinds of covering arrays for this purpose and assesses the effect of sampling strategy on fault characterization accuracy. Our results strongly suggest that sampling via covering arrays allows us to characterize option-related failures nearly as well as if we had tested exhaustively, but at a much lower cost. We also provide guidelines for using our approach in practice. Cemal Yilmaz 0001, Myra B. Cohen, Adam A. Porter |
IEEE Trans. Software Eng. | 1 |
| 2005 | Main effects screening: a distributed continuous quality assurance process for monitoring performance degradation in evolving software systemsabstractDevelopers of highly configurable performance-intensive software systems often use a type of in-house performance-oriented "regression testing" to ensure that their modifications have not adversely affected their software's performance across its large configuration space. Unfortunately, time and resource constraints often limit developers to in-house testing of a small number of configurations and unreliable extrapolation from these results to the entire configuration space, which allows many performance bottlenecks and sources of QoS degradation to escape detection until systems are fielded. To improve performance assessment of evolving systems across large configuration spaces, we have developed a distributed continuous quality assurance (DCQA) process called main effects screening that uses in-the-field resources to execute formally designed experiments to help reduce the configuration space, thereby allowing developers to perform more targeted in-house QA. We have evaluated this process via several feasibility studies on several large, widely-used performance-intensive software systems. Our results indicate that main effects screening can detect key sources of performance degradation in large-scale systems with significantly less effort than conventional techniques. Cemal Yilmaz 0001, Arvind S. Krishna, Atif M. Memon, Adam A. Porter, Douglas C. Schmidt, Aniruddha S. Gokhale, Balachandran Natarajan |
ICSE | 1 |
| 2004 | Skoll: Distributed Continuous Quality AssuranceabstractQuality assurance (QA) tasks, such as testing, profiling, and performance evaluation, have historically been done in-house on developer-generated workloads and regression suites. Since this approach is inadequate for many systems, tools and processes are being developed to improve software quality by increasing user participation in the QA process. A limitation of these approaches is that they focus on isolated mechanisms, not on the coordination and control policies and tools needed to make the global QA process efficient, effective, and scalable. To address these issues, we have initiated the Skoll project, which is developing and validating novel software QA processes and tools that leverage the extensive computing resources of worldwide user communities in a distributed, continuous manner to significantly and rapidly improve software quality. This paper provides several contributions to the study of distributed continuous QA. First, it illustrates the structure and functionality of a generic around-the-world, around-the-clock QA process and describes several sophisticated tools that support this process. Second, it describes several QA scenarios built using these tools and process. Finally, it presents a feasibility study applying these scenarios to a 1MLOC+ software package called ACE+TAO. While much work remains to be done, the study suggests that the Skoll process and tools effectively manage and control distributed, continuous QA processes. Using Skoll we rapidly identified problems that had taken the ACE+TAO developers substantially longer to find and several of which had previously not been found. Moreover, automatic analysis of QA task results often provided developers information that quickly led them to the root cause of the problems. Atif M. Memon, Adam A. Porter, Cemal Yilmaz 0001, Adithya Nagarajan, Douglas C. Schmidt, Balachandran Natarajan |
ICSE | 3 |
| 2004 | Covering arrays for efficient fault characterization in complex configuration spacesabstractTesting systems with large configurations spaces that change often is a challenging problem. The cost and complexity of QA explodes because often there isn't just one system, but a multitude of related systems. Bugs may appear in certain configurations, but not in others.The Skoll system and process has been developed to test these types of systems through distributed, continuous quality assurance, leveraging user resources around-the-world, around-the-clock. It has been shown to be effective in automatically characterizing configurations in which failures manifest. The derived information helps developers quickly narrow down the cause of failures which then improves turn around time for fixes. However, this method does not scale well. It requires one to exhaustively test each configuration in the configuration space.In this paper we examine an alternative approach. The idea is to systematically sample the configuration space, test only the selected configurations, and conduct fault characterization on the resulting data. The sampling approach we use is based on calculating a mathematical object called a covering array. We empirically assess the effect of using covering array derived test schedules on the resulting fault characterizations and provide guidelines to practitioners for their use. Cemal Yilmaz 0001, Myra B. Cohen, Adam A. Porter |
ISSTA | 1 |