34 research outputs found

    Identifying Suitable Representation Techniques for the Prioritization of Requirements and Their Interdependencies for Multiple Software Product Lines

    Get PDF
    Software requirements typically do not exist independently of each other, rather most requirements have some type of dependency on another requirement [4]. For companies developing software products, which depend on each other, in so-called multiple software product lines (SPLs), systematic requirements management, including consideration for prioritization and inter‐ dependencies, is a time-consuming and convoluted task. Representation techniques for complex requirements can convey critical requirements interdependency information to make prioritization of requirements quicker and more accurate [1]. Based on reviewing the foremost literature, this paper identifies the representation techniques for requirements management which are most suitable for multiple software product lines (SPLs

    Engineering Human Values in Software through Value Programming

    No full text
    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 three principles: (P1) annotating source code and related artifacts with respect to values; (P2) inspecting source code to detect conditions that lead to biases and value breaches in software, i.e., Value Smells; and (P3) making recommendations to mitigate biases and value breaches. To facilitate value programming, we propose a framework that allows for automated annotation of software code with respect to human values. The proposed framework lays a solid foundation for inspecting human values in code and making recommendations to overcome biases and value breaches in software

    Goal-based requirement engineering for fault tolerant security-critical systems

    No full text
    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 security failure. To avoid security failure of the target system it is required to make the system flexible and tolerant in the presence of security faults. This paper proposes a goal-based modeling approach to develop security requirements of Security-Critical Systems (SCSs) through explicitly factoring the faults into the requirement engineering process. Our approach establishes the Security Requirement Model (SRM) of the system based on its respective Security Fault Model (SFM). We incorporate fault tolerance into the SRM through considering the partial satisfaction of security goals. The proposed approach factors this partiality into the goals by using proper mitigation techniques during the refinement process. This approach eventually contributes to a fault tolerant model for security requirements of the target system ©2013 SERSC

    Partial Selection of Software Requirements: A Fuzzy Method

    No full text
    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 software projects. To mitigate this problem, we propose a method that allows for partial satisfaction (selection) of software requirements rather than ignoring them, when tolerated. To demonstrate the effectiveness of the proposed method, we have carried out experiments; our initial results suggest that the method mitigates value loss by reducing the chances that requirements with positive influences are ignored

    Factoring requirement dependencies in software requirement selection using graphs and integer programming

    No full text
    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 impact the values of requirements. Furthermore, the strengths of dependency relations among requirements vary in the context of real-world projects. For instance, requirements can be strongly or weakly interdependent. Therefore, it is important to consider both the existence and the strengths of dependency relations during requirement selection. The existing selection models however, have ignored either requirement dependencies altogether or the strengths of those dependencies. This research proposes an Integer programming model for requirement selection which considers both the existence and strengths of requirement dependencies. We further contribute a graph-based dependency modeling technique for capturing requirement dependencies and the their corresponding strengths. Automated/semi-automated techniques will also be devised to identify requirement dependencies and the strengths of those dependencies

    A fuzzy framework for prioritization and partial selection of security requirements in software projects

    No full text
    Resource limitations in software projects rarely allow for the security requirements to be fully realized. As such, Prioritization and Selection (PAS) techniques are used to find an optimal subset of the requirements. Consequently, some of the security requirements will be ignored. But ignoring security requirements may (a) leave some of the security threats unattended and (b) negatively impact the effectiveness of the selected requirements. To mitigate this, we have proposed a fuzzy framework, referred to as Prioritization And Partial Selection (PAPS), that reduces the number of ignored security requirements by allowing for partial satisfaction of those requirements. We achieve this by relaxing the satisfaction conditions of security requirements, when tolerated, based on their priorities specified by a fuzzy inference system. Taking into account the partiality of security in PAPS mitigates the adverse impact of ignoring security requirements and enhances the accuracy of prioritization and selection. Our proposed framework is scalable to a large number of requirements

    What Can Artificial Intelligence Do for Refugee Status Determination? A Proposal for Removing Subjective Fear

    No full text
    The drive for innovation, efficiency, and cost-effectiveness has seen governments increasingly turn to artificial intelligence (AI) to enhance their operations. The significant growth in the use of AI mechanisms in the areas of migration and border control makes the potential for its application to the process of refugee status determination (RSD), which is burdened by delay and heavy caseloads, a very real possibility. AI may have a role to play in supporting decision makers to assess the credibility of asylum seekers, as long as it is understood as a component of the humanitarian context. This article argues that AI will only benefit refugees if it does not replicate the problems of the current system. Credibility assessments, a central element of RSD, are flawed because the bipartite standard of a ‘well-founded fear of being persecuted’ involves consideration of a claimant’s subjective fearfulness and the objective validation of that fear. Subjective fear imposes an additional burden on the refugee, and the ‘objective’ language of credibility indicators does not prevent the challenges decision makers face in assessing the credibility of other humans when external, but largely unseen, factors such as memory, trauma, and bias, are present. Viewing the use of AI in RSD as part of the digital transformation of the refugee regime forces us to consider how it may affect decision-making efficiencies, as well as its impact(s) on refugees. Assessments of harm and benefit cannot be disentangled from the challenges AI is being tasked to address. Through an analysis of algorithmic decision making, predictive analysis, biometrics, automated credibility assessments, and digital forensics, this article reveals the risks and opportunities involved in the application of AI in RSD. On the one hand, AI’s potential to produce greater standardization, to mine and parse large amounts of data, and to address bias, holds significant possibility for increased consistency, improved fact-finding, and corroboration. On the other hand, machines may end up replicating and manifesting the unconscious biases and assumptions of their human developers, and AI has a limited ability to read emotions and process impacts on memory. The prospective nature of a well-founded fear is counter-intuitive if algorithms learn based on training data that is historical, and an increased ability to corroborate facts may shift the burden of proof to the asylum seeker. Breaches of data protection regulations and human rights loom large. The potential application of AI to RSD reveals flaws in refugee credibility assessments that stem from the need to assess subjective fear. If the use of AI in RSD is to become an effective and ethical form of humanitarian tech, the ‘well-founded fear of being persecuted’ standard should be based on objective risk only

    Visibility requirements engineering for commercial websites

    No full text
    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 activities. These modifications can introduce new defects to the websites. To tackle this problem, we have proposed caring for visibility in the requirements of commercial websites. We further contribute a goal-based framework for modeling and description of visibility in requirement engineering phase. The framework lays a foundation for automated analysis of visibility in commercial websites. © 2014 SERSC

    Dependency-aware software release planning through mining user preferences

    No full text
    Software vendors aim to find, for a release of the software, an optimal subset of features that gives the highest value while respecting the resource limitations. The value of a feature subset, however, is determined by the values of the individual features within that subset—which are specified by the preferences of users. But user preferences for some features may change in the presence or absence of others. As such, the values of certain software features may be influenced, either positively or negatively, by other features. Such influences are widely recognized and referred to in the literature as value-related dependencies among software features. Value-related dependencies impact the overall value of a software product and, therefore, need to be considered in software release planning. To achieve this, we have proposed identifying value-related dependencies by mining user preferences for software features. We integrate these dependencies into an integer programming model, that finds an optimal subset of the features for a release of a software product. We have demonstrated the practicality of our proposed approach by studying a real-world software project and simulations
    corecore