
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.
The quality of software products is among the most prevalent challenges threatening the software development primarily in small software companies (SSCs). These challenges are associated with insufficient practices affecting the production of software and the development processes. This paper explores the role of governance in streamlining software processes and practices to produce better quality software products. In a cross-sectional survey (n = 127), we reached out to software practitioners working in SSCs from four countries. We examined how SSCs engage in oversight and accountability and how SSCs perform management roles and activities, such as controlling, directing, and guiding in the process of developing software. Our findings indicate that although the SSCs minimally embrace governance practices, the smaller companies have a more challenging task embracing governance practices from the complexities arising out of these companies' structures. This study highlights the aspects of governance that need attention in the smaller category of SSCs. It proposes an organizational governance model to facilitate the SSCs in developing governance strategies to take advantage of the benefits of governance during software development.
Small software companies (SSCs) interact with the immediate environment, exposing them to challenges that force the organization to undertake adjustments if it must survive and remain in business. These adjustments result into counterproductive practices and changes that create complexities in process adoption. This cross-sectional survey investigates the occurrences around the customer in the development context that affect the adoption of process in SSCs. To answer the research questions, we conducted a survey on 115 respondents and found out that although customer engagement has a significant relationship with reducing rework, inadequacies in the engagement due to the customer's lack of knowledge of software processes, triggers unstructured and ad-hoc methods in SSCs. The main contribution of this paper is a customer engagement framework that seeks to transform software processes by focusing on the customer as a pillar of achieving purpose and value to reduce development effort and time.
The programming of system functionalities requires the development of components that must cooperate to satisfy the functional requirements of users, modularity, and reusability. Therefore, maintenance tasks demand developers to understand their internals and have knowledge about the dependency graphs that are formed by the interaction between components. Furthermore, they should be aware of the size, complexity, and maintainability of individual items, as well as of their aggregated weight for the complete coupling graph. Consequently, this paper aims to present an approach for calculating a forecasting indicator of the maintainability of system functionalities using as a base the indirect coupling graphs and a set of computed metrics for a group of code commits performed during a time period. Therefore, its contributions are a set of metrics for the calculation of a Maintainability Index of system functionalities and the individual elements in their dependency graphs, and to forecast the maintainability of system functionalities based on the sum of weights of the methods in the dependency graphs.
The ability to understand facial expressions is an important part of nonverbal communication. The value in understanding facial expressions is to gather information about how the other person is feeling and guide our interaction accordingly. A person's ability to interpret emotions is very important for Effective communication. Recent researches show that emotional states and motivation directly or indirectly influences of student's learning process. This work is however a plunge into how systems can correctly detect recognize and classify human (Students) facial emotional expression through various image sensors, using Convolutional Neural Network (CNN). Dataset containing 28821 Face images were acquired. All images were used for training and testing using Convolutional Neural Network algorithm implemented in MATLAB software. 80% of the image dataset were used in training the system, while 20% were used for testing the system. The Trained CNN classifier classify image emotions using the Adam optimizer for higher accuracy.
The low cost and rapid provisioning capabilities have made the cloud a desirable platform to launch complex scientific applications. However, resource utilization optimization is a significant challenge for cloud service providers, since the earlier focus is provided on optimizing resources for the applications that run on the cloud, with a low emphasis being provided on optimizing resource utilization of the cloud computing internal processes. Code refactoring has been associated with improving the maintenance and understanding of software code. However, analyzing the impact of the refactoring source code of the cloud and studying its impact on cloud resource usage require further analysis. In this paper, we propose a framework called Unified Regression Modelling (URegM) which predicts the impact of code smell refactoring on cloud resource usage. We test our experiments in a real-life cloud environment using a complex scientific application as a workload. Results show that URegM is capable of accurately predicting resource consumption due to code smell refactoring. This will permit cloud service providers with advanced knowledge about the impact of refactoring code smells on resource consumption, thus allowing them to plan their resource provisioning and code refactoring more effectively.
In an increasingly diverse and complex digital world a key challenge for companies is to maximize the productivity and motivation of their office workers. Thus, the task to measure, analyze and optimize the experience that these employees have with their digital devices becomes more and more important to ensure the competitiveness as well as the attractiveness of a company. In this paper end-user experience (EUE) includes measurable aspects such as boot-times, performance of tools and stability and availability of systems and software. In particular, for the IT administration, continuously optimizing the end-user experience is a considerable challenge. Our vision is to efficiently measure and quantify end-user experience and to automate the optimization of the infrastructure in order to support IT administrators. This paper shows an idea and a first concept for realization. A first step in measuring and evaluating end-user experience is to identify anomalies on endpoints. An endpoint can be any IT device used by the end-user. This paper presents a first implementation and evaluation of anomaly detection in IT infrastructures. First, the data collected on the endpoints is examined using a principal component analysis. Then, the data is analyzed for outliers using a neural network. For the implementation in this paper, an autoencoder is used. The evaluation of the results shows that an automated assessment of endpoint telemetry data using machine learning is possible. In summary, it is possible to detect anomalies in IT infrastructures using autoencoders. The anomalies in turn have an impact on the current or future end-user experience. In this way, autoencoder can be used in the future to improve the end-user experience of employees.
It is shown that 3D-pattern recognition methods combined with acoustic holography methods are a promising tool for atomization of measurements used in the physical chemistry of polymer hydrogels, in particular, for studying the interaction of hydrogels with substances present in the surrounding solution. It is shown that in this case, simplified methods for obtaining 3D patterns can be used. The convenience of using Galois fields for obtaining information and phase shifts of acoustic oscillations has been demonstrated. A modulo adder circuit with an adjustable value of the modulus is proposed, which makes it possible to significantly simplify the circuit implementation of calculations in Galois fields.
Improvements in the industry-academia collaboration have been argued to bring wide range of benefits for both communities, increasing innovation capacity for industry and providing academy access to real-world environments. However, building close collaborative ties between SE industry and academia has been slow and difficult. Academia has struggled to keep pace with SE engineering profession in reacting to new platforms and trends and in creating realistic SE learning environments for the students. Consequently, the students’ initial experiences in the industry have turned out to be rather different than their education. This paper describes early efforts to increase industry-academia collaboration in the Finnish region of South Savo. Through the process of searching, contacting, and interviewing regional SE companies, we began to see similarities and differences between SE companies in the region. In this paper, we describe five emerged archetypes of regional SE companies and report their preferences for industry-academia collaboration.
This work proposes a new parallel meta-heuristic optimization algorithm to deal with high dimensional optimization problems. We introduce a parallel and co-evolving multi population framework that mimics the hierarchical structure of grey wolves. We also propose using elite groups and a probabilistic mutation operator to improve the convergence speed and exploration ability. The algorithm is benchmarked on the twenty-eight functions of IEEE Congress of Evolutionary Computation (CEC) 2013 test suites and is compared with other meta-heuristic algorithms. Our proposed algorithm results show that our algorithm can find more optimal solutions at higher dimensions as compared to other meta-heuristic algorithms. Non-parametric statistical test also show the consistency in the obtained results.
Cracks in the oxide layer of steel sheets after hot rolling play an important role during the oxide layer removal with acid in the following pickling process. The time required to remove the oxide layer should increase with the crack distance as the acid is supposed to undercut the oxide layer. In order to validate a corresponding mathematical model, hot rolled steel sample surfaces are analysed in a microscope in a first step. The cracks in the microscope images are segmented using a CNN–based algorithm for semantic segmentation, followed by a post–processing step to determine distances between neighboring cracks. The approach allows an automated crack distance determination over a region 300 times larger than the typical crack distance of approximately 30 µm. In a laboratory pickling simulator, the oxide layer of the samples is removed in a second step. During this process, the sample surface is observed by a camera, allowing to identify the locally varying time for the removal of the oxide layer. In a final step, the local distribution of the crack distances is compared to the local distribution of the pickling time, which should correlate according to the mathematical model.
In recent years, vast amounts of data are generated from a plethora of devices, systems, and platforms, covering a wide range of domains. This data increase generates the necessity to access a wide range of technical and technological resources enabling efficient and ready-to-use data analysis solutions, including resources for training and learning in addition to data infrastructure elements, as well as Artificial Intelligence (AI)/Machine Learning (ML) techniques. Current solutions are siloed, and instead of being structured, integrated, and openly accessible from a single-entry point, they still tend to be fragmented and proprietary. To address this gap, the concept of data marketplaces has been generated including a plethora of solutions, in the form of data assets, for offering an access point to the aforementioned services. Though, current data marketplaces lack of genericity since they are tailored and implemented under specific domains, not being able to fully offer a single-entry point towards interdisciplinary ready-to-use data management solutions and assets. This paper describes a cross-domain Data Marketplace, as a unified web-based platform that offers to its users various ready-to-use data management solutions, supporting different kinds of cross-sector assets including datasets, software components, data science notebooks, as well as multimedia content of software solutions among others. Moreover, it showcases how this Data Marketplace has been designed and specified based on existing marketplaces, while it demonstrates the way that its users are able to search and retrieve assets for resolving their business issues, or achieving some of their educational/research/personal goals.
Software design debt aims to elucidate the rectification attempts of the present design flaws and studies the influence of those to the cost and time of the software. Design smells are a key cause of incurring design debt. Although the impact of design smells on design debt have been predominantly considered in current literature, how design smells are caused due to not following software engineering best practices require more exploration. This research provides a tool which is used for design smell detection in Java software by analyzing large volume of source codes. More specifically, 409,539 Lines of Code (LoC) and 17,760 class files of open source Java software are analyzed here. Obtained results show desirable precision values ranging from 81.01% to 93.43%. Based on the output of the tool, a study is conducted to relate the cause of the detected design smells to two software engineering challenges namely "irregular team meetings" and "scope creep". As a result, the gained information will provide insight to the software engineers to take necessary steps of design remediation actions.
Biometric systems represent valid solutions in tasks like user authentication and verification, since they are able to analyze physical and behavioural features with high precision. However, especially when physical biometrics are used, as is the case of iris recognition, they require specific hardware such as retina scanners, sensors, or HD cameras to achieve relevant results. At the same time, they require the users to be very close to the camera to extract high-resolution information. For this reason, in this work, we propose a novel approach that uses long-range (LR) distance images for implementing an iris verification system. More specifically, we present a novel methodology for converting LR iris images into graphs and then use Graph Siamese Neural Networks (GSNN) to predict whether two graphs belong to the same person. In this study, we not only describe this methodology but also evaluate how the spectral components of these images can be used for improving the graph extraction and the final classification task. Results demonstrate the suitability of this approach, encouraging the community to explore graph application in biometric systems.
Shape tracking is based on landmark detection and alignment. Open-source code and pre-trained models are available for an implementation that is based on an ensemble of regression trees. The C++ Deformable Shape Tracking (DEST) implementation of face alignment that is using Eigen template library for algebraic operations is employed in this work. The overhead of the C++ Eigen library calls is measured and selected computational intensive operations are ported from Eigen implementation to custom C code achieving a remarkable acceleration in the shape tracking application. An important achievement of this work is the fact that the restructured code can be directly implemented with reconfigurable hardware for further speed improvement. Driver drowsiness and distraction detection applications are exploiting shape tracking by measuring landmark distances in order to detect eye blinking, yawning, etc. Fast video processing and accuracy is mandatory in these safety critical applications. The modified software implementation of the original DEST face alignment method presented in this paper, is almost 250 times faster due to the custom implementation of computational intensive vector/matrix operations and rotations. Eigen library is still used in non-time critical parts of the code for compact description and higher readability. Flattening of nested routines and inline implementation is also used to eliminate excessive argument copies and data type checking and conversions.
Traditionally, we conduct polls to obtain people's opinions on certain subjects, but now as social media prevails, scientists can harvest people's opinions from the great amount of data generated from social media users. This paper performs sentiment analysis on the Twitter comments regarding NBA games to obtain public opinions on the NBA players as a new way of player-performance evaluation, instead of adopting the traditional way to assess players according to their statistics in the games or the poll results by the audience. The Twitter messages regarding 5 games during the 2019 NBA playoff finals are collected, and three types of sentiments (absolute, objective, and subjective sentiments) are extracted from these messages. This work explores which type of sentiment has the strongest correlation with the player performance and thus makes the best value to evaluate the player performance. Keywords are also extracted from the messages. Our findings suggest that subjective sentiment is the best value among the three types of sentiments.