Browsing by Author "Ruhe, Guenther"
Now showing 1 - 20 of 45
Results Per Page
Sort Options
Item Open Access A fexible method for software effort estimation by analogy(2007) Li, Jingzhou; Ruhe, GuentherItem Open Access A Framework for Improving Systems Performance by Minimizing Burstiness(2017) Kalbasi, Amir; Krishnamurthy, Diwakar; Far, Behrouz; Wang, Mea; Casale, Giuliano; Ruhe, GuentherThe principal goal of this work is to support performance management for systems that utilize resources in complex ways. Typically, performance evaluation has been carried out for such systems using simulation tools. However, such tools require expert model builders to create and maintain abstract business process models of the system under study. This can lead to a lack of representativeness, specifically, when many unique scenarios are to be modelled. This thesis presents a new simulation approach, Simulation By Example, which guides the simulation directly using events extracted from traces, i.e., examples. This work demonstrates and evaluates this new approach using three case studies from healthcare systems. These studies establish the advantages of SBE over traditional simulation methods and its ability to support a variety of performance management exercises. Next, this thesis focuses on improving the performance of systems subjected to bursty workloads. Burstiness in resource service demands has previously been shown to have an adverse impact on system performance. This thesis proposes AMIR, an Analytic Method for Improving Responsiveness by reducing burstiness. AMIR considers a system with multiple classes of users and multiple resources that service user sessions in tandem. Batch processing systems, fabrication and manufacturing environments, micro-service systems, and patient operating rooms can be described in this way. Given the service demands distributions placed by all classes for the system's resources and the number of session arrivals for each class, AMIR decides an ordering of sessions that minimizes burstiness and improves system responsiveness metrics including session wait time, and total schedule processing time. A key aspect of the technique is an order O schedule burstiness metric β^O, which represents the mean joint probability that O+1 consecutive sessions in the schedule have resource demands at the bottleneck resource greater than the mean bottleneck resource demand of the schedule. For a given O, AMIR uses integer linear programming to produce schedules that progressively minimize β^i for all i in {1,...O}. Extensive simulation results show that AMIR significantly outperforms baseline policies such as shortest first and random scheduling. The results also provide insights on the conditions under which the technique is most effective.Item Open Access A Hybrid Search Method for Evolutionary Dynamic Optimization of the 3-dimensional Personnel Assignment Problem and its Case Study Evaluation at The City of Calgary(2016-01-18) Niknafs, Arash; Ruhe, Guenther; Jacob, Christian; Kremer, RobEvolutionary dynamic optimization is receiving more attention as it continues to deliver value in more application areas. In this thesis, an evolutionary dynamic optimization method for solving both static and dynamic personnel assignment optimization problems is proposed. This evolutionary method is based on the idea of genetic algorithms. Starting with the static scenario, I build an evolutionary algorithm that utilizes two variations of an OR-tree-based search method in generating the initial population and offspring. I then use the evolutionary algorithm for the static scenario as a framework into which I integrate two new strategies for tackling dynamism in the problem. In this thesis, I focus on the type of changes that require getting new (i.e. up-to-date) solutions as fast as possible right after the change. This type of changes has many applications in areas such as aircraft landing and take-off scheduling and mobile wireless network routing. Motivated by a real-world problem (at the City of Calgary), I focus on the changes in the availability of personnel in personnel assignment problems. I have two proposed solution approaches to the dynamism which utilize OR-tree-based search features and epigenetics mechanisms (both inside the evolutionary algorithm). Three additional strategies for tackling other types of changes are also presented. In this research, multidimensionality and dynamism are for the first time brought together into the personnel assignment problem. Using both real-world data (for the case study) and synthetic data (for additional evaluation) in the experiments, the experimental results prove the usefulness and responsiveness of my proposed solution approaches. Moreover, the feedback from the domain experts and higher level management in the case study show a strong preference for using my system and its outputs over the current practice. The case study took place in the Waste and Recycling Services business unit at the City of Calgary in Alberta, Canada. The synthetic data was generated based on the real-world data.Item Open Access A Recommendation System for Planning Software Releases(2012-10-01) Mohebzada, Jamshaid G.; Ruhe, Guenther; Eberlein, ArminStrategic release planning is a critical step in iterative software development. It involves assignment of requirements to subsequent releases in consideration of constraints and stakeholder demands. Manually analyzing release planning projects is challenging since large volumes of data are involved, and release planning models are dependent on several input parameters and complex algorithms. A recommendation system, called SRP-Plugin 2.0, is presented in this thesis to assist product managers with better release decisions. First, literature is reviewed systematically for related recommendation systems (contribution 1). SRP-Plugin 2.0 is realized using four techniques. Simulation and sensitivity analysis are utilized to determine the important input parameters (contribution 2). Machine learning is used for predicting the impacts on the release plans due to project changes (contribution 3). A recommendation method assists with achieving certain release planning targets (contribution 4). Finally, SPR-Plugin 2.0 is implemented as a plug-in for an integrated development environment (contribution 5).Item Open Access An integrated method for 'when to release' decisions based on reliability(2006) Bhawnani, Pankaj; Ruhe, GuentherItem Open Access An Analogy Based Technique for Predicting the Vector Impact of Software Change Requests(2018-01-03) Kabeer, Shaikh Jeeshan; Ruhe, Guenther; Far, Behrouz H; Patterson, Raymond AManaging the impact of software change request (CR) requires proper prediction to minimize cost and enhance quality. Traditional techniques only identify source code entities likely to be impacted by the implementation of CR. However, looking at code entity is not enough. To ensure maximum utility and return on investment, decision-makers also need to consider effort and duration requirements. It is more challenging for Minimum Viable Products which need to implement essential CR promptly. This thesis proposes an analogy based reasoning approach called Vector Change Impact Analysis which can generate file, effort and duration predictions simultaneously. Case-studies on industrial and open source projects highlight effectiveness of VCIA. The proposed approach is integrated into an analytics dashboard, for software company Brightsquid Inc. Analyzing performance results under different settings, VCIA achieves 67% file impact prediction recall. For effort and duration prediction, achieved accuracy is 44% and 30% respectively. Applying VCIA to complement expert knowledge has resulted in improved planning and organization, higher customer satisfaction and better forecasting of future returns.Item Open Access Analysis of compatibility in open-source Android mobile applications(2020-11-09) Mukherjee, Debjyoti; Ruhe, Guenther; Reardon, Joel; Barcomb, AnnNon-functional requirements 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 thesis, we have studied compatibility in Android mobile applications. We are interested in understanding the different aspects of mobile application incompatibility, their frequency of occurrence, how much effort developers have spent on it, and whether the effort is commensurate with the needs of the users. In this thesis, an analytical compatibility evaluation approach called ACOCUR is proposed. The main characteristics of ACOCUR are: (i) compatibility requirements are automatically identified from user reviews and their types are also determined (ii) compatibility fixes done by developers are systematically analyzed, and (iii) the requirements from users are linked to the fixes to identify the responsiveness of developers to compatibility requirements. We have evaluated open-source mobile applications and have analyzed their commits and reviews to identify the compatibility fixes and requirements respectively. Both the commit messages and reviews have been processed by a pipeline of Natural Language Processing steps. App developers have also been surveyed and their responses have been analyzed to establish the state-of-the-practice and the problems currently faced by developers in this respect. Finally, an automated tool has been developed that implements the ACOCUR methodology to support app developers to identify and analyze compatibility requirements.Item Open Access Analytical Release Management for Mobile Apps(2018-01-15) Nayebi, Maleknaz; Ruhe, Guenther; Zimmermann, Thomas; Menzies, TimDeveloping software products and maintaining software versions for adding or modifying functionality and quality to software is affected by several factors that have been traditionally analyzed under the terms “when to release” and “what to release”. Along the emergence of mobile apps, the release practices are changing. App stores are markets for many small sized software products which provide an open platform for users to express their opinions about using apps. The rise in popularity of mobile devices has led to a parallel growth in the size of the app store market, intriguing several research studies and commercial platforms on mining app stores. Large numbers of similar software products in a market make app design highly competitive. On the other side, app store reviews are currently the primary tool being used to analyze different aspects of app development and evolution. However, app users' feedback does not only occur on the app store. In fact, despite the mass quantity of posts that are made daily on social media, the importance and value that these discussions provide remain largely unused. While release management of software products has been long the subject of studies, mobile apps bring new opportunities and threats to the release practices. This thesis is a series of eight papers contributing to: - Understanding the opportunities and threats for release management of mobile apps. - Analyzing evolution of mobile apps over different releases. - Providing new formulation to integrate the opportunities of app stores into planning models. - Providing decision support for release management of mobile applications.Item Open Access Analyzing Causality between Actual Stock Prices and User-weighted Sentiment in Social Media for Stock Market Prediction(2016) Park, Jin-Tak; Leung, Henry; Far, Behrouz; Ruhe, GuentherIn this thesis, an improved sentiment analysis algorithm is proposed which reflects the impact of user, and to analyze whether public sentiment calculated by the proposed algorithm can contribute to stock prediction. The proposed sentiment analysis algorithm reflects the factors of Twitter which are relevant to users’ authority to calculate sentiment weight of each message that is different from existing sentiment analysis algorithms. Linear and nonlinear prediction models are constructed to forecast future stock prices of selected companies. The proposed algorithm is applied to both linear and nonlinear prediction models and comparisons of prediction accuracy with the existing sentiment analysis algorithm are performed. To support the approach of the proposed algorithm that the authoritative users affect the other users, causal relationship between them is figured out through Granger Causality analysis. Further analysis is also provided to find causal relationship between public sentiment and the actual changes of the stock prices.Item Open Access Applying intelligent decision support to determine operational feasibility of strategic software release planning(2004) Momoh, Joseph Amanosi; Ruhe, GuentherItem Open Access Automatically Characterizing Logging Usage: An Application of Anti-Unification(2016) Zirakchianzadeh, Narges; Walker, Robert; Ruhe, Guenther; Denzinger, JörgLogging has been a common practice to record the runtime behaviour of a software system, typically performed by inserting log statements in its source code. While several frameworks have been specifically created to help developers perform logging tasks, these do not provide guidance on where the log statements should be located in the source code. Thus, developers usually rely on their common sense to decide where to log. If logging is done properly, it can provide valuable information for software development and maintenance; if it is done poorly, system performance can degrade and maintenance can be made more difficult. Few studies have been conducted to characterize logging usage in real-world applications. This work tries to address the problem of where to log by proposing an automated approach that characterizes the location of log statements through the approximation of an anti-unification approach (specifically, higher-order anti-unification modulo theories) and a hierarchical clustering technique to construct a set of anti-unifiers, each describing the commonalities and differences between source code fragments that embody log statements. This approach has been reified in a prototype tool, called ELUS, that greedily identifies the best structural correspondences with respect to the highest similarity and some constraints. An empirical study was conducted by applying the tool on the source code of four open source systems and manually examining the generated anti-unifiers. The analysis resulted in five main categories of anti-unifiers in the logging usage. Two empirical evaluations were conducted in this work: (1) an experiment was conducted to evaluate the effectiveness of the proposed approach through the application of its supporting tool on a test suite; and (2) an experiment was performed to evaluate the quality of the anti-unifiers in describing the location of log statements in source code.Item Open Access Balancing Business and Technical Objectives for Supporting Software Evolution(Serials Publications, 2010-12) Nault, Barrie R; Ullah, Muhammad Irfan; Wei, Xuequi (David); Ruhe, GuentherContext: Successful software systems continuously evolve to accommodate feature requests of a diverse customer-base. At some point during this evolution, the variety of customer needs and increased system complexity suggests the consideration of a software product line (SPL). Aim: The goal of this research is to support the decision maker facing the enhancement of an evolving software system (ESS) to determine the most appropriate product line design (out of a given set of candidate SPL portfolios) to minimize the technical risk and maximize the business value. Method: The proposed method called OPTESS is aimed at finding an evolution plan for the ESS which optimizes both the given technical and business objectives. Business analysis using a value-based pricing mechanism is applied to a set of initially proposed SPL portfolios (for enhancing the ESS) such that profit is maximized. Technical analysis is applied to the same initially proposed SPL portfolios to minimize the risk of failure of ESS due to implementation of new features. Business and technical analyses improve the performance of solutions for their respective objectives by modifying the feature sets of candidate SPL portfolios. OPTESS helps the decision maker to select a plan for enhancement of ESS by performing trade-off analysis on the economic and technical objectives. Results: The method was initially evaluated by a case study for a set of 9 new candidate features to be added to an open source text editing system called jEdit. OPTESS helped the decision maker to identify 3 non-dominated solutions considered to be of highest preference for decision-making when looking at both technical and economic criteria.Item Open Access Data Analytics for Optimized Matching in Software Development(2017) Karim, Muhammad; Ruhe, GuentherDecision-making in various forms of software development is challenging, as the environment and context where decisions are made is complex, uncertain and/or dynamic. Because of the associated complexity, decision making based on prior experience and gut feelings often lead to sub-optimal decisions. Among the various decision-making activities, stakeholders often need to match one entity (e.g. software artifact, human resource) with another (e.g. human resource, software artifact). Data analytics has the potential to generate insights, extract patterns and trends from data to guide the decision makers to make better and informed decisions under various complex decision scenarios involving matching. To prove the benefits of data analytics in matching, we have used five matching decision problems from open source, closed-source and crowdsourced software development context. First, with the use of predictive analytics, we have shown how the success and failure of crowd workers in a new task can be predicted by learning patterns from their and their competitors’ past behaviors. Based on the predicted success chance, we have also designed a task recommendation system to prescribe best suited tasks to crowd workers (task-worker matching). Second, by integrating crowd workers’ learning preference with predictive analytics, we have demonstrated how task recommendations can be generated from historical data taking workers personal learning and earning goals into account. The conducted user evaluation shows very positive feedback about the usefulness of the recommendations. Third, we have designed a theme (semantic cohesiveness) based approach for feature-release matching to prescribe features for the next release of iterative and incremental software development, considering multiple objectives, constraints and stakeholders preference data. Fourth, we have presented a multi-objective developer-bug matching technique that can prescribe developers for a batch of bugs balancing bug fix time and bug fix cost utilizing data mined from version control repository. Finally, using textual data extracted from issue tracking systems, we have proposed a collaborative filtering and bi-term topic modeling based recommendation system for tagging issues (tag-issue matching). The conducted quantitative and qualitative evaluation shows that data from various sources can be utilized for effective matching in various forms of software development.Item Open Access Decision support for evolving a single software product to a software product line(2011) Ullah, Muhammad Irfan; Ruhe, GuentherOffering the right set of features to the targeted customers is a key factor in the success of market-driven software products. While planning for the next release of a single evolving software system, this thesis research addresses the decision problem: Should it be offered as a single product or a product line? Most existing approaches address this problem by focusing on either the business aspects or the technical aspects in isolation of each other. A flexible decision support framework (Contribution 1) which can be customized at different levels of sophistication is presented to address the decision problem. Three instantiations of the framework are presented as a family of decision support methods (Contribution 2). Each method tackles the decision problem with increasing level of sophistication by applying customized algorithms and techniques (Contribution 3). The first method (COPE) applies cluster analysis to identify segments of customers and proposes corresponding product portfolios. A human decision maker is involved to select a solution by informally considering architectural and economic benefits. The second method (COPE+) evaluates the impact of new features on evolving software systems' architectural structure by applying an evolutionary algorithm and a customized graph matching algorithm. This analysis reduces the solutions space and helps the decision maker to select a suitable solution. The third method (OPTESS) formally brings in the economic aspect by allowing the decision maker to perform trade-off analysis between the technical and business objectives. Three illustrative case studies are presented as proof of concepts of the proposed methods (Contribution 4). A decision support tool is provided to help the decision maker in application of the methods by automating some of the activities of these methods (Contribution 5).Item Open Access Decision support for release planning of software systems(2007) Saliu, Moshood Omolade; Ruhe, GuentherLarge software systems sometimes evolve because of the need to extend their functionality with new or changed features. Release planning for such systems can be extremely challenging. There are both business and technical perspectives to this challenge. From a business perspective, new feature requests originate from stakeholders with diverse (and often conflicting) business interests and all want their needs to be met, in spite of resource, schedule and other project constraints. From a technical perspective, incorporating a new feature into an existing system, without breaking old features, can be a tough balancing act. It remains an open problem how to best make release planning decisions that address these two perspectives. In this dissertation, we investigate this problem and conduct a detailed analysis of these two perspectives. Then, we propose and validate a novel and rigorous decision support technique known as SoRPES (Software Release EJanning with Existing System-awareness). In SoRPES, we formulate release planning as a bi-objective optimization problem that takes advantage of the interrelatedness of features as the first of two optimization objectives. The second optimization objective aims to assign features to releases in a way that maximizes the priorities that stakeholders specify for the features. As part of SoRPES, we have developed, validated, and used EBEAM (Expert- Based Evaluation of Architectures for Modifiability), a framework for evaluating software architectural designs for modifiability, as a part of our metric suite for assessing the technical constraints of implementing features in the existing system. The key contributions of this research consist of the following 6 elements: 1) a decision-centric framework for release planning that addresses both business and technical concerns; 2) an expert judgment-based technique for evaluating modifiability of architectural designs; 3) a technique for quantifying the interrelatedness of features using impact analysis data; 4) a theoretical foundation for, and a novel formulation of, release planning as a multi-objective optimization problem; 5) a proof-of-concept implementation of SoRPES; and 6) empirical validation studies to assess the feasibility, relevance, scalability, and consistency of SoRPES. The results from the empirical validation studies conducted on real-world projects strongly suggest practitioners would find SoRPES useful as a tool to generate release plans that are often more optimal and more practical than prior techniques.Item Open Access Decision support for selecting cots software products based on comprehensive mismatch handling(2007) Mohamed, Abdallah Sami Abbas Shehata; Ruhe, Guenther; Eberlein, ArminItem Open Access Decision Support for Strategic and Operational Planning of Logistic Services(2013-05-23) Livani, Emadoddin; Ruhe, GuentherLogistics services are type of services that deal with industries like manufacturers, raw material suppliers, distributors, retailers, and shippers within the supply chain. Strategic planning for logistic services is a complex process that requires an understanding of how the different elements and activities of logistics. The decision-making process is considered as fundamental to strategic planning. The majority of the current studies focus only on optimizing the operational resources or model the strategic decisions without evaluating their impact on the operational resources. A decision support methodology, named SOPLS, is proposed in this thesis for Strategic and Operational Planning of Logistic Services. SOPLS consists of two layers: strategic and operational. The methods are integrated to form the strategic layer: model-based scenario analysis, search-based scenario generation, and multi-criteria scenario prioritization. The model-based scenario analysis works based on Bayesian belief networks (BBN) to provide decision support for cost-benefit analysis of the service scenarios. The search-based scenario generation method integrates BBN with genetic algorithms in order to generate new scenarios based on a given goal. A multi-criteria scenario prioritization method is proposed, by integrating BBN with analytical hierarchy process, to automatically prioritize the scenarios based on user preferences. Two methods are integrated in the operational layer. Firstly, a hybrid prediction method is proposed for estimating the demand by integrating k-means clustering with linear regression. Secondly, a vehicle routing algorithm is proposed to minimize the length of the routes, taken by the service vehicles. By integrating the strategic and operational levels, the impact of the strategic decisions on the operational resources, like staff and vehicles, will be estimated. The results will potentially trigger updating the strategies, or even the parameters in the cost-benefit model, which form an iterative decision making process. We evaluated the proposed decision support methodology through a collaboration project with the City of Calgary’s Waste and Recycling Services (WRS). The results showed the usefulness and applicability of the proposed solution in the area of waste management.Item Open Access Decision support for value-based software release planning(2006) Maurice, Sebastian Augustine; Ruhe, GuentherItem Open Access Democratizing Software Development and Machine Learning Using Low Code Applications(2022-12-19) Alamin, Md Abdullah Al; Uddin, Gias; Ruhe, Guenther; Far, Behrouz; Nielsen, JohnLow-code software development (LCSD) is an emerging approach to democratize traditional and Machine Learning (ML) application development for practitioners from diverse backgrounds. Traditional LCSD platforms promote rapid application development with a drag-and-drop interface and minimal programming by hand. Similarly, low-code Machine Learning (ML) solutions (aka, AutoML) aim to democratize ML development to domain experts by automating many repetitive tasks in the ML pipeline (e.g., data pre-processing, feature engineering, model design, and hyper-parameter configuration). The rapid emergence of LCSD platforms warrants systematic studies to understand the challenges developers/practitioners face while using the platforms. This thesis catalogs, for the first time in the literature, the challenges developers face while using low code platforms developed for traditional and ML software application development. To the end, we also offer our hands on experience of developing a low code ML software systems for our industrial partner. Specifically, we investigate the current status, i.e., services of LCSD providers, open-source research \& collaboration. We conduct the LCSD practitioners' challenges by analyzing their discussion on the popular Q&A forum Stack Overflow (SO) to seek technical assistance. To further validate our findings, we conduct to develop a low-code machine learning solution in collaboration with domain experts from industry and academia. Additionally, we develop AutoGeoML, an open-source low-code framework that solves the current limitations of low-code ML solutions. Our qualitative investigation of 121 traditional and 37 AutoML LCSD services shows that around 60% traditional LCSD solutions are related to business process management (BPM) and work process automation, 90% are proprietary, and only 63% platforms support only proprietary cloud deployment options. We find that around 65% of services offer shallow or general purpose ML applications, 57% solutions are open-sourced and offer flexible deployment options. According to our findings, Customization and LCSD Platform Adoption are the most discussed topic, followed by Data Management. We also find that Deployment and Maintenance are still the most difficult Software Development Life Cycle (SDLC) phase. We highlight the limitations of current low-code AutoML services and develop AutoGeoML. This open-source low-code framework provides domain-experts-in-the-loop customizability, and modular abstraction is some of the critical requirements lacking in existing AutoML frameworks. The findings of this thesis have implications for all three LCSD stakeholders: LCSD platform vendors, LCSD practitioners, and Researchers. Researchers and LCSD solution vendors can collaborate to improve different aspects of LCSD, such as better tutorial-based documentation, DevOps support, and expert-in-the-loop customizability.Item Open Access Design and Analysis of an Intelligent Decision Support System for Trading and its Application to Electricity Trading(2013-09-23) Maurice, Sebastian Augustine; Ruhe, Guenther; Denzinger, JörgThe financial trading market is a highly complex and dynamic system, which is the limiting factor preventing any model from accurately predicting its movements. Because of this limiting factor, trading in a market can be risky for individuals and institutions that could experience financial losses and this can impact the overall economy. It remains an on-going research challenge to find approaches to minimize the risk in trading. The focus of this PhD research is on a multi-agent based simulation approach to provide decision support to traders to help minimize the risk from trading. We address four problems in the existing research on decision support systems for trading: 1) lack of a modeling framework, 2) lack of direction on modeling personas, 3) lack of direction on how to provide decision support to traders, and 4) lack of analysis on quality of forecasts. The main contributions of the research is the design, analysis, development and validation of a new decision support paradigm for trading called T-Evolve*. We have also developed a new intelligent decision support technology called TRAMAS. The paradigm together with TRAMAS supports traders by allowing them to simulate different market models composed of agents with different personas and forecast beliefs. Exploring and analysing the simulation results provides guidance to traders on potential market outcomes; this is then used to develop a trading plan for tomorrow’s market. The core element of TRAMAS is the incorporation of actors with different personas and forecasts beliefs, instantiated by agents. The advantage of our approach is twofold. First, different personas of participants exist in every market, thus incorporating personas is a natural representation of the real market. Second, forecast beliefs are a natural belief of participants because forecasts about the future market play a critical role in how a market may develop tomorrow. Two industrial-oriented case studies with empirical evidence support our approach. The validation of our approach by nine industry experts confirms, within the context of this research, that our approach has merit and can be useful in a real-world setting. TRAMAS also predicts with 77% accuracy the direction of future markets for six different days.
- «
- 1 (current)
- 2
- 3
- »