Category
data science
344 papers
‘Lots done, more to do’: the current state of agile systems development research
Failure Prediction using the Cox Proportional Hazard Model
Crashes of software systems may have disruptive, and sometimes tragic effects on users. Being able to forecast such failures is extremely important, even when the failures are inevitable – at least recovery or rescue actions can be taken. In this paper we present a technique to predict the failure of running software systems. We propose to use log messages to predict failures running devices that read log files of running application and warns about the likely failure of the system; the prediction is based on the Cox Proportional Hazards (PH) model that has been applied successfully in various fields of research. We perform an initial validation of the proposed approach on real-world data.
Making the leap to a software platform strategy: Issues and challenges
Context: While there are many success stories of achieving high reuse and improved quality using software platforms, there is a need to investigate the issues and challenges organizations face when transitioning to a software platform strategy. Objective: This case study provides a comprehensive taxonomy of the challenges faced when a medium-scale organization decided to adopt software platforms. The study also reveals how new trends in software engineering (i.e. agile methods, distributed development, and flat management structures) interplayed with the chosen platform strategy. Method: We used an ethnographic approach to collect data by spending time at a medium-scale company in Scandinavia. We conducted 16in-depth interviews with representatives of eight different teams, three of which were working on three separate platforms. The collected data was analyzed using Grounded Theory. Results: The findings identify four classes of challenges, namely: business challenges, organizational challenges, technical challenges, and people challenges. The article explains how these findings can be used to help researchers and practitioners identify practical solutions and required tool support. Conclusion: The organization's decision to adopt a software platform strategy introduced a number of challenges. These challenges need to be understood and addressed in order to reap the benefits of reuse. Researchers need to further investigate issues such as supportive organizational structures for platform development, the role of agile methods in software platforms, tool support for testing and continuous integration in the platform context, and reuse recommendation systems.
Reach audiences
Advertise in front of researchers, engineers, and readers.
Traverse the landscape of the mind by walking: an exploration of a new brainstorming practice
Group brainstorming is a well-known idea generation technique, which plays a key role in software development processes. Despite this, the relevant literature has had little to offer in advancing our understanding of the effectiveness of group brainstorming sessions. In this paper we present a research-in-progress on brainstorming while walking, which is a practice built upon the relationship between thinking and walking. The objective is to better understand how to conduct group brainstorming effectively. We compared two brainstorming sessions, one performed during a mountain walk, the other traditionally in a room. Three preliminary findings are obtained: walking can lead to an effective idea generation session; brainstorming while walking can encourage team members to participate in and contribute to the session in an equal manner; and it can help a team to maintain sustainable mental energy. Our study opens up an avenue for future exploration of effective group brainstorming practices.
A Web-based modeling tool for the SEMAT Essence theory of Software Engineering
As opposed to more mature subjects, software engineering lacks general theories that establish its foundations as a discipline. The Essence Theory of software engineering (Essence) has been proposed by the Software Engineering Methods and Theory (SEMAT) initiative. The goal of Essence is to develop a theoretically sound basis for software engineering practice and its wide adoption. However, Essence is far from reaching academic- and industry-wide adoption. The reasons for this include a struggle to foresee its utilization potential and a lack of tools for implementation. SEMAT Accelerator (SematAcc) is a Web-positioning tool for a software engineering endeavor, which implements the SEMAT’s Essence kernel. SematAcc permits the use of Essence, thus helping to understand it. The tool enables the teaching, adoption, and research of Essence in controlled experiments and case studies.
Foundations and Technological Landscape of Cloud Computing
The cloud computing paradigm has brought the benefits of utility computing to a global scale. It has gained paramount attention in recent years. Companies are seriously considering to adopt this new paradigm and expecting to receive significant benefits. In fact, the concept of cloud computing is not a revolution in terms of technology; it has been established based on the solid ground of virtualization, distributed system, and web services. To comprehend cloud computing, its foundations and technological landscape need to be adequately understood. This paper provides a comprehensive review on the building blocks of cloud computing and relevant technological aspects. It focuses on four key areas including architecture, virtualization, data management, and security issues.
Feature Usage Explorer: Usage Monitoring and Visualization Tool in HTML5 Based Applications
Feature Usage Explorer is a JavaScript library, which automatically detects features in HTML5 based applications and monitors their usage. The collected information can be visualized in a Feature Usage Diagram, which is automatically generated from an input json file. Currently, the users of Feature Usage Explorer have to design their own tool in order to generate the json file from collected usage information. This option remains viable when using the library in order not to constraint the user’s choice of preferred data storage. Feature Usage Explorer can be reused in any HTML5 based applications where an understanding of how users interact with the system is required (i.e. user experience and usability studies, human computer interaction field, or requirement prioritization area).
Are Happy Developers more Productive? The Correlation of Affective States of Software Developers and their self-assessed Productivity
For decades now, it has been claimed that a way to improve software developers’ productivity is to focus on people. Indeed, while human factors have been recognized in Software Engineering research, few empirical investigations have attempted to verify the claim. Development tasks are undertaken through cognitive processing abilities. Affective states – emotions, moods, and feelings - have an impact on work-related behaviors, cognitive processing activities, and the productivity of individuals. In this paper, we report an empirical study on the impact of affective states on software developers’ performance while programming. Two affective states dimensions are positively correlated with self-assessed productivity. We demonstrate the value of applying psychometrics in Software Engineering studies and echo a call to valorize the human, individualized aspects of software developers. We introduce and validate a measurement instrument and a linear mixed-effects model to study the correlation of affective states and the productivity of software developers.
Automated Feature Identification in Web Applications
Market-driven software intensive product development companies have been more and more experiencing the problem of feature expansion over time. Product managers face the challenge of identifying and locating the high value features in an application and weeding out the ones of low value from the next releases. Currently, there are few methods and tools that deal with feature identification and they address the problem only partially. Therefore, there is an urgent need of methods and tools that would enable systematic feature reduction to resolve issues resulting from feature creep. This paper presents an approach and an associated tool to automate feature identification for web applications. For empirical validation, a multiple case study was conducted using three well known web applications: Youtube, Google and BBC. The results indicate that there is a good potential for automating feature identification in web applications.
On Exploring Consumers' Technology Foresight Capabilities - An Analysis of 4, 000 Mobile Service Ideas
Lead user driven innovation and open innovation paradigms seek to involve consumers and common people to innovative product development projects. In order to help developers choose ideas that meet the end users' needs, we undertook a massive collaborative research effort and collected 40000 ideas from 2150 common people about future mobile services that they would like to use. We inspired each people to produce tens of mobile service ideas. In this paper we carry out an analysis for 4000 ideas from the idea database. We had a particular interest in whether peoples' ideas can be used in foreseeing the technology development needs. The results show that end users produce ideas that are conservative more than novel. Therefore, we claim that consumers' technology foresight horizon is limited by the existing technological base. The second finding, linked to the previous one, is that the great majority of the ideas that consumers expressed could be realised utilizing existing technologies. The implication of this finding is that the idea database should be an interesting source of ideas for service developers. The third finding of the study, related to the methodology, is that a vast number of ideas can be collected fairly easily but analyzing them cost effectively is a challenge.
Affordable and Energy-Efficient Cloud Computing Clusters: The Bolzano Raspberry Pi Cloud Cluster Experiment
We present our ongoing work building a Raspberry Pi cluster consisting of 300 nodes. The unique characteristics of this single board computer pose several challenges, but also offer a number of interesting opportunities. On the one hand, a single Raspberry Pi can be purchased cheaply and has a low power consumption, which makes it possible to create an affordable and energy-efficient cluster. On the other hand, it lacks in computing power, which makes it difficult to run computationally intensive software on it. Nevertheless, by combining a large number of Raspberries into a cluster, this drawback can be (partially) offset. Here we report on the first important steps of creating our cluster: how to set up and configure the hardware and the system software, and how to monitor and maintain the system. We also discuss potential use cases for our cluster, the two most important being an inexpensive and green test bed for cloud computing research and a robust and mobile data center for operating in adverse environments.
From tech blogs
See all →TimesFM-3: A zero-shot foundation model for multivariate forecasting
Data Management
GlucoFM: Foundation model for continuous glucose monitoring
Health & Bioscience
Generating scenarios for extreme events, without extreme data
A new algorithm learns to anticipate the unprecedented scenarios that critical infrastructure and global supply chains are least prepared for.
An AI tool for prioritizing candidate biomarkers from wearable sensor data
Generative AI
Measuring benchmark optimization in speech recognition
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
When AI art has no author: Study finds generated images often can’t be traced to training data
A new method for surgically removing training examples from a model reveals that as datasets grow, the link between what a model learns and what it produces dissolves.