AINov 10, 2023
Search-Based Fairness Testing: An OverviewHussaini Mamman, Shuib Basri, Abdullateef Oluwaqbemiga Balogun et al.
Artificial Intelligence (AI) has demonstrated remarkable capabilities in domains such as recruitment, finance, healthcare, and the judiciary. However, biases in AI systems raise ethical and societal concerns, emphasizing the need for effective fairness testing methods. This paper reviews current research on fairness testing, particularly its application through search-based testing. Our analysis highlights progress and identifies areas of improvement in addressing AI systems biases. Future research should focus on leveraging established search-based testing methodologies for fairness testing.
SEAug 9, 2021Code
Recommender Systems for Software Project ManagersLiang Wei, Luiz Fernando Capretz
The design of recommendation systems is based on complex information processing and big data interaction. This personalized view has evolved into a hot area in the past decade, where applications might have been proved to help for solving problem in the software development field. Therefore, with the evolvement of Recommendation System in Software Engineering (RSSE), the coordination of software projects with their stakeholders is improving. This experiment examines four open source recommender systems and implemented a customized recommender engine with two industrial-oriented packages: Lenskit and Mahout. Each of the main functions was examined and issues were identified during the experiment.
SEMay 20, 2020Code
An Empirical Study of User Support Tools in Open Source SoftwareArif Razza, Luiz Fernando Capretz, Shuib Basri
End users positive response is essential for the success of any software. This is true for both commercial and Open Source Software (OSS). OSS is popular not only because of its availability, which is usually free but due to the user support it provides, generally through public platforms. The study model of this research establishes a relationship between OSS user support and available support tools. To conduct this research, we used a dataset of 100 OSS projects in different categories and examined five user support tools provided by different OSS projects. The results show that project trackers, user mailing lists, and updated versions have a significant role in gaining user support. However, we were unable to find a significant association between user support and documentation, as well as between user support and the troubleshooting guidelines provided by OSS projects.
SEDec 1, 2015Code
Managing Support Requests in Open Source Software Project: The Role of Online ForumsFaheem Ahmed, Piers Campbell, Ahmad Jaffar et al.
The use of free and open source software is gaining momentum due to the ever increasing availability and use of the Internet. Organizations are also now adopting open source software, despite some reservations in particular regarding the provision and availability of support. One of the greatest concerns about free and open source software is the availability of post release support and the handling of for support. A common belief is that there is no appropriate support available for this class of software, while an alternative argument is that due to the active involvement of Internet users in online forums, there is in fact a large resource available that communicates and manages the management of support requests. The research model of this empirical investigation establishes and studies the relationship between open source software support requests and online public forums. The results of this empirical study provide evidence about the realities of support that is present in open source software projects. We used a dataset consisting of 616 open source software projects covering a broad range of categories in this investigation. The results show that online forums play a significant role in managing support requests in open source software, thus becoming a major source of assistance in maintenance of the open source projects.
HCNov 27, 2015Code
An Empirical Study of Open Source Software Usability: The Industrial PerspectiveArif Raza, Luiz Fernando Capretz, Faheem Ahmed
Recent years have seen a sharp increase in the use of open source projects by common novice users; Open Source Software (OSS) is thus no longer a reserved arena for software developers and computer gurus. Although user-centered designs are gaining popularity in OSS, usability is still not considered as one of the prime objectives in many design scenarios. In this paper, we analyze industry users perception of usability factors, including understandability, learnability, operability and attractiveness, on OSS usability. The research model of this empirical study establishes the relationship between the key usability factors and OSS usability from industrial perspective. In order to conduct the study, a data set of 105 industry users is included. The results of the empirical investigation indicate the significance of the key factors for OSS usability.
SENov 27, 2015Code
Maintenance Support in Open Source Software ProjectsArif Raza, Luiz Fernando Capretz, Faheem Ahmed
Easy and mostly free access to the internet has resulted in the growing use of open source software (OSS). However, it is a common perception that closed proprietary software is still superior in areas such as software maintenance and management. The research model of this study establishes a relationship between maintenance issues (such as user requests and error handling) and support provided by open source software through project forums, mailing lists and trackers. To conduct this research, we have used a dataset consisting of 120 open source software projects, covering a wide range of categories. The results of the study show that project forums and mailing lists play a significant role in addressing user requests in open source software. However according to the empirical investigation, it has been explored that trackers are used as an effective medium for error reporting as well as user requests.
SEJul 24, 2015Code
Building an OSS Quality Estimation Model with CATREGJie Xu, Danny Ho, Luiz Fernando Capretz
Open Source Software (OSS) has been a popular form in software development. In this paper, we use statistical approaches to derive OSS quality estimation models. Our objective is to build estimation models for the number of defects with metrics at project levels. First CATREG (Categorical regression with optimal scaling) is used to obtain quantifications of the qualitative variables. Then the independent variables are validated using the stepwise linear regression. The process is repeated to acquire optimal quantifications and final regression formula. This modeling process is performed based on data from the OSS communities and is proved to be practically valuable.
SEJul 24, 2015Code
Myths and Realities about Online Forums in Open Source Software Development: An Empirical StudyFaheem Ahmed, Piers Campbell, Ahmad Jaffar et al.
The use of free and open source software (OSS) is gaining momentum due to the ever increasing availability and use of the Internet. Organizations are also now adopting open source software, despite some reservations, in particular regarding the provision and availability of support. Some of the biggest concerns about free and open source software are post release software defects and their rectification, management of dynamic requirements and support to the users. A common belief is that there is no appropriate support available for this class of software. A contradictory argument is that due to the active involvement of Internet users in online forums, there is in fact a large resource available that communicates and manages the provision of support. The research model of this empirical investigation examines the evidence available to assess whether this commonly held belief is based on facts given the current developments in OSS or simply a myth, which has developed around OSS development. We analyzed a dataset consisting of 1880 open source software projects covering a broad range of categories in this investigation. The results show that online forums play a significant role in managing software defects, implementation of new requirements and providing support to the users in open source software and have become a major source of assistance in maintenance of the open source projects.
SEJul 24, 2015Code
Exploratory Analysis of Quality Practices in Open Source DomainJie Xu, Luiz Fernando Capretz, Danny Ho
Software quality assurance has been a heated topic for several decades, but relatively few analyses were performed on open source software (OSS). As OSS has become very popular in our daily life, many researchers have been keen on the quality practices in this area. Although quality management presents distinct patterns compared with those in closed-source software development, some widely used OSS products have been implemented. Therefore, quality assurance of OSS projects has attracted increased research focuses. In this paper, a survey is conducted to reveal the general quality practices in open source communities. Exploratory analysis has been carried out to disclose those quality related activities. The results are compared with those from closed-source environments and the distinguished features of the quality assurance in OSS projects have been confirmed. Moreover, this study suggests potential directions for OSS developers to follow.
SEJul 24, 2015Code
Addressing User Requirements in Opens Source Software: The Role of Online ForumsArif Raza, Luiz Fernando Capretz
User satisfaction has always been important in the success of software, regardless of whether it is closed and proprietary or open source software (OSS). OSS users are geographically distributed and include technical as well as novice users. However, it is generally believed that if OSS was more usable, its popularity would increase tremendously. Hence, users and their requirements need to be addressed in the priorities of an OSS environment. Online public forums are a major medium of communication for the OSS community. The research model of this work studies the relationship between user requirements in open source software and online public forums. To conduct this research, we used a dataset consisting of 100 open source software projects in different categories. The results show that online forums play a significant role in identifying user requirements and addressing their requests in open source software.
SEJul 24, 2015Code
Do Open Source Software Developers Listen to Their Users?Arif Raza, Luiz Fernando Capretz
In application software, the satisfaction of target users makes the software more acceptable. Open Source Software (OSS) systems have neither the physical nor the commercial boundaries of proprietary software, thus users from all over the world can interact with them. This free access is advantageous, as increasing numbers of users are able to access OSS; there are more chances of improvement. This study examines the way users feedback is handled by OSS developers. In our survey, we have also inquired whether OSS developers consult professional usability experts to improve their projects. According to the results, majority of OSS developers neither consider usability as their top priority nor do they consult usability experts.
SEJul 24, 2015Code
Contributors Preference in Open Source Software Usability: An Empirical StudyArif Raza, Luiz Fernando Capretz
The fact that the number of users of open source software (OSS) is practically un-limited and that ultimately the software quality is determined by end users experience, makes the usability an even more critical quality attribute than it is for proprietary software. With the sharp increase in use of open source projects by both individuals and organizations, the level of usability and related issues must be addressed more seriously. The research model of this empirical investigation studies and establishes the relationship between the key usability factors from contributors perspective and OSS usability. A data set of 78 OSS contributors that includes architects, designers, developers, testers and users from 22 open source projects of varied size has been used to study the research model. The results of this study provide empirical evidence by indicating that the highlighted key factors play a significant role in improving OSS usability.
SEMar 5, 2025
WIP: Assessing the Effectiveness of ChatGPT in Preparatory Testing ActivitiesSusmita Haldar, Mary Pierce, Luiz Fernando Capretz
This innovative practice WIP paper describes a research study that explores the integration of ChatGPT into the software testing curriculum and evaluates its effectiveness compared to human-generated testing artifacts. In a Capstone Project course, students were tasked with generating preparatory testing artifacts using ChatGPT prompts, which they had previously created manually. Their understanding and the effectiveness of the Artificial Intelligence generated artifacts were assessed through targeted questions. The results, drawn from this in-class assignment at a North American community college indicate that while ChatGPT can automate many testing preparation tasks, it cannot fully replace human expertise. However, students, already familiar with Information Technology at the postgraduate level, found the integration of ChatGPT into their workflow to be straightforward. The study suggests that AI can be gradually introduced into software testing education to keep pace with technological advancements.
AIJun 25, 2024
Unbiasing on the Fly: Explanation-Guided Human Oversight of Machine Learning System DecisionsHussaini Mamman, Shuib Basri, Abdullateef Balogun et al.
The widespread adoption of ML systems across critical domains like hiring, finance, and healthcare raises growing concerns about their potential for discriminatory decision-making based on protected attributes. While efforts to ensure fairness during development are crucial, they leave deployed ML systems vulnerable to potentially exhibiting discrimination during their operations. To address this gap, we propose a novel framework for on-the-fly tracking and correction of discrimination in deployed ML systems. Leveraging counterfactual explanations, the framework continuously monitors the predictions made by an ML system and flags discriminatory outcomes. When flagged, post-hoc explanations related to the original prediction and the counterfactual alternatives are presented to a human reviewer for real-time intervention. This human-in-the-loop approach empowers reviewers to accept or override the ML system decision, enabling fair and responsible ML operation under dynamic settings. While further work is needed for validation and refinement, this framework offers a promising avenue for mitigating discrimination and building trust in ML systems deployed in a wide range of domains.
STJan 26, 2022
Machine Learning for Stock Prediction Based on Fundamental AnalysisYuxuan Huang, Luiz Fernando Capretz, Danny Ho
Application of machine learning for stock prediction is attracting a lot of attention in recent years. A large amount of research has been conducted in this area and multiple existing results have shown that machine learning methods could be successfully used toward stock predicting using stocks historical data. Most of these existing approaches have focused on short term prediction using stocks historical price and technical indicators. In this paper, we prepared 22 years worth of stock quarterly financial data and investigated three machine learning algorithms: Feed-forward Neural Network (FNN), Random Forest (RF) and Adaptive Neural Fuzzy Inference System (ANFIS) for stock prediction based on fundamental analysis. In addition, we applied RF based feature selection and bootstrap aggregation in order to improve model performance and aggregate predictions from different models. Our results show that RF model achieves the best prediction results, and feature selection is able to improve test performance of FNN and ANFIS. Moreover, the aggregated model outperforms all baseline models as well as the benchmark DJIA index by an acceptable margin for the test period. Our findings demonstrate that machine learning models could be used to aid fundamental analysts with decision-making regarding stock investment.
SEDec 16, 2021
Developing a Suitability Assessment Criteria for Software Developers: Behavioral Assessment Using Psychometric TestJayati Gulati, Bharti Suri, Luiz Fernando Capretz et al.
Developing a Suitability Assessment Criteria for Software Developers: Behavioral Assessment Using Psychometric Test
SEDec 15, 2021
Using the DELPHI Method for Model for Role Assignment in the Software IndustryDaniel Varona, Luiz Fernando Capretz
Over the past two decades, there has been a growing interest in modeling the elements that need to be considered when assigning people to roles in software projects, as evidenced by the number of available publications related to the topic. However, for the most part, these studies, have taken only a partial approach to the issue. Some have focused on the target roles competency profile, while others have tried to understand the preferences of software developers for activities linked to certain roles and the relationship between these preferences and the candidates personal traits, to mention only two examples. Our research aims to find elements that can be integrated into an allocation model that complements current approaches by including competencies, personal traits, and project team building theories. To do so we performed an experts consultation exercise using the DELPHI method; which allowed us to validate a set of patterns related to different candidates personal traits, and the link between the teams motivational motors and their roles within the software development.
SENov 12, 2021
Reliability Models for Smartphone ApplicationsSonia Meskini, Ali Bou Nassif, Luiz Fernando Capretz
Smartphones have become the most used electronic devices. They carry out most of the functionalities of desktops, offering various useful applications that suit the users needs. Therefore, instead of the operator, the user has been the main controller of the device and its applications, therefore its reliability has become an emergent requirement. As a first step, based on collected smartphone applications failure data, we investigated and evaluated the efficacy of Software Reliability Growth Models (SRGMs) when applied to these smartphone data in order to check whether they achieve the same accuracy as in the desktop/laptop area. None of the selected models were able to account for the smartphone data satisfactorily. Their failure is traced back to: (i) the hardware and software differences between desktops and smartphones, (ii) the specific features of mobile applications compared to desktop applications, and (iii) the different operational conditions and usage profiles. Thus, a reliability model suited to smartphone applications is still needed. In the second step, we applied the Weibull and Gamma distributions, and their two particular cases, Rayleigh and S-Shaped, to model the smartphone failure data sorted by application version number and grouped into different time periods. An estimation of the expected number of defects in each application version was obtained. The performances of the distributions were then compared amongst each other. We found that both Weibull and Gamma distributions can fit the failure data of mobile applications, although the Gamma distribution is frequently more suited.
SENov 2, 2021
International Comparative Studies on the Software Testing ProfessionLuiz Fernando Capretz, Pradeep Waychal, Jingdong Jia et al.
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.
SEOct 11, 2021
Automatic Recall of Software Lessons Learned for Software Project ManagersTamer Mohamed Abdellatif, Luiz Fernando Capretz, Danny Ho
Lessons learned (LL) records constitute the software organization memory of successes and failures. LL are recorded within the organization repository for future reference to optimize planning, gain experience, and elevate market competitiveness. However, manually searching this repository is a daunting task, so it is often disregarded. This can lead to the repetition of previous mistakes or even missing potential opportunities. This, in turn, can negatively affect the profitability and competitiveness of organizations. We aim to present a novel solution that provides an automatic process to recall relevant LL and to push those LL to project managers. This will dramatically save the time and effort of manually searching the unstructured LL repositories and thus encourage the LL exploitation. We exploit existing project artifacts to build the LL search queries on-the-fly in order to bypass the tedious manual searching. An empirical case study is conducted to build the automatic LL recall solution and evaluate its effectiveness. The study employs three of the most popular information retrieval models to construct the solution. Furthermore, a real-world dataset of 212 LL records from 30 different software projects is used for validation. Top-k and MAP well-known accuracy metrics are used as well. Our case study results confirm the effectiveness of the automatic LL recall solution. Also, the results prove the success of using existing project artifacts to dynamically build the search query string. This is supported by a discerning accuracy of about 70% achieved in the case of top-k. The automatic LL recall solution is valid with high accuracy. It will eliminate the effort needed to manually search the LL repository. Therefore, this will positively encourage project managers to reuse the available LL knowledge, which will avoid old pitfalls and unleash hidden business opportunities.
SEOct 7, 2021
User Requirements for Software Game Process; An Empirical InvestigationSaiqa Aleem, Luiz Fernando Capretz, Faheem Ahmed et al.
This study attempts to provide a better understanding of the user dimension as a factor in software game success. It focuses mainly on an empirical investigation of the effect of user factors on the software game development process and finally on the quality of the resulting game. A quantitative survey was developed and conducted to identify key user dimensions. For this study, a survey was used to test the research model and hypotheses. The main contribution of this paper is to investigate empirically the influence of user key factors on software game development process that ultimately results in a higher quality final product. The results provide evidence that game development organizations must deal with multiple user key factors to remain competitive and handle high pressure in the soft-ware game industry.
SEOct 7, 2021
HABCSm: A Hamming Based t-way Strategy Based on Hybrid Artificial Bee Colony for Variable Strength Test Sets GenerationAmmar K Alazzawi, Helmi Md Rais, Shuib Basri et al.
Search-based software engineering that involves the deployment of meta-heuristics in applicable software processes has been gaining wide attention. Recently, researchers have been advocating the adoption of meta-heuristic algorithms for t-way testing strategies (where t points the interaction strength among parameters). Although helpful, no single meta-heuristic based t-way strategy can claim dominance over its counterparts. For this reason, the hybridization of meta-heuristic algorithms can help to ascertain the search capabilities of each by compensating for the limitations of one algorithm with the strength of others. Consequently, a new meta-heuristic based t-way strategy called Hybrid Artificial Bee Colony (HABCSm) strategy, based on merging the advantages of the Artificial Bee Colony (ABC) algorithm with the advantages of a Particle Swarm Optimization (PSO) algorithm is proposed in this paper. HABCSm is the first t-way strategy to adopt Hybrid Artificial Bee Colony (HABC) algorithm with Hamming distance as its core method for generating a final test set and the first to adopt the Hamming distance as the final selection criterion for enhancing the exploration of new solutions. The experimental results demonstrate that HABCSm provides superior competitive performance over its counterparts. Therefore, this finding contributes to the field of software testing by minimizing the number of test cases required for test execution.
SEMar 10, 2021
Practitioners Testimonials about Software TestingPradeep Waychal, Luiz Fernando Capretz, Jingdong Jia et al.
As software systems are becoming more pervasive, they are also becoming more susceptible to failures, resulting in potentially lethal combinations. Software testing is critical to preventing software failures but is, arguably, the least understood part of the software life cycle and the toughest to perform correctly. Adequate research has been carried out in both the process and technology dimensions of testing, but not in the human dimensions. This paper attempts to fill in the gap by exploring the human dimension, i.e., trying to understand the motivation of software professionals to take up and sustain testing careers. Towards that end, a survey was conducted in four countries - India, Canada, Cuba, and China - to try to understand how professional software testers perceive and value work-related factors that could influence their motivation to take up and sustain testing careers. With a sample of 220 software professionals, we observed that very few professionals are keen to take up testing careers. Some aspects of software testing, such as the learning opportunities, appear to be a common motivator across the four countries; whereas the treatment meted out to testers as second-class citizens and the complexity of the job appeared to be the most important de-motivators. This comparative study offers useful insights that can help global software industry leaders to come up with an action plan to put the software testing profession under a new light. That could increase the number of software engineers choosing testing careers, which would facilitate quality testing.
SEMar 10, 2021
Using an Expert Panel to Validate the Malaysian SMEs-Software Process Improvement Model (MSME-SPI)Malek Almomani, Shuib Basri, Omar Almomani et al.
This paper presents the components of a newly developed Malaysian SMEs - Software Process Improvement model (MSME-SPI) that can assess SMEs soft-ware development industry in managing and improving their software processes capability. The MSME-SPI is developed in response to practitioner needs that were highlighted in an empirical study with the Malaysian SME software development industry. After the model development, there is a need for independent feedback to show that the model meets its objectives. Consequently, the validation phase is performed by involving a group of software process improvement experts in examining the MSME-SPI model components. Besides, the effectiveness of the MSME-SPI model is validated using an expert panel. Three criteria were used to evaluate the effectiveness of the model namely: usefulness, verifiability, and structure. The results show the model effective to be used by SMEs with minor modifications. The validation phase contributes towards a better understanding and use of the MSME-SPI model by the practitioners in the field.
SEJul 16, 2020
What Malaysian Software Students Think about Testing?Luiz Fernando Capretz, Shuib Basri, Maythem Adili et al.
Software testing is one of the crucial supporting processes of software life cycle. Unfortunately for the software industry, the role is stigmatized, partly due to misperception and partly due to treatment of the role in the software industry. The present study aims to analyse this situation to explore what inhibit an individual from taking up a software testing career. In order to investigate this issue, we surveyed 82 senior students taking a degree in information technology, information and communication technology, and computer science at two Malaysian universities. The subjects were asked the PROs and CONs of taking up a career in software testing and what were the chances that they would do so. The study identified 7 main PROs and 9 main CONSs for starting a testing career, and indicated that the role of software tester has been perceived as a social role, with more soft skills connotations than technical implications. The results also show that Malaysian students have a more positive attitude towards software testing than their counterparts where similar investigations have been carried out.
SEMay 22, 2020
Updating Weight Values for Function Point CountingWei Xia, Danny Ho, Luiz Fernando Capretz et al.
While software development productivity has grown rapidly, the weight values assigned to count standard Function Point (FP) created at IBM twenty-five years ago have never been updated. This obsolescence raises critical questions about the validity of the weight values; it also creates other problems such as ambiguous classification, crisp boundary, as well as subjective and locally defined weight values. All of these challenges reveal the need to calibrate FP in order to reflect both the specific software application context and the trend of todays software development techniques more accurately. We have created a FP calibration model that incorporates the learning ability of neural networks as well as the capability of capturing human knowledge using fuzzy logic. The empirical validation using ISBSG Data Repository (release 8) shows an average improvement of 22% in the accuracy of software effort estimations with the new calibration.
SEMar 22, 2020
Software Effort Estimation from Use Case Diagrams Using Nonlinear Regression AnalysisAli Bou Nassif, Manar AbuTaleb, Luiz Fernando Capretz
Software effort estimation in the early stages of the software life cycle is one of the most essential and daunting tasks for project managers. In this research, a new model based on non-linear regression analysis is proposed to predict software effort from use case diagrams. It is concluded that, where software size is classified from small to very large, one linear or non-linear equation for effort estimation cannot be applied. Our model with three different non-linear regression equations can incorporate the different ranges in software size.
SEOct 6, 2019
Can we rely on smartphone applications?Sonia Meskini, Ali Bou Nassif, Luiz Fernando Capretz
Smartphones are becoming necessary tools in the daily lives of mil-lions of users who rely on these devices and their applications. There are thou-sands of applications for smartphone devices such as the iPhone, Blackberry, and Android, thus their reliability has become paramount for their users. This work aims to answer two related questions: (1) Can we assess the reliability of mobile applications by using the traditional reliability models? (2) Can we model adequately the failure data collected from many users? Firstly, it has been proved that the three most used software reliability models have fallen short of the mark when applied to smartphone applications; their failures were traced back to specific features of mobile applications. Secondly, it has been demonstrated that the Weibull and Gamma distribution models can adequately fit the observed failure data, thus providing better means to predict the reliability of smartphone applications.
SEJun 12, 2019
Studies on the Software Testing ProfessionLuiz Fernando Capretz, Pradeep Waychal, Jingdong Jia et al.
This paper attempts to understand motivators and de-motivators that influence the decisions of software professionals to take up and sustain software testing careers across four different countries, i.e. Canada, China, Cuba, and India. The research question can be framed as "How many software professionals across different geographies are keen to take up testing careers, and what are the reasons for their choices?" Towards that, we developed a cross-sectional but simple survey-based instrument. In this study we investigated how software testers perceived and valued what they do and their environmental settings. The study pointed out the importance of visualizing software testing activities as a set of human-dependent tasks and emphasized the need for research that examines critically individual assessments of software testers about software testing activities. This investigation can help global industry leaders to understand the impact of work-related factors on the motivation of testing professionals, as well as inform and support management and leadership in this context.
SEJun 12, 2019
Comparing Popularity of Testing Careers among Canadian, Chinese, Indian StudentsLuiz Fernando Capretz, Pradeep Waychal, Jingdong Jia
Despite its importance, software testing is, arguably, the least understood part of the software life cycle and still the toughest to perform correctly. Many researchers and practitioners have been working to address the situation. However, most of the studies focus on the process and technology dimensions and only a few on the human dimension of testing, in spite of the reported relevance of human aspects of software testing. Testers need to understand various stakeholders explicit and implicit requirements, be aware of how developers work individually and in teams, and develop skills to report test results wisely to stakeholders. These multifaceted qualifications lend vitality to the human dimension in software testing. Exploring this human dimension carefully may help understand testing in a better way.
STJun 12, 2019
Neural Network Models for Stock Selection Based on Fundamental AnalysisYuxuan Huang, Luiz Fernando Capretz, Danny Ho
Application of neural network architectures for financial prediction has been actively studied in recent years. This paper presents a comparative study that investigates and compares feed-forward neural network (FNN) and adaptive neural fuzzy inference system (ANFIS) on stock prediction using fundamental financial ratios. The study is designed to evaluate the performance of each architecture based on the relative return of the selected portfolios with respect to the benchmark stock index. The results show that both architectures possess the ability to separate winners and losers from a sample universe of stocks, and the selected portfolios outperform the benchmark. Our study argues that FNN shows superior performance over ANFIS.
IRDec 12, 2018
Searching for Relevant Lessons Learned Using Hybrid Information Retrieval Classifiers: A Case Study in Software EngineeringTamer Mohamed Abdellatif, Luiz Fernando Capretz
The lessons learned (LL) repository is one of the most valuable sources of knowledge for a software organization. It can provide distinctive guidance regarding previous working solutions for historical software management problems, or former success stories to be followed. However, the unstructured format of the LL repository makes it difficult to search using general queries, which are manually inputted by project managers (PMs). For this reason, this repository may often be overlooked despite the valuable information it provides. Since the LL repository targets PMs, the search method should be domain specific rather than generic as in the case of general web searching. In previous work, we provided an automatic information retrieval based LL classifier solution. In our solution, we relied on existing project management artifacts in constructing the search query on-the-fly. In this paper, we extend our previous work by examining the impact of the hybridization of multiple LL classifiers, from our previous study, on performance. We employ two of the hybridization techniques from the literature to construct the hybrid classifiers. An industrial dataset of 212 LL records is used for validation. The results show the superiority of the hybrid classifier over the top achieving individual classifier, which reached 25%.
CYDec 12, 2018
Computer Games Are Serious Business and so is their Quality: Particularities of Software Testing in Game Development from the Perspective of PractitionersRonnie Santos, Cleyton Magalhaes, Luiz Fernando Capretz et al.
Over the last several decades, computer games started to have a significant impact on society. However, although a computer game is a type of software, the process to conceptualize, produce and deliver a game could involve unusual features. In software testing, for instance, studies demonstrated the hesitance of professionals to use automated testing techniques with games, due to the constant changes in requirements and design, and pointed out the need for creating testing tools that take into account the flexibility required for the game development process. Goal. This study aims to improve the current body of knowledge regarding software testing in game development and point out the existing particularities observed in software testing considering the development of a computer game. Method. A mixed-method approach based on a case study and an opinion survey was applied to collect quantitative and qualitative data from software professionals regarding the particularities of software testing in game development. Results. We analyzed over 70 messages posted on three well-established network of question-and-answer communities related to software engineering, software testing and game development and received answers of 38 professionals discussing differences between testing a computer game and a general software, and identified important aspects to be observed by practitioners in the process of planning, performing and reporting tests in this context. Conclusion. Considering computer games, software testing must focus not only on the common aspects of a general software, but also, track and investigate issues that could be related to game balance, game physics and entertainment related-aspects to guarantee the quality of computer games and a successful testing process.
SEDec 12, 2018
A Call to Promote Soft Skills in Software EngineeringLuiz Fernando Capretz, Faheem Ahmed
We have been thinking about other aspects of software engineering for many years; the missing link in engineering software is the soft skills set, essential in the software development process. Although soft skills are among the most important aspects in the creation of software, they are often overlooked by educators and practitioners. One of the main reasons for the oversight is that soft skills are usually related to social and personality factors, i.e., teamwork, motivation, commitment, leadership, multi-culturalism, emotions, interpersonal skills, etc. This editorial is a manifesto declaring the importance of soft skills in software engineering with the intention to draw professionals attention to these topics. We have approached this issue by mentioning what we know about the field, what we believe to be evident, and which topics need further investigation. Important references to back up our claims are also included. Software engineers take pride in the depth of their technical expertise, which separates them from the crowd. But, what makes a good software engineer? First, it is the technical knowledge of relevant methodologies and techniques (i.e. hard skills), as well as the skills necessary for applying that knowledge in practice. Second, but nonetheless important, it is a set of soft skills, in particular collaboration, communication, problem-solving and similar interpersonal and critical thinking skills that are expected from software engineering professionals. In other words, software engineers need both hard and soft skills in order to be successful at the workplace.
SEJan 12, 2018
Critical Success Factors to Improve the Game Development Process from a Developers PerspectiveSaiqa Aleem, Luiz Fernando Capretz, Faheem Ahmed
The growth of the software game development industry is enormous and is gaining importance day by day. This growth imposes severe pressure and a number of issues and challenges on the game development community. Game development is a complex process, and one important game development choice is to consider the developer perspective to produce good quality software games by improving the game development process. The objective of this study is to provide a better understanding of the developers dimension as a factor in software game success. It focuses mainly on an empirical investigation of the effect of key developer factors on the software game development process and eventually on the quality of the resulting game. A quantitative survey was developed and conducted to identify key developer factors for an enhanced game development process. For this study, the developed survey was used to test the research model and hypotheses. The results provide evidence that game development organizations must deal with multiple key factors to remain competitive and to handle high pressure in the software game industry. The main contribution of this paper is to investigate empirically the influence of key developer factors on the game development process.
CRNov 22, 2017
Formal Analysis of an Authentication Protocol Against External Cloud-Based Denial-of-Service (DoS) AttackMarwan Darwish, Abdelkader Ouda, Luiz Fernando Capretz
The Denial-of-service (DoS) attack is considered one of the largest threats to the availability of cloud-computing services. Due to the unique architecture of cloud-computing systems, the methods for detecting and preventing DoS attacks are quite different from those used in traditional network systems. A main target for DoS attackers is the authentication protocol because it is considered a gateway to accessing cloud resources. In this work, we propose a cloud-based authentication protocol - one that securely authenticates the cloud user and effectively prevents DoS attack on the cloud-computing system-by involving the user in a high computation process. Then, we analyze the protocol via Syverson and Van Oorschot (SVO) logic to verify the authentication process of the protocol in a cloud-computing system.
CRNov 22, 2017
Cloud-Based Secure Authentication (CSA) Protocol Suite for Defense against DoS AttacksMarwan Darwish, Abdelkader Ouda, Luiz Fernando Capretz
Cloud-based services have become part of our day-to-day software solutions. The identity authentication process is considered to be the main gateway to these services. As such, these gates have become increasingly susceptible to aggressive attackers, who may use Denial of Service (DoS) attacks to close these gates permanently. There are a number of authentication protocols that are strong enough to verify identities and protect traditional networked applications. However, these authentication protocols may themselves introduce DoS risks when used in cloud-based applications. This risk introduction is due to the utilization of a heavy verification process that may consume the cloud resources and disable the application service. In this work, we propose a novel cloud-based authentication protocol suite that not only is aware of the internal DoS threats but is also capable of defending against external DoS attackers. The proposed solution uses a multilevel adaptive technique to dictate the efforts of the protocol participants. This technique is capable of identifying a legitimate users requests and placing them at the front of the authentication process queue. The authentication process was designed in such a way that the cloud-based servers become footprint-free and completely aware of the risks of any DoS attack.
SENov 22, 2017
Game Development Software Engineering Process Life Cycle: A Systematic ReviewSaiqa Aleem, Luiz Fernando Capretz, Faheem Ahmed
Software game is a kind of application that is used not only for entertainment, but also for serious purposes that can be applicable to different domains such as education, business, and health care. Although the game development process differs from the traditional software development process because it involves interdisciplinary activities. Software engineering techniques are still important for game development because they can help the developer to achieve maintainability, flexibility, lower effort and cost, and better design. The purpose of this study is to assesses the state of the art research on the game development software engineering process and highlight areas that need further consideration by researchers. In the study, we used a systematic literature review methodology based on well-known digital libraries. The largest number of studies have been reported in the production phase of the game development software engineering process life cycle, followed by the pre-production phase. By contrast, the post-production phase has received much less research activity than the pre-production and production phases. The results of this study suggest that the game development software engineering process has many aspects that need further attention from researchers; that especially includes the postproduction phase.
SENov 22, 2017
A Digital Game Maturity Model (DGMM)Saiqa Aleem, Luiz Fernando Capretz, Faheem Ahmed
Game development is an interdisciplinary concept that embraces artistic, software engineering, management, and business disciplines. This research facilitates a better understanding of important dimensions of digital game development methodology. Game development is considered as one of the most complex tasks in software engineering. The increased popularity of digital games, the challenges faced by game development organizations in developing quality games, and high competition in the digital game industry demand a game development maturity assessment. Consequently, this study presents a Digital Game Maturity Model to evaluate the current development methodology in an organization. The framework of this model consists of assessment questionnaires, a performance scale, and a rating method. The main goal of the questionnaires is to collect information about current processes and practices. In general, this research contributes towards formulating a comprehensive and unified strategy for game development maturity evaluation. Two case studies were conducted and their assessment results reported. These demonstrate the level of maturity of current development practices in two organizations.
SENov 21, 2017
Would You Like to Motivate Software Testers? Ask Them HowRonnie Santos, Cleyton Magalhaes, Jorge Correia-Neto et al.
Context. Considering the importance of software testing to the development of high quality and reliable software systems, this paper aims to investigate how can work-related factors influence the motivation of software testers. Method. We applied a questionnaire that was developed using a previous theory of motivation and satisfaction of software engineers to conduct a survey-based study to explore and understand how professional software testers perceive and value work-related factors that could influence their motivation at work. Results. With a sample of 80 software testers we observed that software testers are strongly motivated by variety of work, creative tasks, recognition for their work, and activities that allow them to acquire new knowledge, but in general the social impact of this activity has low influence on their motivation. Conclusion. This study discusses the difference of opinions among software testers, regarding work-related factors that could impact their motivation, which can be relevant for managers and leaders in software engineering practice.
SENov 21, 2017
Direct and mediating influences of user-developer perception gaps in requirements understanding on user participationJingdong Jia, Luiz Fernando Capretz
User participation is considered an effective way to conduct requirements engineering, but user-developer perception gaps in requirements understanding occur frequently. Since user participation in practice is not as active as we expect and the requirements perception gap has been recognized as a risk that negatively affects projects, exploring whether user-developer perception gaps in requirements understanding will hinder user participation is worthwhile. This will help develop a greater comprehension of the intertwined relationship between user participation and perception gap, a topic that has not yet been extensively examined. This study investigates the direct and mediating influences of user-developer requirements perception gaps on user participation by integrating requirements uncertainty and top management support. Survey data collected from 140 subjects were examined and analyzed using structural equation modeling. The results indicate that perception gaps have a direct negative effect on user participation and negate completely the positive effect of top management support on user participation. Additionally, perception gaps do not have a mediating effect between requirements uncertainty and user participation because requirements uncertainty does not significantly and directly affect user participation, but requirements uncertainty indirectly influences user participation due to its significant direct effect on perception gaps. The theoretical and practical implications are discussed, and limitations and possible future research areas are identified.
SENov 21, 2017
Soft Sides of SoftwareLuiz Fernando Capretz, Fahem Ahmed, Fabio Queda Bueno da Silva
Software is a field of rapid changes: the best technology today becomes obsolete in the near future. If we review the graduate attributes of any of the software engineering programs across the world, life-long learning is one of them. The social and psychological aspects of professional development is linked with rewards. In organizations, where people are provided with learning opportunities and there is a culture that rewards learning, people embrace changes easily. However, the software industry tends to be short-sighted and its primary focus is more on current project success; it usually ignores the capacity building of the individual or team. It is hoped that our software engineering colleagues will be motivated to conduct more research into the area of software psychology so as to understand more completely the possibilities for increased effectiveness and personal fulfillment among software engineers working alone and in teams.
SENov 21, 2017
Grouping Environmental Factors Influencing Individual Decision-Making Behavior in Software Projects: A Cluster AnalysisJingdong Jia, Hanlin Mo, Luiz Fernando Capretz et al.
An individual decision-making behavior is heavily influenced by and adapted to external environmental factors. Given that software development is a human-centered activity, individual decision-making behavior may affect the software project quality. Although environmental factors affecting decision-making behavior in software projects have been identified in prior literature, there is not yet an objective and a full taxonomy of these factors. Thus, it is not trivial to manage these complex and diverse factors. To address this deficiency, we first design a semantic similarity algorithm between words by utilizing the synonymy and hypernymy relationships in WordNet. Further, we propose a method to measure semantic similarity between phrases and apply it into k-means clustering algorithm to group these factors. Subsequently, we obtain a taxonomy of the environmental factors affecting individual decision-making behavior in software projects, which includes eleven broad categories, each containing two to five sub-categories. The taxonomy presented herein is obtained by an objective method, and quite comprehensive, with appropriate references provided. The taxonomy holds significant value for researchers and practitioners; it can help them to better understand the major aspects of environmental factors, also to predict and guide the behavior of individuals during decision making towards a successful completion of software projects.
SENov 21, 2017
Finding an Effective Classification Technique to Develop a Software Team Composition ModelAbdul Rehman Gilal, Jafreezal Jaafar, Luiz Fernando Capretz et al.
Ineffective software team composition has become recognized as a prominent aspect of software project failures. Reports from results extracted from different theoretical personality models have produced contradicting fits, validity challenges, and missing guidance during software development personnel selection. It is also believed that the technique/s used while developing a model can impact the overall results. Thus, this study aims to: 1) discover an effective classification technique to solve the problem, and 2) develop a model for composition of the software development team. The model developed was composed of three predictors: team role, personality types, and gender variables; it also contained one outcome: team performance variable. The techniques used for model development were logistic regression, decision tree, and Rough Sets Theory (RST). Higher prediction accuracy and reduced pattern complexity were the two parameters for selecting the effective technique. Based on the results, the Johnson Algorithm (JA) of RST appeared to be an effective technique for a team composition model. The study has proposed a set of 24 decision rules for finding effective team members. These rules involve gender classification to highlight the appropriate personality profile for software developers. In the end, this study concludes that selecting an appropriate classification technique is one of the most important factors in developing effective models.
SENov 21, 2017
Universality of Egoless Behavior of Software Engineering StudentsPradeep Waychal, Luiz Fernando Capretz
Software organizations have relied on process and technology initiatives to compete in a highly globalized world. Unfortunately, that has led to little or no success. We propose that the organizations start working on people initiatives, such as inspiring egoless behavior among software developers. This paper proposes a multi-stage approach to develop egoless behavior and discusses the universality of the egoless behavior by studying cohorts from three different countries, i.e., Japan, India, and Canada. The three stages in the approach are self-assessment, peer validation, and action plan development. The paper covers the first stage of self-assssment using an instrument based on Lamont Adams Ten commandments (factors) of egoless programming, seven of the factors are general, whereas three are related to coding behavior. We found traces of universality in the egoless behavior among the three cohorts such as there was no difference in egoless behaviours between Indian and Canadian cohorts and both Indian and Japanese cohorts had difficulties in behaving in egoless manner in coding activities than in general activities.
SEDec 4, 2016
Enhancing Use Case Points Estimation Method Using Soft Computing TechniquesAli Bou Nassif, Luiz Fernando Capretz, Danny Ho
Software estimation is a crucial task in software engineering. Software estimation encompasses cost, effort, schedule, and size. The importance of software estimation becomes critical in the early stages of the software life cycle when the details of software have not been revealed yet. Several commercial and non-commercial tools exist to estimate software in the early stages. Most software effort estimation methods require software size as one of the important metric inputs and consequently, software size estimation in the early stages becomes essential. One of the approaches that has been used for about two decades in the early size and effort estimation is called use case points. Use case points method relies on the use case diagram to estimate the size and effort of software projects. Although the use case points method has been widely used, it has some limitations that might adversely affect the accuracy of estimation. This paper presents some techniques using fuzzy logic and neural networks to improve the accuracy of the use case points method. Results showed that an improvement up to 22% can be obtained using the proposed approach.
SEDec 2, 2016
The Innovative Behaviour of Software Engineers: Findings from a Pilot Case StudyCleviton Monteiro, Fabio Queda Bueno da Silva, Luiz Fernando Capretz
Context: In the workplace, some individuals engage in the voluntary and intentional generation, promotion, and realization of new ideas for the benefit of individual performance, group effectiveness, or the organization. The literature classifies this phenomenon as innovative behaviour. Despite its importance to the development of innovation, innovative behaviour has not been fully investigated in software engineering. Objective: To understand the factors that support or inhibit innovative behaviour in software engineering practice. Method: We conducted a pilot case study in a Canadian software company using interviews and observations as data collection techniques. Using qualitative analysis, we identified relevant factors and relationships not addressed by studies from other areas. Results: Individual innovative behaviour is influenced by individual attitudes and also by situational factors such as relationships in the workplace, organizational characteristics, and project type. We built a model to express the interacting effects of these factors. Conclusions: Innovative behaviour is dependent on individual and contextual factors. Our results contribute to relevant impacts on research and practice, and to topics that deserve further study.
SENov 30, 2016
Why a Testing Career Is Not the First Choice of EngineersPradeep Kashinath Waychal, Luiz Fernando Capretz
As software systems are becoming larger, more complex, and dependent on many third-party software components, the chances of their failure are increasing further. This calls for intense efforts to improve the quality of testing in the software development process.
SENov 30, 2016
Environmental Factors Influencing Individual Decision-Making Behavior in Software Project: A Systematic Literature ReviewJingdong Jia, Pengnan Zhang, Luiz Fernando Capretz
As one of the crucial human aspects, individual decision-making behavior that may affect the quality of a software project is adaptive to the environment in which the individual is. However, no comprehensive reference framework of the environmental factors influencing individual decision-making behavior in software projects is presently available. This paper undertakes a systematic literature review (SLR) to gain insight into existing studies on this topic. After a careful SLR process, 40 studies were targeted to solve this question. Based on these extracted studies, we first provided a taxonomy of environmental factors comprising eight categories. Then a total of 237 factors are identified and classified using these eight categories, and some major environmental factors of each category are listed in the paper. The environmental factors listing and the taxonomy can help researchers and practitioners to better understand and predict the behavior of individuals during decision making and to design more effective solutions to improve people management in software projects.
SENov 29, 2016
Neural Network Models for Software Development Effort Estimation: A Comparative StudyAli Bou Nassif, Mohammad Azzeh, Luiz Fernando Capretz et al.
Software development effort estimation (SDEE) is one of the main tasks in software project management. It is crucial for a project manager to efficiently predict the effort or cost of a software project in a bidding process, since overestimation will lead to bidding loss and underestimation will cause the company to lose money. Several SDEE models exist; machine learning models, especially neural network models, are among the most prominent in the field. In this study, four different neural network models: Multilayer Perceptron, General Regression Neural Network, Radial Basis Function Neural Network, and Cascade Correlation Neural Network are compared with each other based on: (1) predictive accuracy centered on the Mean Absolute Error criterion, (2) whether such a model tends to overestimate or underestimate, and (3) how each model classifies the importance of its inputs. Industrial datasets from the International Software Benchmarking Standards Group (ISBSG) are used to train and validate the four models. The main ISBSG dataset was filtered and then divided into five datasets based on the productivity value of each project. Results show that the four models tend to overestimate in 80percent of the datasets, and the significance of the model inputs varies based on the selected model. Furthermore, the Cascade Correlation Neural Network outperforms the other three models in the majority of the datasets constructed on the Mean Absolute Residual criterion.