Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content
Guenther  Ruhe
  • Calgary, Alberta, Canada

Guenther Ruhe

Release planning for incremental software development assigns features to releases such that technical, resource, risk and budget constraints are met. Planning of software releases and allocation of resources cannot be handled in... more
Release planning for incremental software development assigns features to releases such that technical, resource, risk and budget constraints are met. Planning of software releases and allocation of resources cannot be handled in isolation. A feature can be offered as part of a release only if all its necessary tasks are done before the given release date. We assume a given pool of human resources with different degrees of productivity to perform different types of tasks. To address the inherent difficulty of this process, we propose a two-phased optimization approach that combines the strength of two existing solution methods. The industrial applicability of the approach is primarily directed towards mature organizations having systematic development and measurement processes in place. The expected practical benefit of the planning method is to provide release plan solutions that achieve a better overall business value (e.g., expressed by the degree of stakeholder satisfaction) by better allocation of resources. Without ignoring the importance of the human expert in this process, the contributions of the paper are seen in making the overall process more objective and the resulting decisions more transparent.
Context: Today’s vehicle development is focusing more and more on handling the vast amount of software and hardware inside the vehicle. The resulting planning and development of the software especially confronts original equipment... more
Context: Today’s vehicle development is focusing more and more on handling the vast amount of software and hardware inside the vehicle. The resulting planning and development of the software especially confronts original equipment manufacturers (OEMs) with major challenges that have to be mastered. This makes effective and efficient release planning that provides the development scope in the required quality even more important. In addition, the OEMs have to deal with boundary conditions given by the OEM itself and the standards as well as legislation the software and hardware have to conform to. Release planning is a key activity for successfully developing vehicles. Objective: The aim of this work is to introduce release planning patterns to simplify the release planning of software and hardware installed in a vehicle. Method: We followed a pattern identification process that was conducted at Dr. Ing. h. c. F. Porsche AG. Results: We introduce eight release planning patterns, whic...
Non-functional requirements (NFRs) form an intrinsic part of any software system. Compatibility between versions or different platforms of a software product is a form of NFRs. In this paper, we have studied Compatibility in open-source... more
Non-functional requirements (NFRs) form an intrinsic part of any software system. Compatibility between versions or different platforms of a software product is a form of NFRs. In this paper, we have studied Compatibility in open-source mobile apps. We are interested in understanding the different aspects of mobile incompatibility, their frequency of occurrence from a user perspective, and how much effort developers have spent on it. We have conducted a study on 40 randomly selected open-source mobile apps from the Google Play Store and have analyzed 258,056 commits (extracted from their version control system) to identify incompatibility issues in apps. We have also studied 205,847 reviews to identify and categorize compatibility requirements from user reviews. Both app commits and app reviews were processed by a pipeline of Natural Language Processing steps. We evaluated the efficiency of four Machine Learning classifiers to analyze compatibility. This was done by classifying commit messages and analyzing user reviews. We observed that the Logistic Regression classifier produced the best overall results. For the same data set, we classified compatibility types. In that case, the Support Vector Machine classifier performed marginally better over the other classifiers. Addressing the relative effort spent on compatibility, we found that 3.16% of the developer's effort is dedicated to compatibility issues. At the same time, we observed that 4.30% of user reviews report compatibility issues in apps. In conclusion, we see more demand for future research on (i)the gap between the time spent by the developers and the frequency of occurrence of compatibility issues, and (ii) the degree of responsiveness on actual user concerns.
Software project management deals with software projects and the challenges of human-based development (as opposed to the more deterministic processes in traditional projects). The higher flexibility in software development approaches... more
Software project management deals with software projects and the challenges of human-based development (as opposed to the more deterministic processes in traditional projects). The higher flexibility in software development approaches puts new demands on the capabilities of software project management. Weaknesses in planning, organizing, staffing, directing, and controlling are hard to be counterbalanced by more efficiency in technical development work. As Fred Brooks stated “. . . today’s major problems with software development are not technical problems, but management problems” (Brooks 1987). The principal nature of the challenges in software project management has not changed dramatically in the last 25 years. However, software-intensive systems of the twenty-first century increasingly vary in their content, size, complexity, and their degree of interaction with other systems. The technological and communication infrastructure to develop these systems is hard to compare with th...
One of Lehman's laws of software evolution is that the functionality of programs has to increase over time to maintain user satisfaction. In the domain of mobile apps, though, too much functionality can easily impact usability,... more
One of Lehman's laws of software evolution is that the functionality of programs has to increase over time to maintain user satisfaction. In the domain of mobile apps, though, too much functionality can easily impact usability, resource consumption, and maintenance effort. Hence, does the law of continuous growth apply there? This paper shows that in mobile apps, deletion of functionality is actually common, challenging Lehman's law. We analyzed user driven requests for deletions which were found in 213,866 commits from 1,519 open source Android mobile apps from a total of 14,238 releases. We applied hybrid (open and closed) card sorting and created taxonomies for nature and causes of deletions. We found that functionality deletions are mostly motivated by unneeded functionality, poor user experience, and compatibility issues. We also performed a survey with 106 mobile app developers. We found that 78.3% of developers consider deletion of functionality to be equally or more important than the addition of new functionality. Developers confirmed that they plan for deletions. This implies the need to re-think the process of planning for the next release, overcoming the simplistic assumptions to exclusively look at adding functionality to maximize the value of upcoming releases. Our work is the first to study the phenomenon of functionality deletion and opens the door to a wider perspective on software evolution.
Finding new phenomena, validating existing hypotheses, or enhancing our existing knowledge is one of the most desirable end-products of computing for all application domains. The final objective of Knowledge Discovery in Software... more
Finding new phenomena, validating existing hypotheses, or enhancing our existing knowledge is one of the most desirable end-products of computing for all application domains. The final objective of Knowledge Discovery in Software Engineering is to package discovered knowledge in the form of updated and refined models and other forms of structured knowledge gained from prior projects and save it in repository for future projects. The knowledge acquired through empirical studies is a very important company asset, ...
. Rough set theory is a foundation for a series of analysis methods which has beensuccessfully applied in many real-life problems of various areas. Main focus of the approach isto explain experimental data by establishing cause-effect... more
. Rough set theory is a foundation for a series of analysis methods which has beensuccessfully applied in many real-life problems of various areas. Main focus of the approach isto explain experimental data by establishing cause-effect relationships. We have applied the approachin the context of experimental software engineering to support analysis and interpretation ofmeasurement data within interactive feedback sessions. Measurement
Abstract—DECIDERelease is a hybrid method that combines simulation-based robustness analysis and multi-criteria decision analysis with existing strategic release planning approach EVOLVE*. The purpose of DECIDERelease is to qualify... more
Abstract—DECIDERelease is a hybrid method that combines simulation-based robustness analysis and multi-criteria decision analysis with existing strategic release planning approach EVOLVE*. The purpose of DECIDERelease is to qualify decision-making by pro-actively exploring the robustness of the operational plans of upcoming releases. Based on this analysis, the strategic release plan that is the most robust against assumed changes in planning parameters at operational level can be selected. In this technical report we ...
Data from the NaPiRE run 2013 in 10 countries. The data set includes: (1) codebooks and instrumentation, (2) complete data export, and the results of the (3) manual coding sheets. Further data, analysis scripts, or explanations upon... more
Data from the NaPiRE run 2013 in 10 countries. The data set includes: (1) codebooks and instrumentation, (2) complete data export, and the results of the (3) manual coding sheets. Further data, analysis scripts, or explanations upon request. Further information on the overall project can be taken from the website www.re-survey.org<br>Survey Data on practices and problems in Requirements Engineering
This vision paper demonstrates that it is crucial to consider Return-on-Investment (ROI) when performing Data Analytics. Decisions on "How much analytics is needed"? are hard to answer. ROI could guide for decision support on... more
This vision paper demonstrates that it is crucial to consider Return-on-Investment (ROI) when performing Data Analytics. Decisions on "How much analytics is needed"? are hard to answer. ROI could guide for decision support on the What?, How?, and How Much? analytics for a given problem. Method: The proposed conceptual framework is validated through two empirical studies that focus on requirements dependencies extraction in the Mozilla Firefox project. The two case studies are (i) Evaluation of fine-tuned BERT against Naive Bayes and Random Forest machine learners for binary dependency classification and (ii) Active Learning against passive Learning (random sampling) for REQUIRES dependency extraction. For both the cases, their analysis investment (cost) is estimated, and the achievable benefit from DA is predicted, to determine a break-even point of the investigation. Results: For the first study, fine-tuned BERT performed superior to the Random Forest, provided that more ...
The Service-Oriented Software Development (SOSD) approach is a common software development paradigm. Previous qualitative and quantitative studies looked at the main reasons for the delay in software development so as to help... more
The Service-Oriented Software Development (SOSD) approach is a common software development paradigm. Previous qualitative and quantitative studies looked at the main reasons for the delay in software development so as to help project's stakeholders to take appropriate actions for improvement in their planning. In SOSD projects, due to the high level of user involvement in new service and product development, service providers need to make dynamic trade-offs to address their clients' demands. In this paper, we look at interruptions and their impact on tasks duration. We used text classification, Natural Language Processing (NLP), and quantitative time series analysis techniques to analyze 7, 770 development tasks of five real SOSD projects at Arcurve Inc. Our results show that fixing an issue, addressing changes, and adding new features are the most frequently perceived causes of {interruption} in SOSD projects. Furthermore, we have found that requirements engineering and pro...
The increasing attraction of mobile apps has inspired researchers to analyze apps from different perspectives. As any software product, apps have different attributes such as size, content maturity, rating, category or number of... more
The increasing attraction of mobile apps has inspired researchers to analyze apps from different perspectives. As any software product, apps have different attributes such as size, content maturity, rating, category or number of downloads. Current research studies mostly consider sampling across all apps. This often results in comparisons of apps being quite different in nature and category (games compared with weather and calendar apps), also being different in size and complexity. Similar to proprietary software and web-based services, more specific results can be expected from looking at more homogeneous samples as they can be received as a result of applying clustering. In this paper, we target homogeneous samples of apps to increase to degree of insight gained from analytics. As a proof-of-concept, we applied clustering technique DBSCAN and subsequent correlation analysis between app attributes for a set of 940 open source mobile apps from F-Droid. We showed that (i) clusters of apps with similar characteristics provided more insight compared to applying the same to the whole data and (ii) defining similarity of apps based on similarity of topics as created from topic modeling technique Latent Dirichlet Allocation does not significantly improve clustering results.
Technical Debt (TD) refers to the long-term consequences of shortcuts taken during different phases of software development life cycle. Lack of attention to monitoring and managing testing and development debt can contribute to... more
Technical Debt (TD) refers to the long-term consequences of shortcuts taken during different phases of software development life cycle. Lack of attention to monitoring and managing testing and development debt can contribute to unexpectedly large cost overruns and severe quality issues in software development projects. This paper describes a case study conducted with an industry partner to explore the impact of TD in coding and testing. By conducting (i) a semi-structured interview, and (ii) a quantitative survey, we found that (1) the status of TD is largely project-independent, (2) we could not reject that there is no significant difference between the percentage of existing TD and the required time for reducing this TD in testing and development teams, (3) there is a statistically significant difference between the perceived influence of reducing TD on productivity increase in testing and development teams, (4) team member's experience has impact on the existing percentage of TD and influences productivity increase that is caused by reducing TD, (5) allocating more resources such as time, budget, and infrastructure is considered a potential solution for reducing TD.
The increasing demand for software project managers in industry requires strategies for the development of management-related knowledge and skills of the current and future software workforce. Although several educational approaches help... more
The increasing demand for software project managers in industry requires strategies for the development of management-related knowledge and skills of the current and future software workforce. Although several educational approaches help to develop the necessary skills in a university setting, few empirical studies are currently available to characterise and compare their effects.
Bidirectional Encoder Representations from Transformers (BERT) is a successful transformer-based Machine Learning technique for Natural Language Processing (NLP) based tasks developed by Google. It has taken various domains by storm, and... more
Bidirectional Encoder Representations from Transformers (BERT) is a successful transformer-based Machine Learning technique for Natural Language Processing (NLP) based tasks developed by Google. It has taken various domains by storm, and Software Engineering is one among them. But does this mean that BERT is the new Silver Bullet? It is certainly not. We demonstrate it through an empirical investigation of the Requirements Dependency Classification (RDC). In general, based on various criteria used for evaluation, decisions on classification method preference may vary. For RDC, we go beyond traditional metrics such as the F1 score and consider Return-on-Investment (ROI) to evaluate two techniques for such decision making. We study RDC-BERT (fine-tuned BERT using data specific to requirements dependency classification) and compare with Random Forest, our baseline. For RDC and data from FOSS system Redmine, we demonstrate how decisions on method preference vary based on (i) accuracy, (ii) ROI, and (iii) sensitivity analysis. Results show that for all the three scenarios, method preference decisions depend on learning and evaluation parameters. Although these results are with respected to the chosen data sets, we argue that the proposed methodology is a prospective approach to study similar questions for data analytics, in general.
Deciding about the content and readiness when shipping a new product release can have a strong impact on the success (or failure) of the product. Having formerly analyzed the state-of-the art in this area, the objective for this paper was... more
Deciding about the content and readiness when shipping a new product release can have a strong impact on the success (or failure) of the product. Having formerly analyzed the state-of-the art in this area, the objective for this paper was to better understand the process and rationale of real-world release decisions and to what extent research on release readiness is aligned with industrial needs. We designed two rounds of surveys with focus on the current (Survey-A) and the desired (Survey-B) process of how to make release readiness decisions. We received 49 and 40 valid responses for Survey-A and Survey-B, respectively. In total, we identified 12 main findings related to the process, the rationale and the tool support considered for making release readiness decisions. We found that reasons for failed releases and the factors considered for making release decisions are context specific and vary with release cycle time. Practitioners confirmed that (i) release readiness should be me...
Empirical software engineering is concerned with the design and analysis of empirical studies that include software products, processes, and resources. Optimization is a form of data analytics in support of human decision-making.... more
Empirical software engineering is concerned with the design and analysis of empirical studies that include software products, processes, and resources. Optimization is a form of data analytics in support of human decision-making. Optimization methods are aimed to find best decision alternatives. Empirical studies serve both as a model and as data input for optimization. In addition, the complexity of the models used for optimization triggers further studies on explaining and validating the results in real-world scenarios. The goal of this chapter is to give an overview of the as-is and of the to-be usage of optimization in software engineering. The emphasis is on a pragmatic use of optimization, and not so much on describing the most recent algorithmic innovations and tool developments. The usage of optimization covers a wide range of questions from different types of software engineering problems along the whole life cycle. To facilitate its more comprehensive and more effective us...
Crowdsourced software development (CSD) offers a series of specified tasks to a large crowd of trustworthy software workers. Topcoder is a leading platform to manage the whole process of CSD. While increasingly accepted as a realistic... more
Crowdsourced software development (CSD) offers a series of specified tasks to a large crowd of trustworthy software workers. Topcoder is a leading platform to manage the whole process of CSD. While increasingly accepted as a realistic option for software development, preliminary analysis on Topcoder's software crowd worker behaviors reveals an alarming task-quitting rate of 82.9%. In addition, a substantial number of tasks do not receive any successful submission. In this paper, we report about a methodology to improve the efficiency of CSD. We apply massive data analytics and machine leaning to (i) perform comparative analysis on alternative technique analysis to predict likelihood of winners and quitters for each task, (ii) significantly reduce the amount of non-succeeding development effort in registered but inappropriate tasks, (iii) identify and rank the most qualified registered workers for each task, and (iv) provide reliable prediction of tasks risky to get any successfu...
A tracer shot shell includes a tubular casing having a base, a primer cap in the base, an explosive gun powder propellent in the casing adjacent the cap, and a power piston containing shot. The shot is in the form of pellets, preferably... more
A tracer shot shell includes a tubular casing having a base, a primer cap in the base, an explosive gun powder propellent in the casing adjacent the cap, and a power piston containing shot. The shot is in the form of pellets, preferably of rubber or plastic, to each of which is secured an elongated tail of fluorescent material, preferably orange color. The tails may be from 1 to 3 inches long. The explosive charge in the shell is preferably reduced to a one-third or other fraction of a normal charge, to reduce the velocity of the pellets, so that the paths of the pellets are visible to the marksman.
As part of incremental and iterative software development, decisions about “Is the software product ready to be released at some given release date?” have to be made at the end of each release, sprint or iteration. While this decision is... more
As part of incremental and iterative software development, decisions about “Is the software product ready to be released at some given release date?” have to be made at the end of each release, sprint or iteration. While this decision is critically important, so far it is largely done either informally or in a simplistic manner, relying on a small set of isolated metrics. In this paper, we present an analytical approach combining the goal-oriented definition of the most relevant readiness metrics with their individual evaluation and their subsequent analytical integration into an aggregated evaluation measure. The applicability of the proposed approach called RELREA is demonstrated for an ongoing public project hosted on GitHub, a web-based hosting service for software development projects. Initial evidence shows that the method is supportive in evaluating release readiness at any point of the development cycle, making projections on the final release readiness and allows determinat...
Background: The unprecedented access to data has rendered a remarkable opportunity to analyze, understand, and optimize the investigation approaches in almost all the areas of (Empirical) Software Engineering. However, data analytics is... more
Background: The unprecedented access to data has rendered a remarkable opportunity to analyze, understand, and optimize the investigation approaches in almost all the areas of (Empirical) Software Engineering. However, data analytics is time and effort consuming, thus, expensive, and not automatically valuable. Objective: This vision paper demonstrates that it is crucial to consider Return-on-Investment (ROI) when performing Data Analytics. Decisions on "How much analytics is needed"? are hard to answer. ROI could guide for decision support on the What?, How?, and How Much? analytics for a given problem. Method: The proposed conceptual framework is validated through two empirical studies that focus on requirements dependencies extraction in the Mozilla Firefox project. The two case studies are (i) Evaluation of fine-tuned BERT against Naive Bayes and Random Forest machine learners for binary dependency classification and (ii) Active Learning against passive Learning (rando...
STEFAN WAGNER, University of Stuttgart, Germany DANIEL MÉNDEZ FERNÁNDEZ, Technical University of Munich, Germany MICHAEL FELDERER, University of Innsbruck, Austria and Blekinge Institute of Technology, Sweden ANTONIO VETRÒ, Nexa Center... more
STEFAN WAGNER, University of Stuttgart, Germany DANIEL MÉNDEZ FERNÁNDEZ, Technical University of Munich, Germany MICHAEL FELDERER, University of Innsbruck, Austria and Blekinge Institute of Technology, Sweden ANTONIO VETRÒ, Nexa Center for Internet & Society, DAUIN, Politecnico di Torino, Italy MARCOS KALINOWSKI, Pontifical Catholic University of Rio de Janeiro, Brazil ROEL WIERINGA, University of Twente, The Netherlands DIETMAR PFAHL, University of Tartu, Estonia TAYANA CONTE, Universidade Federal do Amazonas, Brazil MARIE-THERESE CHRISTIANSSON, Karlstads Universitet, Sweden DESMOND GREER, Queen’s University Belfast, UK CASPER LASSENIUS, Aalto University, Finland TOMI MÄNNISTÖ, University of Helsinki, Finland MALEKNAZ NAYEBI, University of Calgary, Canada MARKKU OIVO, University of Oulu, Finland BIRGIT PENZENSTADLER, California State University, Long Beach, USA RAFAEL PRIKLADNICKI, Pontifícia Universidade Católica do Rio Grande do Sul, Brazil GUENTHER RUHE, University of Calgary, C...
Quality and market acceptance of software products is strongly influenced by responsiveness to user requests. Once a request is received from a customer, decisions need to be made if the request should be escalated to the development... more
Quality and market acceptance of software products is strongly influenced by responsiveness to user requests. Once a request is received from a customer, decisions need to be made if the request should be escalated to the development team. Once escalated, the ticket must be formulated as a development task and be assigned to a developer. To make the process more efficient and reduce the time between receiving and escalating the user request, we aim to automate of the complete user request management process. We propose a holistic method called ESSMArT. The methods performs text summarization, predicts ticket escalation, creates the title and content of the ticket used by developers, and assigns the ticket to an available developer. We internally evaluated the method by 4,114 user tickets from Brightsquid and their secure health care communication plat- form Secure-Mail. We also perform an external evaluation on the usefulness of the approach. We found that supervised learning based ...
There is an emergent trend in software development projects that mini-tasks can be crowdsourced to achieve rapid development and delivery. For software managers requesting crowdsourcing services, it is beneficial to be able to evaluate... more
There is an emergent trend in software development projects that mini-tasks can be crowdsourced to achieve rapid development and delivery. For software managers requesting crowdsourcing services, it is beneficial to be able to evaluate and assure the availability and performance of trustable workers on their tasks. However, existing rating systems are facing challenges such as providing limited information regarding worker's abilities as well as potential threats from workers' gaming or cheating the systems. To develop better understanding of worker performance in software crowdsourcing, this paper reports an empirical study at TopCoder, one of the primary software crowdsourcing platforms. We aim at investigating the following questions: How diverse are crowd workers in terms of skill and experience? How fast do crowd workers respond to a task call? How reliable are crowd workers in submitting tasks? And how much does CSD benefit schedule reduction? The main results of this ...
Machine Learning (ML) can substantially improve the efficiency and effectiveness of organizations and is widely used for different purposes within Software Engineering. However, the selection and implementation of ML techniques rely... more
Machine Learning (ML) can substantially improve the efficiency and effectiveness of organizations and is widely used for different purposes within Software Engineering. However, the selection and implementation of ML techniques rely almost exclusively on accuracy criteria. Thus, for organizations wishing to realize the benefits of ML investments, this narrow approach ignores crucial considerations around the anticipated costs of the ML activities across the ML lifecycle, while failing to account for the benefits that are likely to accrue from the proposed activity. We present findings for an approach that addresses this gap by enhancing the accuracy criterion with return on investment (ROI) considerations. Specifically, we analyze the performance of the two state-of-the-art ML techniques: Random Forest and Bidirectional Encoder Representations from Transformers (BERT), based on accuracy and ROI for two publicly available data sets. Specifically, we compare decision-making on require...
Shortening release cycles is one of the key elements for achieving highly competitive product releases. However, decisions about when-to-release are inherently complex: The potential competitive advantage through faster delivery needs to... more
Shortening release cycles is one of the key elements for achieving highly competitive product releases. However, decisions about when-to-release are inherently complex: The potential competitive advantage through faster delivery needs to be balanced against the degree of readiness of the product (overall quality) and the added value through new and revised features. Pro-active analysis of the estimated impact of running through various release scenarios is expected to provide insights and essential inputs for the actual decision-making. When-to-release decisions are largely re-actively using existing release planning tools such as IBM Focal Point, Ontime (for Scrum-based development) or ReleasePlanner. In this paper, the authors propose a plugin tool that analyzes the impact of varying the release date. More precisely, we proactively investigate the trade-off relationship between the total amount of implemented functionality and the predicted quality achieved from the related effort...
Context: In regulated domains like automotive, release planning is a complex process. The agreement between traditional product development processes for hardware as well as mechanic systems and agile development approaches for software... more
Context: In regulated domains like automotive, release planning is a complex process. The agreement between traditional product development processes for hardware as well as mechanic systems and agile development approaches for software development is a major challenge. Especially the creation and synchronization of a release plan is challenging. Objective: The aim of this work is to present identified stakeholders of a release plan as an appropriate approach to create transparency in release planning in the automotive domain. Method: Action research to elaborate relevant stakeholders for release planning was conducted at Dr. Ing. h. c. F. Porsche AG. Results: We present a detailed overview of identified stakeholders due to release planning as well as their required content and added value regarding to two pilot projects. The results confirm the fact that almost every stakeholder is involved in a release plan in a certain way. Conclusions: Release planning within a complex project e...
The complexity of software tasks and the uncertainty of crowd developer behaviors make it challenging to plan crowdsourced software development (CSD) projects. In a competitive crowdsourcing marketplace, competition for shared worker... more
The complexity of software tasks and the uncertainty of crowd developer behaviors make it challenging to plan crowdsourced software development (CSD) projects. In a competitive crowdsourcing marketplace, competition for shared worker resources from multiple simultaneously open tasks adds another layer of uncertainty to potential outcomes of software crowdsourcing. These factors lead to the need for supporting CSD managers with automated scheduling to improve the visibility and predictability of crowdsourcing processes and outcomes. To that end, this paper proposes an evolutionary algorithm-based task scheduling method for crowdsourced software development. The proposed evolutionary scheduling method uses a multiobjective genetic algorithm to recommend optimal task start date. The method uses three fitness functions, based on project duration, task similarity, and task failure prediction, respectively. The task failure fitness function uses a neural network to predict the probability...
The extensive use of mobile devices had led to tremendous growth in not only the usage of different apps but also their capability to help people in moments of crisis. There are different emergency mobile apps published in the app... more
The extensive use of mobile devices had led to tremendous growth in not only the usage of different apps but also their capability to help people in moments of crisis. There are different emergency mobile apps published in the app markets; these apps can be of enormous assistance to victims as they can provide valuable information and guidance at the opportune moments. However, app store reviews, ratings, and relevant studies have revealed that users are often averse to using these apps or their different features. This draws our attention to the need for recognizing essential features and including them in the emergency apps to increase their usability. Our proposed recommendation system called REMAC combines different machine learning techniques to analyze the context characteristics of different organizations and suggest unique features that can be included in their emergency apps. REMAC is built by analyzing 24 potential context attributes of 1909 universities spread across Nort...
Architecture debt is a form of technical debt that derives from the gap between the intended and the actual architecture design. In this study we measured architecture debt in two ways: 1) in terms of system-wide coupling measures, and 2)... more
Architecture debt is a form of technical debt that derives from the gap between the intended and the actual architecture design. In this study we measured architecture debt in two ways: 1) in terms of system-wide coupling measures, and 2) in terms of the number and severity of architecture flaws. In recent research it was shown that the amount of architecture debt has a huge impact on software maintainability and evolution. Consequently, reducing debt is expected to make software less costly and more amenable to change. This paper reports on a longitudinal study of a healthcare communications product created by BrightSquid Secure Communications Corp. This young company is facing the typical trade-off problem of desiring responsiveness to change requests, but wanting to avoid the ever-increasing effort that the accumulation of quick-and-dirty changes eventually incurs. In the first stage of the study, we analyzed the status of the "before" system, which showed the impacts o...
A typical crowdsourcing software development (CSD) marketplace consists of a list of software tasks as service demands and a pool of freelancer developers as service suppliers. Highly dynamic and competitive CSD marketplaces may result in... more
A typical crowdsourcing software development (CSD) marketplace consists of a list of software tasks as service demands and a pool of freelancer developers as service suppliers. Highly dynamic and competitive CSD marketplaces may result in task failure due to unforeseen risks, such as increased competition over shared worker supply, or uncertainty associated with workers’ experience and skills, and so on. To improve CSD effectiveness, it is essential to better understand and plan with respect to dynamic worker characteristics and risks associated with CSD processes. In this paper, we present a hybrid simulation model, CrowdSim, to forecast crowdsourcing task failure risk in competitive CSD platforms. CrowdSim is composed of three layered components: the macro-level reflects the overall crowdsourcing platform based on system dynamics, the meso-level represents the task life cycle based on discrete event simulation, and the micro-level models the crowd workers’ decision-making processe...

And 127 more