Davoud Mougouei

Davoud Mougouei
University of Wollongong (Australia) · School of Computing and Information Technology

Doctor of Philosophy

About

42
Publications
5,547
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
261
Citations
Introduction
Dr. Davoud Mougouei is a Ph.D. in Software Engineering with 10+ years of professional experience as an entrepreneur (I am a co-founder of Samene Saze Dolphin), researcher, lecturer, consultant, manager, and software engineer. He has developed successful industrial grant applications and participated in architecting and building enterprise systems. His research lies in the intersection of Software Engineering, Artificial Intelligence, and Combinatorial Optimization. He is especially interested in engineering software that can adapt to human feelings, with applications in mental health. Find more at: http://www.mougouei.com

Publications

Publications (42)
Article
Many scientific and practical areas have shown increasing interest in reaping the benefits of blockchain technology to empower software systems. However, the unique characteristics and requirements associated with Blockchain Based Software (BBS) systems raise new challenges across the development lifecycle that entail an extensive improvement of co...
Preprint
Full-text available
Migration legacy systems to cloud platforms is a knowledge intensive process. There is an ever increasing body of knowledge reporting empirical scenarios of successful and problematic cloud migration. Reusing this body of knowledge, dispersed and fragmented over the academic/multi-vocal literature, has practical values to mitigate costly risks and...
Article
Full-text available
Context The reengineering process of large data-intensive legacy software applications (“legacy applications” for brevity) to cloud platforms involves different interrelated activities. These activities are related to planning, architecture design, re-hosting/lift-shift, code refactoring, and other related ones. In this regard, the cloud computing...
Article
The impact of the Covid-19 pandemic and ensuing social restrictions has been profound, affecting the health, livelihoods, and wellbeing of populations worldwide. Studies have shown widespread effects on mental health, with an increase in stress, loneliness, and depression symptoms related to the pandemic. Media plays a critical role in containing a...
Preprint
Full-text available
The reengineering process of large data-intensive legacy software applications to cloud platforms involves different interrelated activities. These activities are related to planning, architecture design, re-hosting/lift-shift, code refactoring, and other related ones. In this regard, the cloud computing literature has seen the emergence of differe...
Article
Prioritization and selection of requirements are an essential component of software development. The process, however, often leads to ignoring some requirements due to the budget limitations, without considering the impact of those requirements on the values of the selected requirements. That may lead to user dissatisfaction and financial losses in...
Preprint
Full-text available
Many scientific and practical areas have shown increasing interest in reaping the benefits of blockchain technology to empower software systems. However, the unique characteristics and requirements associated with Blockchain Based Software (BBS) systems raise new challenges across the development lifecycle that entail an extensive improvement of co...
Preprint
Full-text available
The compliance of IoT platforms to quality is paramount to achieve users satisfaction. Currently, we do not have a comprehensive set of guidelines to appraise and select the most suitable IoT platform architectures that meet relevant criteria. This paper is a tentative response to this critical knowledge gap where we adopted the design science rese...
Article
Full-text available
The compliance of IoT platforms to quality is paramount to achieve users' satisfaction. Currently, we do not have a comprehensive set of guidelines to appraise and select the most suitable IoT platform architectures that meet relevant criteria. This paper is a tentative response to this critical knowledge gap where we adopted the design science res...
Preprint
Full-text available
Software products have become an integral part of human lives, and therefore need to account for human values such as privacy, fairness, and equality. Ignoring human values in software development leads to biases and violations of human values: racial biases in recidivism assessment and facial recognition software are well-known examples of such is...
Article
Full-text available
Considering user preferences is a determining factor in optimizing the value of a software release. This is due to the fact that user preferences for software features specify the values of those features and consequently determine the value of the release. Certain features of a software however, may encourage or discourage users to prefer (select...
Article
One of the critical activities in software development is Requirements Selection, which is to find an optimal subset of the software requirements (features) with the highest value for a given budget. The values of the requirements, however, may depend on one another. Such Value Dependencies have not been considered by the existing requirements sele...
Preprint
Full-text available
Failure to account for human values in software (e.g., equality and fairness) can result in user dissatisfaction and negative socio-economic impact. Engineering these values in software, however, requires technical and methodological support throughout the development life cycle. This paper investigates to what extent top Software Engineering (SE)...
Preprint
Software requirement selection aims to find an optimal subset of the requirements with the highest value while respecting the budget. But the value of a requirement may depend on the presence or absence of other requirements in the optimal subset. Existing requirement selection methods, however, do not consider Value Dependencies, thus increasing t...
Preprint
Software requirements selection aims to find an optimal subset of the requirements with the highest value while respecting the project constraints. But the value of a requirement may depend on the presence or absence of other requirements in the optimal subset. Such Value Dependencies, however, are imprecise and hard to capture. In this paper, we p...
Preprint
The existing software requirement selection methods have mainly focused on optimizing the economic value of a software product while ignoring its social values and their long-term impacts on the society. Social values however, are also important and need to be taken into account in software requirement selection. Moreover, social values of software...
Preprint
Ignoring human values in software development may disadvantage users by breaching their values and introducing biases in software. This can be mitigated by informing developers about the value implications of their choices and taking initiatives to account for human values in software. To this end, we propose the notion of Value Programming with th...
Preprint
Full-text available
Software requirement selection is to find an optimal set of requirements that gives the highest value for a release of software while keeping the cost within the budget. However, value-related dependencies among software requirements may impact the value of an optimal set. Moreover, value-related dependencies can be of varying strengths. Hence, it...
Preprint
Full-text available
Software Release Planning (SRP) is to find, for the software, a subset of the requirements with the highest value while respecting the budget. The value of a requirement however may, to various degrees, depend on selecting or ignoring other requirements. However, existing SRP models ignore either Value-Related Dependencies altogether or the strengt...
Conference Paper
Software influences several aspects of people's lives and therefore needs to reflect their values. However, existing software engineering methods fail to account for human values, which may result in breaching those values in software and, therefore, dissatisfaction of users and loss of profit and reputation. To avoid such negative consequences, hu...
Conference Paper
Full-text available
Software Design Patterns (SDPs) are core solutions to the recurring problems in software. However, adopting SDPs without taking into account their value implications may result in breach of social values and ultimately lead to user dissatisfaction, lack of adoption, and financial loss. An example is the airline system that overcharged people who we...
Article
Software requirement selection is to find an optimal set of requirements that gives the highest value for a release of software while keeping the cost within the budget. However, value-related dependencies among software requirements may impact the value of an optimal set. Moreover, value-related dependencies can be of varying strengths. Hence, it...
Conference Paper
Binary Knapsack Problem (BKP) is to select a subset of items with the highest value while keeping the size within the capacity of the knapsack. This paper presents an Integer Linear Programming (ILP) model for a variation of BKP where the value of an item may depend on presence or absence of other items in the knapsack. Strengths of such Value-Rela...
Article
Full-text available
Owing to resource constraints, the existing prioritization and selection techniques for software security requirements (countermeasures) find a subset of higher-priority security requirements ignoring lower-priority requirements or postponing them to the future releases. Ignoring or postponing security requirements however, may on one hand leave so...
Article
Full-text available
Binary Knapsack Problem (BKP) is to select a subset of an element (item) set with the highest value while keeping the total weight within the capacity of the knapsack. This paper presents an integer programming model for a variation of BKP where the value of each element may depend on selecting or ignoring other elements. Strengths of such Value-Re...
Article
Full-text available
It has been widely recognized that uncertainty is an inevitable aspect of diagnosis and treatment of medical disorders. Such uncertainties hence, need to be considered in computerized medical models. The existing medical modeling techniques however, have mainly focused on capturing uncertainty associated with diagnosis of medical disorders while ig...
Conference Paper
Software requirement selection is to find a subset of requirements (so-called optimal set) that gives the highest customer value for a release of software while keeping the cost within the budget. Several industrial studies however, have demonstrated that requirements of software projects are intricately interdependent and these interdependencies i...
Article
Prioritization And Selection (PAS) of requirements is an important concern of Agile software development. Existing PAS techniques are primarily binary selection of requirements and postponing lower-priority requirements to the future. As a result, lower-priority requirements may be constantly delayed until they never have a chance to be implemented...
Article
Full-text available
Visibility in search engines is a competitive advantage of commercial websites. In this context, Search Engine Optimization (SEO) techniques are devised to enhance the ranking of websites in search engine results. The existing approaches toward SEO are primarily modifying the content or the structure of websites during the post-development activiti...
Article
Full-text available
Large amount of security faults existing in software systems could be complex and hard to identify during the fault analysis. Therefore, it is not always possible to fully mitigate the internal or external security faults (vulnerabilities or threats) within the system. On the other hand, existence of faults in the system may eventually lead to a se...
Article
Full-text available
Identifying threats in the stage of requirements engineering is a big and complex challenge for web services development.The challenge even grows when the massive number of security faults grows. In addition, security threats existing in a web service may increase the risk of security failure. An Electronic Portfolio System (EPS) is introduced as a...
Conference Paper
Performing security analysis in the early stages of web-services development is a major engineering trend. However, it is not always possible to entirely identify and mitigate the security threats within the web-service. This may eventually lead to security failure of the service. To avoid security failure, the web-service must tolerate the possibl...
Article
Full-text available
To care for security in early stages of software development has always been a major engineering trend. However, due to the existence of unpreventable and accidental security faults within the system, it is not always possible to entirely identify and mitigate the security threats. This may eventually lead to security failure of the target system....
Conference Paper
Full-text available
Large amount of (security) faults existing in software systems could be complex and hard to identify during the fault analysis. So, it is not always possible to fully mitigate the internal or external security faults (vulnerabilities or threats) within the system. On the other hand, existence of faults in the system may eventually lead to a securit...
Conference Paper
Full-text available
It is impossible to identify all of the internal and external security faults (vulnerabilities and threats) during the security analysis of web services. Hence, complete fault prevention would be impossible and consequently a security failure may occur within the system. To avoid security failures, we need to provide a measurable level of fault tol...

Network

Cited By