
Context: Agile software development is widespread in software development companies because of the benefits it provides. Design and project management metrics can be used during agile software development as a guide for taking decisions and applying corrective actions. Objective: The purpose of the paper is to present the reasons of using software and project management metrics in agile software development methodologies. There are many metrics and variations of these metrics and so this research will try to identify and classify the purposes of using metrics in the context of agile software development. Method: For the purposes of the research, a systematic mapping study was conducted. Results: The research turned out that metrics are used to achieve the following aims: (a) Improving agile processes, (b) Complying with protocols in agile methodologies, (c) Improving software quality during development, (d) Improving the quality of source code, (e) Improving estimation and planning, (f) Increasing productivity. Conclusions: This study provides researchers and practitioners with a basic overview of the use of software and project management metrics in agile software development methodologies, as well as the reasoning behind the use of such metrics.
This paper presents an alternative methodology to find a network model with the least amount of critical bonds necessary to represent the behavior of the interacting elements of a system. The model is based on a network of couplings inferred by an non-restricted Boltzmann machine, which allows finding a maximum entropy distribution (ME). For N elements, the process starts by removing from the set of N(N − 1)/2 bonds, those with the lowest intensity and calculating the Kullback-Leibler divergence (KL) in each step. The edge removal process stops before there is a drastic increase in the KL divergence. This process was applied to the European market indices over two different periods. The results provide an interesting description of the most significant interactions driving the market and, at the same time, identify markets with higher system importance.
Digital security has become crucial in this new era of technology and biometry is becoming a natural and reliable authentication system. In recent years, keystroke dynamics, a type of behavioral biometric, has been used for user authentication and attack detection. In this study, we pursue a new approach to keystroke dynamics data generation focused on the impersonation of a user at the identification stage using Conditional Generative Adversarial Networks (cGAN). To that aim, three different architectures have been designed, implemented, and validated: a Vanilla-cGAN based on simple Neural Networks (NN), an LSTM-cGAN based on Recurrent Neural Networks using Long Short-Term Memory units (LSTM), and a CNN-cGAN based on Convolutional Neural Networks. These models have been validated in two different conditions, one in which the attacker knows exactly the order of the typed words for replicating the behavior and the other in which the order is unknown. To validate the data generated by these models, beyond the internal discriminator’s accuracy, a pre-trained Siamese Network has been used to detect whether two keystroke sequences belong to the same or not. This study suggests that the keystroke dynamics of a user can be successfully imitated via keystroke dynamics data generation using cGANs with different architectures.
As software development has shifted into a "getting to market quickly"[4] philosophy by embracing fast iteration[2] paradigms offered by such practices as "agile", ensuring strong security and verifiability characteristics has become increasingly difficult. One major contributing factor is the tension between getting to market and satisfying the internal quality requirements of the engineering team (often resulting in software released "too soon" from the perspective of the engineers). This paper describes a software development workflow whereby security and verifiability can be wholly or partially offloaded to a contract to be written by security experts on, or partnering with, the development team and associated enforcement library. This contract can be used to reason about certain properties of the software externally from the running software itself and to enforce a subset of its capabilities at runtime, thus ensuring that at the injection points, the software will behave in a predictable and modelable manner.
Various attacks have occurred to extract information on a specific person from social networks. Differential privacy (DP) is one of the solutions for privacy disclosure issues. However, the privacy issue in social networks makes people reluctant to provide their data. This circumstance causes a lack of data for data analysis. DP in small data degrades data utility more than in big data when we add the same amount of noise. We propose Community Attributes Privacy-preserving Method (CAPM) using the sparse vector technique that maintains a constant privacy level even in small data to mitigate this issue in this paper. CAPM obfuscates raw graph data to protect the network structure in a small network. This technique can improve the data utility performance compared to the existing model. We also suggest a privacy parameter that sets the privacy budget based on the similarity of communities in a network to reflect the network topology and contribute to raising the accuracy of a synthetic graph. In a node privacy view, we inject noise into the edges of central nodes in a community. Finally, we evaluate CAPM with real networks regarding statistical utility and privacy protection. We show that CAPM has an error rate of the number of edges up to 20 percent and its structural entropy is less than 17 percent of the error rate on average. CAPM improves the average clustering coefficient by 82 percent from the recent modeling algorithm. In addition, a maximum 18 percent error rate in modularity outperforms the baseline whose 43 percent of error rate. The evaluation results show that the CAPM generates synthetic social graphs targeting their relations of communities and performs better in data utility.