1,770 results on '"software testing"'
Search Results
2. Test Maturity Model Integration: Trends of Worldwide Test Maturity and Certifications
- Author
-
Vahid Garousi and Erik van Veenendaal
- Subjects
Process area ,Market research ,Capability Maturity Model ,Engineering management ,Computer science ,business.industry ,Software testing ,Certification ,business ,Maturity (finance) ,Software ,Capability Maturity Model Integration ,Test (assessment) - Abstract
Test Maturity Model integration (TMMi) is a popular model for maturity assessment and capability improvement of software testing practices in industry. Originally inspired by the Capability Maturity Model Integration (CMMI), and managed by the TMMi Foundation, the TMMi specification provides detailed guidelines for assessing and improving testing capabilities of teams and organizations. We present in this paper a status report about TMMi, motivations for and benefits of using TMMi, and how companies have been ranked in each of its process areas.
- Published
- 2022
3. An optimal scheduling policy for upgraded software with updates
- Author
-
Subhrata Das, Mohini Agarwal, Shinji Inoue, and Adarsh Anand
- Subjects
Software ,Software testing ,business.industry ,Computer science ,Strategy and Management ,Optimal scheduling ,business ,General Business, Management and Accounting ,Release time ,Software quality ,Reliability engineering - Abstract
PurposeIn the current market scenario, software upgrades and updates have proved to be very handy in improving the reliability of the software in its operational phase. Software upgrades help in reinventing working software through major changes, like functionality addition, feature enhancement, structural changes, etc. In software updates, minor changes are undertaken which help in improving software performance by fixing bugs and security issues in the current version of the software. Through the current proposal, the authors wish to highlight the economic benefits of the combined use of upgrade and update service. A cost analysis model has been proposed for the same.Design/methodology/approachThe article discusses a cost analysis model highlighting the distinction between launch time and time to end the testing process. The number of bugs which have to be catered in each release has been determined which also consists of the count of latent bugs of previous version. Convolution theory has been utilized to incorporate the joint role of tester and user in bug detection into the model. The cost incurred in debugging process was determined. An optimization model was designed which considers the reliability and budget constraints while minimizing the total debugging cost. This optimization was used to determine the release time and testing stop time.FindingsThe proposal is backed by real-life software bug dataset consisting of four releases. The model was able to successfully determine the ideal software release time and the testing stop time. An increased profit is generated by releasing the software earlier and continues testing long after its release.Originality/valueThe work contributes positively to the field by providing an effective optimization model, which was able to determine the economic benefit of the combined use of upgrade and update service. The model can be used by management to determine their timelines and cost that will be incurred depending on their product and available resources.
- Published
- 2021
4. The perception of Architectural Smells in Industrial Practice
- Author
-
Francesca Arcelli Fontana, Paris Avgeriou, Ilaria Pigazzini, Darius Sas, Software Engineering, Sas, D, Pigazzini, I, Avgeriou, P, and Arcelli Fontana, F
- Subjects
FOS: Computer and information sciences ,Java ,Computer science ,media_common.quotation_subject ,Companie ,Maintenance engineering ,Tools ,Computer Science - Software Engineering ,Software ,Perception ,Phenomenon ,Reliability (statistics) ,media_common ,computer.programming_language ,business.industry ,Reliability ,Software Engineering (cs.SE) ,Engineering management ,System recovery ,Software testing ,Technical debt ,business ,computer - Abstract
Architectural Technical Debt (ATD) is considered as the most significant type of TD in industrial practice. In this study, we interview 21 software engineers and architects to investigate a specific type of ATD, namely architectural smells (AS). Our goal is to understand the phenomenon of AS better and support practitioners to better manage it and researchers to offer relevant support. The findings of this study provide insights on how practitioners perceive AS and how they introduce them, the maintenance and evolution issues they experienced and associated to the presence of AS, and what practices and tools they adopt to manage AS., Submitted and accepted to IEEE Software special issue on Technical Debt. This is a preprint
- Published
- 2021
5. Pitfalls and Solutions for Technical Debt Management in Agile Software Projects
- Author
-
Gustavo López, Nicolli Rios, Camilo Castellanos, Clemente Izurieta, Sávio Freire, Dario Correal, Davide Falessi, Manoel Mendonca, Rodrigo O. Spínola, Alexia Pacheco, Carolyn Seaman, Boris Perez, Vladimir Mandić, Nebojša Taušan, and Robert Ramac
- Subjects
Engineering management ,Influence factor ,business.industry ,Software testing ,Technical debt ,Computer science ,business ,Technical debt management ,Software ,Agile software development - Abstract
This article presents technical debt (TD) impediments, decision factors, enabling practices, and actions diagrams for TD management in agile software projects. By analyzing diagrams, professionals can avoid the pitfalls, and increase their capacity, for better TD management.
- Published
- 2021
6. Combining Learning and Engagement Strategies in a Software Testing Learning Environment
- Author
-
L DavisDebra, ThirunarayananMandayam, PotvinGeoff, J ClarkePeter, L JonesEdward, and A BuckleyIngrid
- Subjects
Knowledge management ,General Computer Science ,Problem-based learning ,business.industry ,Computer science ,Software testing ,Learning environment ,Active learning ,ComputingMilieux_COMPUTERSANDEDUCATION ,business ,Social relation ,Education - Abstract
There continues to be an increase in enrollments in various computing programs at academic institutions due to many job opportunities available in the information, communication, and technology sectors. This enrollment surge has presented several challenges in many Computer Science (CS), Information Technology (IT), and Software Engineering (SE) programs at universities and colleges. One such challenge is that many instructors in CS/IT/SE programs continue to use learning approaches that are not learner centered and therefore are not adequately preparing students to be proficient in the ever-changing computing industry. To mitigate this challenge, instructors need to use evidence-based pedagogical approaches, e.g., active learning, to improve student learning and engagement in the classroom and equip students with the skills necessary to be lifelong learners. This article presents an approach that combines learning and engagement strategies (LESs) in learning environments using different teaching modalities to improve student learning and engagement. We describe how LESs are integrated into face-to-face (F2F) and online class activities. The LESs currently used are collaborative learning , gamification , problem-based learning , and social interaction . We describe an approach used to quantify each LES used during class activities based on a set of characteristics for LESs and the traditional lecture-style pedagogical approaches. To demonstrate the impact of using LESs in F2F class activities, we report on a study conducted over seven semesters in a software testing class at a large urban minority serving institution. The study uses a posttest-only study design, the scores of two midterm exams, and approximate class times dedicated to each LES and traditional lecture style to quantify their usage in a face-to-face software testing class. The study results showed that increasing the time dedicated to collaborative learning, gamification, and social interaction and decreasing the traditional lecture-style approach resulted in a statistically significant improvement in student learning, as reflected in the exam scores.
- Published
- 2021
7. A Decade of Reoccurring Software Weaknesses
- Author
-
Peter Mell, Irena Bojanova, Assane Gueye, and Carlos Cardoso Galhardo
- Subjects
Computer Networks and Communications ,business.industry ,Computer science ,Article ,Software quality ,Common Weakness Enumeration ,Software ,Risk analysis (engineering) ,Error analysis ,Software testing ,Metric (unit) ,Electrical and Electronic Engineering ,business ,Law ,Software measurement - Abstract
The Common Weakness Enumeration (CWE) community publishes an aggregate metric to calculate the ‘Most Dangerous Software Errors.’ However, the used equation highly biases frequency over exploitability and impact. We provide a metric to mitigate this bias and discuss the most significant software weaknesses over the last ten years.
- Published
- 2021
8. Learning to predict test effectiveness
- Author
-
Saeed Parsa and Morteza Zakeri-Nasrabadi
- Subjects
FOS: Computer and information sciences ,Computer Science - Machine Learning ,business.industry ,Computer science ,Machine learning ,computer.software_genre ,Regression ,Machine Learning (cs.LG) ,Theoretical Computer Science ,Test (assessment) ,Software Engineering (cs.SE) ,Human-Computer Interaction ,Computer Science - Software Engineering ,Artificial Intelligence ,Software testing ,Artificial intelligence ,business ,computer ,Software - Abstract
The high cost of the test can be dramatically reduced, provided that the coverability as an inherent feature of the code under test is predictable. This article offers a machine learning model to predict the extent to which the test could cover a class in terms of a new metric called Coverageability. The prediction model consists of an ensemble of four regression models. The learning samples consist of feature vectors, where features are source code metrics computed for a class. The samples are labeled by the Coverageability values computed for their corresponding classes. We offer a mathematical model to evaluate test effectiveness in terms of size and coverage of the test suite generated automatically for each class. We extend the size of the feature space by introducing a new approach to defining sub-metrics in terms of existing source code metrics. Using feature importance analysis on the learned prediction models, we sort source code metrics in the order of their impact on the test effectiveness. As a result of which, we found the class strict cyclomatic complexity as the most influential source code metric. Our experiments with the prediction models on a large corpus of Java projects containing about 23,000 classes demonstrate the Mean Absolute Error (MAE) of 0.032, Mean Squared Error (MSE) of 0.004, and an R2-score of 0.855. Compared with the state-of-the-art coverage prediction models, our models improve MAE, MSE, and an R2-score by 5.78%, 2.84%, and 20.71%, respectively., Comment: 19 pages, 11 figures
- Published
- 2021
9. Test Oracle Generation Based on BPNN by Using the Values of Variables at Different Breakpoints for Programs
- Author
-
Chunyan Ma, Jinglan Fu, Tao Zhang, and Shaoying Liu
- Subjects
Computer Networks and Communications ,Computer science ,business.industry ,Process (computing) ,computer.software_genre ,Computer Graphics and Computer-Aided Design ,Automation ,Bottleneck ,Oracle ,Artificial Intelligence ,Software testing ,Data mining ,business ,computer ,Software - Abstract
Automatic test oracle generation is a bottleneck in realizing full automation of the entire software testing process. This study proposes a new method for automatically generating a test oracle for a new test input on the basis of several historical test cases by using a backpropagation neural network (BPNN) model. The new method is different from existing test oracle techniques. Specifically, our method has two steps. First, the values of variables are collected as training data when several historical test inputs are used to execute the program at different breakpoints. The test oracles (pass or fail) of these test cases are utilized to classify and label the training data. Second, a new test input is used to execute the program at different breakpoints, where the trained BPNN prediction model automatically generates its test oracle on the basis of the collected values of the variables involved. We conduct an experiment to validate our method. In the experiment, 113 faulty versions of seven types of programs are used as experimental objects. Results show that the average prediction accuracy rate of 74,651 test oracles is 95.8%. Although the failed test cases in the training data account for less than 5%, the overall average recall rate (prediction accuracy of test case execution failure) of all programs is 78.9%. Furthermore, the trained BPNN can reveal not only the impact of the values of variables but also the impact of the logical correspondence between variables in test oracle generation.
- Published
- 2021
10. An exploration of combinatorial testing-based approaches to fault localization for explainable AI
- Author
-
Raghu N. Kacker, Ludwig Kampel, Dimitris E. Simos, and D. Richard Kuhn
- Subjects
Computer science ,business.industry ,Applied Mathematics ,Complex system ,Fault (power engineering) ,GeneralLiterature_MISCELLANEOUS ,ComputingMethodologies_PATTERNRECOGNITION ,Artificial Intelligence ,Software testing ,Combinatorial testing ,Research questions ,Artificial intelligence ,business ,Structural approach - Abstract
We briefly review properties of explainable AI proposed by various researchers. We take a structural approach to the problem of explainable AI, examine the feasibility of these aspects and extend them where appropriate. Afterwards, we review combinatorial methods for explainable AI which are based on combinatorial testing-based approaches to fault localization. Last, we view the combinatorial methods for explainable AI through the lens provided by the properties of explainable AI that are elaborated in this work. We pose resulting research questions that need to be answered and point towards possible solutions, which involve a hypothesis about a potential parallel between software testing, human cognition and brain capacity.
- Published
- 2021
11. International Comparative Studies on the Software Testing Profession
- Author
-
Daniel Varona, Jingdong Jia, Pradeep Kashinath Waychal, Luiz Fernando Capretz, and Yadira Lizama
- Subjects
FOS: Computer and information sciences ,Value (ethics) ,testers ,ComputingMilieux_THECOMPUTINGPROFESSION ,Human Dimension ,Engineering profession ,business.industry ,verification & validation ,Software Engineering ,software testing ,Sample (statistics) ,testing professionals ,Public relations ,Computer Science Applications ,Software Engineering (cs.SE) ,Computer Science - Software Engineering ,Software ,Work (electrical) ,Learning opportunities ,Hardware and Architecture ,Software testing ,Psychology ,business ,human factors in software engineering - Abstract
This work attempts to fill a gap by exploring the human dimension in particular, by trying to understand the motivation of software professionals for taking up and sustaining their careers as software testers. Towards that goal, four surveys were conducted in four countries - India, Canada, Cuba, and China - to try to understand how professional software engineers perceive and value work-related factors that could influence their motivation to start or move into software testing careers. From our sample of 220 software professionals, we observed that very few were keen to take up testing careers. Some aspects of software testing, such as the potential for learning opportunities and the importance of the job, appear to be common motivators across the four countries, whereas the treatment of testers as second-class citizens and the complexity of the job appeared to be the most prominent de-motivators., 6 pages. arXiv admin note: substantial text overlap with arXiv:2103.06343, arXiv:1906.06144
- Published
- 2021
12. Gray Literature Versus Academic Literature in Software Engineering: A Call for Epistemological Analysis
- Author
-
Austen Rainer and Vahid Garousi
- Subjects
information needs ,business.industry ,Computer science ,Grey literature ,Information needs ,evidence-based software engineering ,Software ,Software testing ,Evidence based software engineering ,academic literature ,Software engineering ,business - Abstract
To learn about novel software engineering (SE) trends, where do you refer to? In order to document and disseminate their experience / knowledge, many SE practitioners prepare technical materials and share them online as blog posts, white papers and videos. Such materials are often called “grey literature” because they are not formally peer reviewed. By contrast, SE researchers write technical papers that are peer-reviewed and published as academic literature. We observe that, in general, these two communities mostly read literature that is only written by and published within their respective communities. This situation has led to a form of “knowledge divide” between the two communities that, we believe, hurts both communities. By characterizing and contrasting the two types of literature, grey and academic, we discuss how each literature can complement the other and can lead to a richer and more integrated knowledge exchange and dissemination in SE.
- Published
- 2021
13. Early Integration Testing for Entity Reconciliation in the Context of Heterogeneous Data Sources.
- Author
-
Blanco, Raquel, Enriquez, Jose G., Dominguez-Mayo, Francisco J., Escalona, M. J., and Tuya, Javier
- Subjects
- *
COMPUTER vision , *SYSTEM integration , *INFORMATION retrieval , *DATA analysis , *COMPUTER software correctness - Abstract
Entity reconciliation (ER) aims to combine data from different sources for a unified vision. The management of large volumes of data has given rise to significant challenges to the ER problem due to facts such as data becoming more unstructured, unclean, and incomplete or the existence of many datasets that store information about the same topic. Testing the applications that implement the ER problem is crucial to ensure both the correctness of the reconciliation process and the quality of the reconciled data. This paper presents an approach based on model-driven engineering that allows the creation of test models for the early integration testing of ER applications, contributing in three main aspects: the description of the elements of the proposed framework, the definition of the testing model, and the validation of the proposal through two real-world case studies. This validation verifies that the early integration testing of the ER application is capable of detecting a series of deficiencies, which a priori are not known and that will help to improve the final result that the ER application offers. [ABSTRACT FROM AUTHOR]
- Published
- 2018
- Full Text
- View/download PDF
14. The structural relationship among satisfaction of education and training, job crafting, organizational effectiveness in Consortium for HRD Ability Magnified Program - Focusing on training employees in the software testing field
- Author
-
Ji-Woon Kang and Hyo-Joo Kang
- Subjects
Job crafting ,Knowledge management ,business.industry ,Software testing ,Field (Bourdieu) ,Psychology ,business ,Organizational effectiveness ,Training (civil) - Published
- 2021
15. TESTIRANJE GRAPHQL APLIKACIJA
- Author
-
Aleksandra Milivojević
- Subjects
business.industry ,Computer science ,Software testing ,Software engineering ,business - Abstract
This paper explains the basic concepts of GraphQL specification. Types and strategies of software testing according to this concept are given. The application that demonstrates it is implemented. The tests specific for systems that use GraphQL are written and explained.
- Published
- 2021
16. Exploring human factors of the agile software tester
- Author
-
Raluca Florea, Lucas Paruch, and Viktoria Stray
- Subjects
Knowledge management ,Computer science ,business.industry ,media_common.quotation_subject ,Agile tester ,020207 software engineering ,02 engineering and technology ,Software testing ,Adaptability ,Human traits ,Software ,Work (electrical) ,Soft skills ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,Curiosity ,Facilitated communication ,Communication skills ,Agile software development ,Safety, Risk, Reliability and Quality ,business ,Qualitative research ,media_common - Abstract
Although extensive research has been conducted on the characteristics of the agile developer, little attention has been given to the features of the software-testing role. This paper explores the human factors of the software testers working in agile projects through a qualitative study focusing on how these factors are perceived. We interviewed 22 agile software practitioners working in three international companies: 14 testers, five developers, and three designers. Additionally, we observed 11 meetings and daily work of 13 participants in one of the companies. Our findings show that the views on the human factors shaping the agile software tester’s role were crystallized into seven traits, which the agile team members saw as central for the software-testing role: the ability to see the whole picture, good communication skills, detail-orientation, structuredness, creativeness, curiosity, and adaptability. The testers spent half their day communicating and learned how to mitigate the fact that they had to bring bad news to other project members. They also facilitated communication between the business side and development. Based on our results, we propose the seven traits as dimensions to consider for organizations recruiting agile software testers, as well as a reference for IT and non-IT professionals considering a software-testing career.
- Published
- 2021
17. Review on Structural Software Testing Coverage Approaches
- Author
-
Yogesh Dev Singh
- Subjects
Computer science ,business.industry ,Software testing ,Software engineering ,business - Abstract
Testing is broadly classified into three levels: Unit Testing, Addition Testing, and System Testing. Whenever we think of developing any software we always concentrate on making the software bug free and most reliable. At this point of time Testing is used to make the software a bug free. Software Testing has been measured as the most important stage of the software development life cycle. Around 60% of resources and money are cast-off for the testing of software. Testing can be manual or automated. Software testing is an activity that emphases at assessing the competence of a program and commands that it truly meets the excellence results. There are many test cases that help in detecting the bugs so, in this paper we describe about the most commonly used test cases and testing techniques for the error detection.
- Published
- 2021
18. Embedding and classifying test execution traces using neural networks
- Author
-
Ajitha Rajan, Miltiadis Allamanis, Gwenyth Rooijackers, and Foivos Tsimpourlas
- Subjects
Artificial neural network ,Computer science ,business.industry ,execution trace ,software testing ,Machine learning ,computer.software_genre ,neural networks ,Computer Graphics and Computer-Aided Design ,Oracle ,Software testing ,Test execution ,Embedding ,Artificial intelligence ,business ,computer ,test oracle - Abstract
Classifying test executions automatically as pass or fail remains a key challenge in software testing and is referred to as the test oracle problem. It is being attempted to solve this problem with supervised learning over test execution traces. A programme is instrumented to gather execution traces as sequences of method invocations. A small fraction of the programme's execution traces is labelled with pass or fail verdicts. Execution traces are then embedded as fixed length vectors and a neural network (NN) component that uses the line-by-line information to classify traces as pass or fail is designed. The classification accuracy of this approach is evaluated using subject programs from different application domains—1. Module from Ethereum Blockchain, 2. Module from PyTorch deep learning framework, 3. Microsoft SEAL encryption library components, 4. Sed stream editor, 5. Nine network protocols from Linux packet identifier, L7-Filter and 6. Utilities library, commons-lang for Java. For all subject programs, it was found that test execution classification had high precision, recall and specificity, averaging to 93%, 94% and 96%, respectively, while only training with an average 14% of the total traces. Experiments show that the proposed NN-based approach is promising in classifying test executions from different application domains.
- Published
- 2022
19. Structural software testing techniques
- Author
-
Vuković Vuk
- Subjects
software testing ,structural software testing ,Business ,HF5001-6182 ,Finance ,HG1-9999 - Abstract
An effective test case is one that has a high probability of success in the identification of software defects. There are two well-known software testing methods of effective test case design - black-box and whitebox method. This paper presents an overview of the most common white-box software testing techniques, in the form of examples.
- Published
- 2014
20. Automated Black- and White-Box Testing of RESTful APIs With EvoMaster
- Author
-
Andrea Arcuri
- Subjects
Representational state transfer ,Application programming interface ,business.industry ,Computer science ,computer.internet_protocol ,White-box testing ,RESTful APIs ,Testing ,020207 software engineering ,02 engineering and technology ,computer.software_genre ,Test case ,Software bug ,Programming interfaces ,Test cases ,Computer bugs ,Software testing ,Server ,0202 electrical engineering, electronic engineering, information engineering ,Web service ,Software engineering ,business ,computer ,Software - Abstract
RESTful APIs are very popular in industry, especially when developing enterprise systems using a microservice architecture. Testing such APIs is challenging, as tests will be composed of not only HTTP calls, but also settings of the environment, like databases. Different blackbox testing techniques have been shown to easily find real faults in many RESTful APIs, with very little human effort from software engineers. However, whitebox techniques could lead to much better results, although having an up-front cost for the engineers. In this paper, we report on the use of the open-source tool EvoMaster, on eight RESTful APIs. We show how EvoMaster can be used to automatically generate test cases that can find several bugs, even when using a naive blackbox approach. When enhancing the search with whitebox information, significantly better results are achieved. However, there are several challenges that need to be taken into account when an engineer wants to use a tool such as EvoMaster to test their projects. This work is funded by the Research Council of Norway (project on Evolutionary Enterprise Testing, grant agreement No 274385).
- Published
- 2021
21. Software Safety Analysis to Support ISO 26262-6 Compliance in Agile Development
- Author
-
Henrik Sandgren and Vard Antinyan
- Subjects
Engineering ,Software ,business.industry ,Software testing ,Automotive industry ,System safety ,Iso standards ,Software prototyping ,business ,Software engineering ,Agile software development - Abstract
In the literature, there are clear-cut techniques for system safety analysis but little support for software-specific safety evaluation. This article provides a software safety analysis method to help practitioners comply with ISO 26262-6 in Agile software development.
- Published
- 2021
22. Next-Generation Software Verification: An AI Perspective
- Author
-
Shiva Nejati
- Subjects
business.industry ,Computer science ,Perspective (graphical) ,ComputerApplications_COMPUTERSINOTHERSYSTEMS ,020207 software engineering ,02 engineering and technology ,Formal methods ,computer.software_genre ,Software ,Software testing ,Next-generation network ,0202 electrical engineering, electronic engineering, information engineering ,Compiler ,Software engineering ,business ,Automatic programming ,computer ,Software verification - Abstract
In recent years, automated software verification has progressed significantly. We can now effectively explore complex software structures through automated testing or to prove properties of complex programs, such as compilers using formal methods. But, for the most part, software testing and formal software verification techniques have advanced independently with relatively few insights on how their research thrusts compare or can be combined.
- Published
- 2021
23. Factorials Experiments, Covering Arrays, and Combinatorial Testing
- Author
-
Dimitris E. Simos, D. Richard Kuhn, Yu Lei, and Raghu N. Kacker
- Subjects
business.industry ,Computer science ,Applied Mathematics ,media_common.quotation_subject ,010102 general mathematics ,Automotive industry ,0102 computer and information sciences ,01 natural sciences ,Computational Mathematics ,Software ,Computational Theory and Mathematics ,010201 computation theory & mathematics ,Software testing ,Combinatorial testing ,Quality (business) ,0101 mathematics ,Aerospace ,business ,Software engineering ,Internet of Things ,Medical systems ,media_common - Abstract
In the twenty-first century, our life will increasingly depend on software-based products and complex interconnected systems. Thus, the quality and security of software-based systems is a world-wide concern. Combinatorial testing is a versatile methodology for finding errors (bugs) and vulnerabilities in software-based systems. This paper offers a review of combinatorial testing. Combinatorial testing (CT) methods evolved from investigations which looked like factorial experiments (FE) with pass/fail outcomes. We will discuss the similarities and differences between FE and CT. Use of CT for detecting errors (bugs) in software-based systems has gained significant interest from the international software testing community. Many successful results have been reported from the use of CT to detect software errors in aerospace, automotive, defense, cybersecurity, electronic medical systems, and financial service industries. Now, combinatorial testing methods are being increasingly used to investigate vulnerabilities in software-based systems. Combinatorial testing could be useful in detecting errors and security vulnerabilities in Internet of Things, Autonomous Systems, and Artificially Intelligent Software.
- Published
- 2021
24. Software Testing or The Bugs’ Nightmare
- Author
-
Héctor D. Menéndez
- Subjects
Computer science ,business.industry ,Software development ,020207 software engineering ,02 engineering and technology ,Fuzz testing ,Symbolic execution ,Search based testing ,Nightmare ,Software testing ,0202 electrical engineering, electronic engineering, information engineering ,medicine ,Automatic test generation ,020201 artificial intelligence & image processing ,medicine.symptom ,Software engineering ,business - Abstract
Software development is not error-free. For decades, bugs –including physical ones– have become a significant development problem requiring major maintenance efforts. Even in some cases, solving bugs led to increment them. One of the main reasons for bug’s prominence is their ability to hide. Finding them is difficult and costly in terms of time and resources. However, software testing made significant progress identifying them by using different strategies that combine knowledge from every single part of the program. This paper humbly reviews some different approaches from software testing that discover bugs automatically and presents some different state-of-the-art methods and tools currently used in this area. It covers three testing strategies: search-based methods, symbolic execution, and fuzzers. It also provides some income about the application of diversity in these areas, and common and future challenges on automatic test generation that still need to be addressed.
- Published
- 2021
25. AUTOMATSKO TESTIRANJE ADMS FUNKCIONALNOSTI ZA UČITAVANJE SNIMKA DINAMIČKIH PODATAKA
- Author
-
Savo Đukić and Dragiša Sekulić
- Subjects
Software testing ,Computer science ,business.industry ,Snapshot (computer storage) ,Software engineering ,business - Abstract
U radu je izvršena analiza automatskog testiranja ADMS funkcionalnosti za učitavanje snimka dinamičkih podataka. Predstavljene su osnovne vrste testiranja softvera, kao i razlike između manuelnog i automatskog testiranja. Opisani su alati i okruženje korišćeni za pisanje automatskih testova. Na kraju rada dati su rezultati izvršavanja napisanih automatskih testova, kao i zaključci do kojih se došlo izvršenom analizom.
- Published
- 2021
26. Parallel Execution of Programs as a Support for Mutation Testing: A Replication Study
- Author
-
Paulo Sergio Lopes de Souza, Stevão Alves de Andrade, Simone R. S. Souza, and Márcio Eduardo Delamaro
- Subjects
Experimental Replication ,Computer Networks and Communications ,business.industry ,Computer science ,TESTE E AVALIAÇÃO DE SOFTWARE ,Computer Graphics and Computer-Aided Design ,Replication (computing) ,Test case ,Software ,Artificial Intelligence ,Software testing ,Embedded system ,Mutation testing ,business - Abstract
Mutation testing is well known as one of the most effective approaches to create test cases, which can detect software faults. However, its drawback is the low scalability — if no special attention is given to improve efficiency — that directly affects its application in practice. This paper shows a replication study focused on emphasizing evidence in which the use of distributed processing structures can improve mutation testing. For this purpose, an architecture that enables mutation testing concurrent execution was designed. Five load balancing algorithms responsible for controlling the distribution and execution of data while carrying out mutation testing were evaluated. Experiments were conducted in order to evaluate the scalability and performance of the architecture considering homogeneous and heterogeneous setups. A time reduction of 50% was observed when executing mutants in parallel in relation to the conventional sequential application of mutation testing. The performance gain was above 95% when there was a higher number of nodes in the distributed architecture.
- Published
- 2021
27. Software Testing Methodologies: A Information Review
- Author
-
Prashant Keswani and Sapana Desai
- Subjects
Software ,business.industry ,Computer science ,Software testing ,media_common.quotation_subject ,Software development ,Quality (business) ,Software engineering ,business ,Phase (combat) ,Quality assurance ,media_common - Abstract
In today’s Complex era, the need for simplest software application has increased massively. The quality of such a handy application along with adequate testing is the biggest challenge one can face. Software Testing is an integral part of any software development which has to be followed right from the sapling phase of development. This paper focuses on testing methodologies which are used prior along with testing techniques for quality assurance and best of the quality.
- Published
- 2021
28. Machine learning techniques for software testing effort prediction
- Author
-
Cuauhtemoc Lopez-Martin
- Subjects
business.industry ,Computer science ,media_common.quotation_subject ,020207 software engineering ,02 engineering and technology ,Bidding ,Machine learning ,computer.software_genre ,Resource (project management) ,Software ,Software testing ,020204 information systems ,Systems development life cycle ,Data quality ,0202 electrical engineering, electronic engineering, information engineering ,Quality (business) ,Artificial intelligence ,Safety, Risk, Reliability and Quality ,business ,computer ,Predictive modelling ,media_common - Abstract
Software testing (ST) has been considered as one of the most important and critical activities of the software development life cycle (SDLC) since it influences directly on quality. When a software project is planned, it is common practice to predict the corresponding ST effort (STEP) as a percentage of predicted SDLC effort. However, the effort range for ST has been reported between 10 and 60% of the predicted SDLC effort. This wide range on STEP causes uncertainty in software managers due to STEP is used for allocating resources to teams exclusively for testing activities, and for budgeting and bidding the projects. In spite of this concern, hundreds of studies have been published since 1981 about SDLC effort prediction models, and only thirty-one STEP studies published in the last two decades were identified (just two of them based their conclusions on statistical significance). The contribution of the present study is to investigate the application for STEP of five machine learning (ML) models reported as the most accurate ones when applied to SDLC effort prediction. The models were trained and tested with data sets of projects selected from an international public repository of software projects. The selection for projects was based on their data quality rating, type of development, development platform, programming language generation, sizing method, and resource level of projects. Results based on statistical significance allow suggesting the application of specific ML models to software projects by type of development, and developed on a determined platform and programming language generation.
- Published
- 2021
29. Hardware Penetration Testing Knocks Your SoCs Off
- Author
-
Mark Fischer, Nils Albartus, Johannes Mono, Fabian Langer, and Clemens Nasenberg
- Subjects
Exploit ,business.industry ,Computer science ,Cryptographic hardware ,Access control ,02 engineering and technology ,020202 computer hardware & architecture ,Software ,Software bug ,Hardware and Architecture ,Software testing ,Embedded system ,Penetration (warfare) ,0202 electrical engineering, electronic engineering, information engineering ,020201 artificial intelligence & image processing ,System on a chip ,Electrical and Electronic Engineering ,business - Abstract
his article highlights how software simulations can, on the one hand, help uncover bugs, but on the other hand, help exploit them. As a case study, this article details how to exploit bugs in cryptographic hardware.
- Published
- 2021
30. Understanding Local Robustness of Deep Neural Networks under Natural Variations
- Author
-
Ziyuan Zhong, Yuchi Tian, and Baishakhi Ray
- Subjects
FOS: Computer and information sciences ,Computer Science - Machine Learning ,Computer Science - Artificial Intelligence ,Computer science ,Computer Vision and Pattern Recognition (cs.CV) ,Computer Science - Computer Vision and Pattern Recognition ,02 engineering and technology ,Machine learning ,computer.software_genre ,Article ,Machine Learning (cs.LG) ,Computer Science - Software Engineering ,Robustness (computer science) ,0202 electrical engineering, electronic engineering, information engineering ,Natural (music) ,Robustness of DNNs ,Deep Neural Networks ,business.industry ,Software Testing ,020207 software engineering ,Software Engineering (cs.SE) ,Artificial Intelligence (cs.AI) ,Software testing ,Deep neural networks ,020201 artificial intelligence & image processing ,Artificial intelligence ,business ,computer - Abstract
Deep Neural Networks (DNNs) are being deployed in a wide range of settings today, from safety-critical applications like autonomous driving to commercial applications involving image classifications. However, recent research has shown that DNNs can be brittle to even slight variations of the input data. Therefore, rigorous testing of DNNs has gained widespread attention.While DNN robustness under norm-bound perturbation got significant attention over the past few years, our knowledge is still limited when natural variants of the input images come. These natural variants, e.g., a rotated or a rainy version of the original input, are especially concerning as they can occur naturally in the field without any active adversary and may lead to undesirable consequences. Thus, it is important to identify the inputs whose small variations may lead to erroneous DNN behaviors. The very few studies that looked at DNN’s robustness under natural variants, however, focus on estimating the overall robustness of DNNs across all the test data rather than localizing such error-producing points. This work aims to bridge this gap.To this end, we study the local per-input robustness properties of the DNNs and leverage those properties to build a white-box (DeepRobust-W) and a black-box (DeepRobust-B) tool to automatically identify the non-robust points. Our evaluation of these methods on three DNN models spanning three widely used image classification datasets shows that they are effective in flagging points of poor robustness. In particular, DeepRobust-W and DeepRobust-B are able to achieve an F1 score of up to 91.4% and 99.1%, respectively. We further show that DeepRobust-W can be applied to a regression problem in a domain beyond image classification. Our evaluation on three self-driving car models demonstrates that DeepRobust-W is effective in identifying points of poor robustness with F1 score up to 78.9%.
- Published
- 2021
31. Automated Visual Testing of Application User Interfaces Using Static Analysis of Screenshots
- Author
-
Šarūnas Packevičius, Eduardas Bareiša, and Greta Rudžionienė
- Subjects
Computer Networks and Communications ,Computer science ,business.industry ,Process (computing) ,020207 software engineering ,02 engineering and technology ,Static analysis ,Computer Graphics and Computer-Aided Design ,Artificial Intelligence ,Human–computer interaction ,Software testing ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,Web application ,User interface ,business ,Software ,Visual testing - Abstract
Mobile and web applications must operate and be displayed correctly on many different devices and browsers. The visual testing of web or mobile applications is usually a manual process that requires a significant amount of testing time, meaning that applications are tested only on a few devices. It is then assumed that the applications will be displayed correctly on other compatible or similar devices. This paper presents an automated visual testing method for user interfaces. The main contributions of this paper are a classification scheme for visual defects of user interfaces and the definition of an automatic visual testing method that tests applications on many different devices with varying hardware and software parameters. The method is based on an automated search for defects using heuristic and expected state prediction algorithms, which involves analyzing the resources used by applications and screenshots. The testing method works by executing applications on a full set of devices, taking a screenshot at every execution step, and analyzing each of these screenshots. The manual as well as automated testing approaches were validated on 781 of Android applications. The experimental results show that the proposed method has advantages over manual testing.
- Published
- 2021
32. Software Testing: Issues and Challenges of Artificial Intelligence & Machine Learning
- Author
-
Chris Sprunger Kishore Sugali, Venkata N Inukollu, Chris Sprunger, and Kishore Sugali
- Subjects
Software ,Software testing ,Computer science ,business.industry ,Component (UML) ,Key (cryptography) ,Artificial intelligence ,business ,Machine learning ,computer.software_genre ,Popularity ,computer - Abstract
The history of Artificial Intelligence and Machine Learning dates back to 1950’s. In recent years, there has been an increase in popularity for applications that implement AI and ML technology. As with traditional development, software testing is a critical component of an efficient AI/ML application. However, the approach to development methodology used in AI/ML varies significantly from traditional development. Owing to these variations, numerous software testing challenges occur. This paper aims to recognize and to explain some of the biggest challenges that software testers face in dealing with AI/ML applications. For future research, this study has key implications. Each of the challenges outlined in this paper is ideal for further investigation and has great potential to shed light on the way to more productive software testing strategies and methodologies that can be applied to AI/ML applications.
- Published
- 2021
33. TestDCat 3.0: catalog of test debt subtypes and management activities
- Author
-
Ismayle de Sousa Santos, Bruno Sabóia Aragão, Rossana M. C. Andrade, Valéria Lelli, Ticianne Darin, and Rute N. S. Castro
- Subjects
business.industry ,Process (engineering) ,Computer science ,media_common.quotation_subject ,020207 software engineering ,02 engineering and technology ,Test (assessment) ,Software development process ,Software ,Risk analysis (engineering) ,Technical debt ,Software testing ,020204 information systems ,Debt ,0202 electrical engineering, electronic engineering, information engineering ,Quality (business) ,Safety, Risk, Reliability and Quality ,business ,media_common - Abstract
When deadlines and resources of software projects become scarce, testing is usually in the first row to have its activities aborted or reduced. If defects cannot be found, products quality can be affected. In a software development process, aborted or reduced activities that can bring short-term benefits, but can be harmful to the project in a long run, are considered Technical Debt (TD). When TDs impact testing activities, they are called Test Debt. There are several studies dealing with Test Debt, however, current solutions often deal with specific types of tests (e.g., exploratory and automated tests) and do not address the whole software testing process. Aiming to fill these gaps, this paper proposes a Test Debt Catalog with subtypes of Test Debts and technical debt management activities. This catalog was built based on semi-structured interviews conducted with practitioners who perform testing activities in five projects from industry. With our catalog, we intend to help the management of test debts during the execution of software testing processes.
- Published
- 2021
34. Software and Performance Testing Tools
- Author
-
Nishi Srivastava, Ujjwal Kumar, and Pawan Singh
- Subjects
Software ,business.industry ,Computer science ,Software testing ,Software engineering ,business - Abstract
Software Testing may be a method, that involves, death penalty of a software system program/application and finding all errors or bugs therein program/application in order that the result is going to be a defect-free software system. Quality of any software system will solely be acknowledged through means that of testing (software testing). Through the advancement of technology round the world, there inflated the quantity of verification techniques and strategies to check the software system before it goes to production and astray to promote. Automation Testing has created its impact within the testing method. Now-a-days, most of the software system testing is finished with the automation tools that not solely lessens the quantity of individuals operating around that software system however additionally the errors which will be loose through the eyes of the tester. Automation take look acting contains test cases that make the work simple to capture totally different eventualities and store them. Therefore, software system automation testing method plays a significant role within the software system testing success. This study aims in knowing differing kinds of software system testing, software system testing techniques and tools and to match manual testing versus automation testing.
- Published
- 2021
35. Software Testing System Development Based on ISO 29119
- Author
-
Chadatarn Raksawat and Pattama Charoenporn
- Subjects
System development ,Artificial Intelligence ,Computer Networks and Communications ,Computer science ,business.industry ,Software testing ,Software engineering ,business ,Software ,Computer Science Applications ,Information Systems - Published
- 2021
36. Toward a Multi-Criteria Framework for Selecting Software Testing Tools
- Author
-
Asma Abdulghani Qassem Al-Shargabi and Asma J. Abdulwareth
- Subjects
testing tools selection ,General Computer Science ,business.industry ,Computer science ,Process (engineering) ,testing tools classifications ,General Engineering ,Analytic hierarchy process ,TOPSIS ,Software testing ,automated testing ,TK1-9971 ,Variety (cybernetics) ,Software development process ,Software ,taxonomy of testing tools ,Taxonomy (general) ,General Materials Science ,Electrical engineering. Electronics. Nuclear engineering ,Software engineering ,business ,Selection (genetic algorithm) ,testing tools - Abstract
Software testing is a vital part of software engineering process. Automated testing makes this process more accurate and more efficient. For automated testing, many different testing tools were introduced. Due to the large number and the variety of testing tools, selecting the appropriate tools became a difficult confusable task. This research aims at developing a comprehensive taxonomy for testing tools that cover a broad range of testing tools criteria. This comprehensive view would help software developers and software vendors to specify the testing tool/s they need/develop accurately. In details, the framework includes two main parts: (1) comprehensive taxonomy of testing tools; (2) multi-criteria selection method. The first part covers different criteria of testing tools. Because these criteria are large in numbers, wide and variant, a taxonomy of these criteria is needed. This taxonomy will help developers distinguish among testing tools based on a wide spectrum of different criteria. The second part of the framework is a multi-criteria selection method; that enables software developers to choose the appropriate testing tool using a systematic and adequate automated manner. The selection method employs scientific two well-known methods of multi-criteria decision-making techniques; Analytic Hierarchy Process (AHP) and Technique for Order Preference by Similarity to Ideal Solution (TOPSIS). The testing tools taxonomy is well validated by academic professionals in software engineering and achieved good scores in terms of significance, usefulness and comprehension. Academics reported that the taxonomy is slightly complex and needs to be simplified. The selection method was validated using different scenarios to prove the quality of selection even in complex cases with many criteria and many alternatives.
- Published
- 2021
37. Exploring the Profiles of Software Testing Jobs in the United States
- Author
-
Phillip A. Laplante, Valdemar Vicente Graciano Neto, Giuseppe Destefanis, Mohamad Kassab, and Joanna F. DeFranco
- Subjects
General Computer Science ,testing career ,Computer science ,Exploratory research ,02 engineering and technology ,Software testing ,Software ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,General Materials Science ,survey ,Highly skilled ,Data collection ,08 Information and Computing Sciences, 09 Engineering, 10 Technology ,business.industry ,General Engineering ,020207 software engineering ,software testing ,job ad ,TK1-9971 ,Data set ,Engineering management ,industry practices ,Task analysis ,NIST ,exploratory study ,Electrical engineering. Electronics. Nuclear engineering ,business - Abstract
Copyright © 2021 The Author(s). There is an indisputable industrial need for highly skilled individuals in the role of software testers. However, little is known about what activities under testers' responsibilities, competencies, and experiences sought after from employers' perspectives. For the purpose of this research, a data set of 1000 job ads related to software testing role in the United States was collected and analyzed. Specifically, a thorough analysis was conducted to find the industrial demand for competencies for the software testing role in terms of (i) Level of education, training, and experience; (ii) Testing skills; (iii) Technical skills; and (iv) Soft-skills. Relevant correlated skills that may influence shaping the profile of the software tester were also analyzed. Also, the essential duties that a software tester is expected to perform were investigated. The results from the subsequent quantitative and qualitative analysis are reported.
- Published
- 2021
38. THE IDENTIFICATION OF PROBLEMATIC SOFTWARE TESTERS MANAGEMENT AREAS
- Author
-
Alina Langa, Ireneusz J. Jóźwiak, Wojciech M. Nowak, Jan Switana, Alicja M. Jóźwiak, and Kacper Starościak
- Subjects
Identification (information) ,Software ,business.industry ,Software testing ,Computer science ,General Medicine ,Software engineering ,business - Published
- 2021
39. Optimizing the Software Testing Problem Using Search-Based Software Engineering Techniques
- Author
-
Mashael S. Maashi and Hissah A. Ben Zayed
- Subjects
Computational Theory and Mathematics ,Artificial Intelligence ,business.industry ,Computer science ,Software testing ,Search-based software engineering ,Software engineering ,business ,Software ,Theoretical Computer Science - Published
- 2021
40. Toward a Technical Debt Conceptualization for Serverless Computing
- Author
-
Jeremy Daly, Antonio Martini, Damian A. Tamburri, Valentina Lenarduzzi, Sebastiano Panichella, Data Governance, Lappeenrannan-Lahden teknillinen yliopisto LUT, Lappeenranta-Lahti University of Technology LUT, and fi=School of Engineering Science|en=School of Engineering Science
- Subjects
Computer science ,Testing ,Face (sociological concept) ,Cloud computing ,ComputingMilieux_LEGALASPECTSOFCOMPUTING ,Servers ,02 engineering and technology ,Server ,0202 electrical engineering, electronic engineering, information engineering ,Data_FILES ,FAA ,Faces ,Serverless Computing ,Conceptualization ,business.industry ,020207 software engineering ,Computational modeling ,Technical debt ,Software testing ,004: Informatik ,Technical Debt ,business ,Software engineering ,Software architecture ,Software - Abstract
© 2020 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works., Serverless computing aims at reducing processing and operational units to single event-driven functions for service orchestration and choreography. With its micro-granular architectural characteristics, serverless computing is bound to face considerable architectural issues and challenges in the medium- and long-term; are these bound to become Technical Debt? As known to many, technical debt is a metaphor that reflects the additional long-run project costs connected to immediately-expedient but unsavvy technical decisions. However, what does technical debt mean and how is it expressed in serverless computing and other hybrid compute models? This article represents the first attempt to conceptualize Technical Debt in such a context; we base our arguments over a technical overview of serverless computing concepts and practices and elaborate on them via empirical inquiry. Our results suggest that higher serviceability of serverless technologies is also characterized by the absence of mechanisms to support an adequate maintainability, testability, and monitoring of serverless systems. Indeed, in case of unexpected behaviours, testing and maintenance activities are more complex and more expensive, as mainly based on non-automated, manual tasks.
- Published
- 2021
41. Large Scale Evaluation of Natural Language Processing Based Test-to-Code Traceability Approaches
- Author
-
László Vidács, Viktor Csuvik, and András Kicsi
- Subjects
Source code ,Source lines of code ,General Computer Science ,Traceability ,Computer science ,media_common.quotation_subject ,0211 other engineering and technologies ,latent semantic indexing ,02 engineering and technology ,Software testing ,0202 electrical engineering, electronic engineering, information engineering ,General Materials Science ,Software system ,natural language processing ,media_common ,021103 operations research ,business.industry ,General Engineering ,Naming convention ,test-to-code traceability ,020207 software engineering ,Software maintenance ,word embedding ,Software quality ,TK1-9971 ,Task analysis ,Electrical engineering. Electronics. Nuclear engineering ,unit testing ,Software engineering ,business - Abstract
Traceability information can be crucial for software maintenance, testing, automatic program repair, and various other software engineering tasks. Customarily, a vast amount of test code is created for systems to maintain and improve software quality. Today’s test systems may contain tens of thousands of tests. Finding the parts of code tested by each test case is usually a difficult and time-consuming task without the help of the authors of the tests or at least clear naming conventions. Recent test-to-code traceability research has employed various approaches but textual methods as standalone techniques were investigated only marginally. The naming convention approach is a well-regarded method among developers. Besides their often only voluntary use, however, one of its main weaknesses is that it can only identify one-to-one links. With the use of more versatile text-based methods, candidates could be ranked by similarity, thus producing a number of possible connections. Textual methods also have their disadvantages, even machine learning techniques can only provide semantically connected links from the text itself, these can be refined with the incorporation of structural information. In this paper, we investigate the applicability of three text-based methods both as a standalone traceability link recovery technique and regarding their combination possibilities with each other and with naming conventions. The paper presents an extensive evaluation of these techniques using several source code representations and meta-parameter settings on eight real, medium-sized software systems with a combined size of over 1.25 million lines of code. Our results suggest that with suitable settings, text-based approaches can be used for test-to-code traceability purposes, even where naming conventions were not followed.
- Published
- 2021
42. Deep Learning-Based Hybrid Fuzz Testing
- Author
-
Yu Wang, Lingyun Situ, Linzhang Wang, and Fengjuan Gao
- Subjects
Computer science ,business.industry ,Software testing ,Deep learning ,Hybrid testing ,Artificial intelligence ,Fuzz testing ,Symbolic execution ,business ,Software engineering - Published
- 2021
43. Serverless Testing: Tool Vendors' and Experts' Points of View
- Author
-
Valentina Lenarduzzi, Annibale Panichella, Lappeenrannan-Lahden teknillinen yliopisto LUT, Lappeenranta-Lahti University of Technology LUT, and fi=School of Engineering Science|en=School of Engineering Science
- Subjects
business.industry ,Computer science ,media_common.quotation_subject ,Testing ,Production ,Computer crashes ,Tools ,Databases ,Software ,Debugging ,Software quality assurance ,Software testing ,Data_FILES ,Software engineering ,business ,media_common - Abstract
Testing serverless applications plays an important role in software quality assurance. The current status of testing and debugging in serverless-based applications depicted by the experts helped us highlight issues and challenges that need to be deeply investigated. Post-print / Final draft
- Published
- 2021
44. Exploratory Review of Hybrid Fuzzing for Automated Vulnerability Detection
- Author
-
Fayozbek Rustamov, Juhwan Kim, Jihyeon Yu, and Joobeom Yun
- Subjects
concolic execution ,General Computer Science ,business.industry ,Computer science ,vulnerability ,General Engineering ,software testing ,Fuzz testing ,Information security ,Symbolic execution ,TK1-9971 ,Software ,Hybrid fuzzing ,TheoryofComputation_LOGICSANDMEANINGSOFPROGRAMS ,Component (UML) ,Key (cryptography) ,survey ,General Materials Science ,The Internet ,Electrical engineering. Electronics. Nuclear engineering ,Heuristics ,Software engineering ,business ,symbolic execution - Abstract
Recently, software testing has become a significant component of information security. The most reliable technique for automated software testing is a fuzzing tool that feeds programs with random test-input and detects software vulnerabilities that are critical to security. Similarly, symbolic execution has gained the most attention as an efficient testing tool for producing smart test-inputs and discovering hard-to-reach bugs using search-based heuristics and compositional approaches. The combination of fuzzing and symbolic execution makes software testing more efficient by mitigating the limitations in each other. Although several studies have been conducted on hybrid fuzzing in recent years, a comprehensive and consistent review of hybrid fuzzing techniques has not been explored. To add coherence to the extensive literature on hybrid fuzzing and to make it reach a large audience, this study provides an overview of key concepts along with the taxonomy of existing hybrid fuzzing tools, problems, and solutions that have been developed in this sphere. It also includes evaluations of the proposed approaches and a number of suggestions for the development of hybrid fuzzing in the future.
- Published
- 2021
45. Fuzzing With Optimized Grammar-Aware Mutation Strategies
- Author
-
Qing Li, Xi Xiao, Shu-Tao Xia, Jiale Deng, Xiaogang Zhu, and Sheng Wen
- Subjects
Schedule ,General Computer Science ,Computer science ,business.industry ,General Engineering ,Byte ,software testing ,Fuzz testing ,Machine learning ,computer.software_genre ,grammar-based fuzzing ,TK1-9971 ,Software ,Rule-based machine translation ,Computer security ,Abstract syntax ,Mutation (genetic algorithm) ,General Materials Science ,Node (circuits) ,Artificial intelligence ,Electrical engineering. Electronics. Nuclear engineering ,business ,computer - Abstract
Fuzzing is a widely used technique to discover vulnerabilities in software. However, for programs requiring highly structured inputs, the byte-based mutation strategies in existing fuzzers have difficulties in generating valid inputs. To resolve this challenge, Grammar-Based Fuzzing (GBF) utilizes existing grammar specifications to generate new inputs. Some GBFs perform mutation based on Abstract Syntax Trees (ASTs), which can generate inputs conforming to grammars. However, the existing GBFs neglect using feedback to optimize mutation strategies, and blindly generate inputs without considering the effectiveness of those inputs. In this paper, we use the power schedule and the subtree pool to optimize mutation strategies. Specifically, we first translate input files into ASTs, and extract subtrees from ASTs into a subtree pool. Then, we optimize the power schedule on AST nodes based on a probabilistic model. That is, we adaptively determine the time budget for mutating an AST node. Finally, we replace AST nodes along with their subtrees using the ones we select from the subtree pool. We implement a fuzzing tool to demonstrate our strategies. The experiment results show that our method outperforms the state-of-the-art methods in fuzzing efficiency.
- Published
- 2021
46. A Study on Testers’ Learning Curve in Crowdsourced Software Testing
- Author
-
Ning Chen, Song Huang, Yongming Yao, Cheng Zong, and Erhu Liu
- Subjects
021103 operations research ,General Computer Science ,Computer science ,business.industry ,0211 other engineering and technologies ,General Engineering ,020207 software engineering ,02 engineering and technology ,Machine learning ,computer.software_genre ,Software ,Software bug ,Software testing ,0202 electrical engineering, electronic engineering, information engineering ,Task analysis ,General Materials Science ,Artificial intelligence ,business ,computer ,Test data - Abstract
Recommending effective testers in crowdsourced software testing is a challenge. In this paper, we study the improvement of crowdsourced software testers’ skills over time. We propose the project difficulty coefficient to eliminate the influence of the item on the tester’s score. The hyperbolic learning curve model and exponential learning curve model are used to fit the learning ability of the testers. The experimental results show that when the test data is large, the exponential learning curve can better simulate the improvement of testers’ skills.
- Published
- 2021
47. A Literature Review of Using Machine Learning in Software Development Life Cycle Stages
- Author
-
Alexander Egyed, Christoph Mayr-Dorn, Saad Shafiq, and Atif Mashkoor
- Subjects
Software engineering ,General Computer Science ,Computer science ,business.industry ,literature review ,General Engineering ,Machine learning ,computer.software_genre ,TK1-9971 ,Support vector machine ,Software ,machine learning ,Software testing ,Systems development life cycle ,General Materials Science ,Artificial intelligence ,Software system ,Electrical engineering. Electronics. Nuclear engineering ,business ,computer - Abstract
The software engineering community is rapidly adopting machine learning for transitioning modern-day software towards highly intelligent and self-learning systems. However, the software engineering community is still discovering new ways how machine learning can offer help for various software development life cycle stages. In this article, we present a study on the use of machine learning across various software development life cycle stages. The overall aim of this article is to investigate the relationship between software development life cycle stages, and machine learning tools, techniques, and types. We attempt a holistic investigation in part to answer the question of whether machine learning favors certain stages and/or certain techniques.
- Published
- 2021
48. Challenges of Automated Software Testing with Robotic Process Automation RPA - A Comparative Analysis of UiPath and Automation Anywhere
- Author
-
David Andrade
- Subjects
business.industry ,Software testing ,Computer science ,Software engineering ,business ,Process automation system ,Automation - Published
- 2020
49. The Rituals of Iterations and Tests
- Author
-
George Fairbanks
- Subjects
Computer science ,Software testing ,business.industry ,Software engineering ,business ,Software - Published
- 2020
50. A Study on AUTOSAR RTE and BSW Test Method
- Author
-
Seonghun Lee, Daehyun Kum, and Soohyeon Kwon
- Subjects
AUTOSAR ,Computer science ,Software testing ,business.industry ,Embedded system ,Automotive Engineering ,Test method ,business - Published
- 2020
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.