2021 IEEE/ACM Joint 9th International Workshop on Software Engineering for Systems-of-Systems and 15th Workshop on Distributed Software Development, Software Ecosystems and Systems-of-Systems (SESoS/WDES), 2021
ACM Transactions on Software Engineering and Methodology, 2022
Blockchain is a disruptive technology intended to implement secure decentralised distributed syst... more Blockchain is a disruptive technology intended to implement secure decentralised distributed systems, in which transactional data can be shared, stored, and verified by participants of the system without needing a central authentication/verification authority. Blockchain-based systems have several architectural components and variants, which architects can leverage to build secure software systems. However, there is a lack of studies to assist architects in making architecture design and configuration decisions for blockchain-based systems. This knowledge gap may increase the chance of making unsuitable design decisions and producing configurations prone to potential security risks. To address this limitation, we report our comprehensive systematic literature review to derive a taxonomy of commonly used architecture design decisions in blockchain-based systems. We map each of these decisions to potential security attacks and their posed threats. MITRE’s attack tactic categories and ...
Heart disease kills more people around the world than any other disease, and it is one of the lea... more Heart disease kills more people around the world than any other disease, and it is one of the leading causes of death in the UK, triggering up to 74,000 deaths per year. An essential part in the prevention of deaths by heart disease and thus heart disease itself is the analysis of biomedical markers to determine the risk of a person developing heart disease. Lots of research has been conducted to assess the accuracy of detecting heart disease by analyzing biomedical markers. However, no previous study has attempted to identify the biomedical markers which are most important in this identification. To solve this problem, we proposed a machine learning-based intelligent heart disease prediction system called BioLearner for the determination of vital biomedical markers. This study aims to improve upon the accuracy of predicting heart disease and identify the most essential biological markers. This is done with the intention of composing a set of markers that impacts the development of ...
Technical debt is a metaphor that describes the long term effects of shortcuts taken in software ... more Technical debt is a metaphor that describes the long term effects of shortcuts taken in software development activities to achieve near term goals. In this study, we explore a new context of technical debt that relates to database normalization design decisions. We posit that ill normalized databases can have long term ramifications on data quality, performance degradation and maintainability costs over time, just like debts accumulate interest. Conversely, conventional database approaches would suggest normalizing weakly normalized tables, this can be a costly process in terms of effort and expertise it requires for large software systems. As studies have shown that the fourth normal form is often regarded as the ideal form in database design, we claim that database normalization debts are likely to be incurred for tables below this form. We refer to normalization debt item as any table in the database below the fourth normal form. We propose a framework for identifying normalizati...
ACM Transactions on Software Engineering and Methodology, 2021
Context: Evaluating software architectures in uncertain environments raises new challenges, which... more Context: Evaluating software architectures in uncertain environments raises new challenges, which require continuous approaches. We define continuous evaluation as multiple evaluations of the software architecture that begins at the early stages of the development and is periodically and repeatedly performed throughout the lifetime of the software system. Numerous approaches have been developed for continuous evaluation; to handle dynamics and uncertainties at run-time, over the past years, these approaches are still very few, limited, and lack maturity. Objective: This review surveys efforts on architecture evaluation and provides a unified terminology and perspective on the subject. Method: We conducted a systematic literature review to identify and analyse architecture evaluation approaches for uncertainty including continuous and non-continuous, covering work published between 1990–2020. We examined each approach and provided a classification framework for this field. We present...
Relating Software Requirements and Architectures, 2011
ABSTRACT The current trend is to build distributed software architectures with middleware, which ... more ABSTRACT The current trend is to build distributed software architectures with middleware, which provides the application developer with primitives for managing the complexity of distribution and for realizing many of the non-functional requirements like scalability, openness, heterogeneity, availability, reliability and fault-tolerance. In this chapter, we discuss the problem of evolving non-functional requirements, their stability implications and economics ramifications on the software architectures induced by middleware. We look at the role of middleware in architecting for non-functional requirements and their evolution trends. We advocate adjusting requirements elicitation and management techniques to elicit not just the current non-functional requirements, but also to assess the way in which they will develop over the lifetime of the architecture and their economics ramifications. These ranges of requirements may then inform the selection of distributed components technologies, and subsequently the selection of application server products. We describe an economics-driven approach, based on real options theory, which can assist in informing the selection on middleware to induce software architectures in relation to the evolving non-functional requirements. We review its application through a case study.
2021 IEEE/ACM Joint 9th International Workshop on Software Engineering for Systems-of-Systems and 15th Workshop on Distributed Software Development, Software Ecosystems and Systems-of-Systems (SESoS/WDES), 2021
ACM Transactions on Software Engineering and Methodology, 2022
Blockchain is a disruptive technology intended to implement secure decentralised distributed syst... more Blockchain is a disruptive technology intended to implement secure decentralised distributed systems, in which transactional data can be shared, stored, and verified by participants of the system without needing a central authentication/verification authority. Blockchain-based systems have several architectural components and variants, which architects can leverage to build secure software systems. However, there is a lack of studies to assist architects in making architecture design and configuration decisions for blockchain-based systems. This knowledge gap may increase the chance of making unsuitable design decisions and producing configurations prone to potential security risks. To address this limitation, we report our comprehensive systematic literature review to derive a taxonomy of commonly used architecture design decisions in blockchain-based systems. We map each of these decisions to potential security attacks and their posed threats. MITRE’s attack tactic categories and ...
Heart disease kills more people around the world than any other disease, and it is one of the lea... more Heart disease kills more people around the world than any other disease, and it is one of the leading causes of death in the UK, triggering up to 74,000 deaths per year. An essential part in the prevention of deaths by heart disease and thus heart disease itself is the analysis of biomedical markers to determine the risk of a person developing heart disease. Lots of research has been conducted to assess the accuracy of detecting heart disease by analyzing biomedical markers. However, no previous study has attempted to identify the biomedical markers which are most important in this identification. To solve this problem, we proposed a machine learning-based intelligent heart disease prediction system called BioLearner for the determination of vital biomedical markers. This study aims to improve upon the accuracy of predicting heart disease and identify the most essential biological markers. This is done with the intention of composing a set of markers that impacts the development of ...
Technical debt is a metaphor that describes the long term effects of shortcuts taken in software ... more Technical debt is a metaphor that describes the long term effects of shortcuts taken in software development activities to achieve near term goals. In this study, we explore a new context of technical debt that relates to database normalization design decisions. We posit that ill normalized databases can have long term ramifications on data quality, performance degradation and maintainability costs over time, just like debts accumulate interest. Conversely, conventional database approaches would suggest normalizing weakly normalized tables, this can be a costly process in terms of effort and expertise it requires for large software systems. As studies have shown that the fourth normal form is often regarded as the ideal form in database design, we claim that database normalization debts are likely to be incurred for tables below this form. We refer to normalization debt item as any table in the database below the fourth normal form. We propose a framework for identifying normalizati...
ACM Transactions on Software Engineering and Methodology, 2021
Context: Evaluating software architectures in uncertain environments raises new challenges, which... more Context: Evaluating software architectures in uncertain environments raises new challenges, which require continuous approaches. We define continuous evaluation as multiple evaluations of the software architecture that begins at the early stages of the development and is periodically and repeatedly performed throughout the lifetime of the software system. Numerous approaches have been developed for continuous evaluation; to handle dynamics and uncertainties at run-time, over the past years, these approaches are still very few, limited, and lack maturity. Objective: This review surveys efforts on architecture evaluation and provides a unified terminology and perspective on the subject. Method: We conducted a systematic literature review to identify and analyse architecture evaluation approaches for uncertainty including continuous and non-continuous, covering work published between 1990–2020. We examined each approach and provided a classification framework for this field. We present...
Relating Software Requirements and Architectures, 2011
ABSTRACT The current trend is to build distributed software architectures with middleware, which ... more ABSTRACT The current trend is to build distributed software architectures with middleware, which provides the application developer with primitives for managing the complexity of distribution and for realizing many of the non-functional requirements like scalability, openness, heterogeneity, availability, reliability and fault-tolerance. In this chapter, we discuss the problem of evolving non-functional requirements, their stability implications and economics ramifications on the software architectures induced by middleware. We look at the role of middleware in architecting for non-functional requirements and their evolution trends. We advocate adjusting requirements elicitation and management techniques to elicit not just the current non-functional requirements, but also to assess the way in which they will develop over the lifetime of the architecture and their economics ramifications. These ranges of requirements may then inform the selection of distributed components technologies, and subsequently the selection of application server products. We describe an economics-driven approach, based on real options theory, which can assist in informing the selection on middleware to induce software architectures in relation to the evolving non-functional requirements. We review its application through a case study.
Uploads