Skip to content

Category

software testing

388 papers

#computer vision Open access Sep 2007

A Comparative Case Study on the Impact of Test-Driven Development on Program Design and Test Coverage

Test-driven development (TDD) is a programming technique in which the tests are written prior to the source code. It is proposed that TDD is one of the most fundamental practices enabling the development of software in an agile and iterative manner. Both the literature and practice suggest that TDD practice yields several benefits. Essentially, it is claimed that TDD leads to an improved software design, which has a dramatic impact on the maintainability and further development of the system. The impact of TDD on program design has seldom come under the researchers' focus. This paper reports the results from a comparative case study of three software development projects where the effect of TDD on program design was measured using object-oriented metrics. The results show that the effect of TDD on program design was not as evident as expected, but the test coverage was significantly superior to iterative test-last development.

Maria Siniaalto, P. Abrahamsson · 54 citations · ⚡5
#computer vision Open access May 2008

Perspectives on Global Software Development: special issue on PROFES 2007

The field of software engineering has evolved significantly over the past decades. It can be argued that software has become the vital element of any system or service. Interestingly, even in the field of automotive industry, 90% of recent innovations stem from software and electronics (ITEA2 2005). Ever since the classic NATO conference in 1968, however, software has been argued to be in some state of crisis. From the 1990s, the crisis has been labeled as a chronic one. It is quite evident that several attempts to improve the state of software industry have taken place with varying levels of success. Software process improvement approaches have been developed since many decades ago. The results have been impressive, on the one hand, but many problems still exist. As an example, the business impact of software process improvement endeavors has been difficult to pinpoint, several of the improvement initiatives appear to fall short of their goals, and overemphasis on comparing processes with fixed reference models may lead an organization astray regarding the product or service perspective. The Profes conference series was established in 1999 to provide a venue for industry and academia to present and discuss the shift from model-based improvement to a product-oriented perspective in the field of software engineering and software process improvement. This includes a context-oriented understanding of the process-product relationships. Recently, the focus in practice and, consequently, in research has been on viewing software development as a global endeavor rather than a local one. There are several reasons for this. To name but a few: The distribution of software development enables the optimum use of competence regardless of the geographical location. The large software-intensive organizations operate in the global space and market, which makes distribution a necessity rather than a choice. On the positive side, distribution enables the development of software and services close to the prominent market area. Despite these relatively clear advantages and 2 benefits, global software development has brought with it several challenges due to increased complexity and cultural as well as technology issues. These challenges are now being tackled by means of research taking place in Europe and elsewhere as witnessed by this special issue of Profes conference research papers. Profes Conference series was established at the end of European IST project called PROFES (PROduct Focused Software process improvement) for disseminating the research results of the project area to industry. The PROFES Consortium included …

P. Abrahamsson, Jürgen Münch, P. Kuvaja · 4 citations
#computer vision Open access 2011

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.

P. Abrahamsson, I. Fronza, Jelena Vlasenko · 1 citation
#computer vision Open access Sep 2012

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.

Yaser Ghanam, F. Maurer, P. Abrahamsson · 41 citations · ⚡3
#computer vision Open access Aug 2013

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.

Xiaofeng Wang, D. Graziotin, Juha Rikkilä et al. · 1 citation
#computer vision Open access Jul 2013

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.

D. Graziotin, P. Abrahamsson · 33 citations · ⚡2
#computer vision Open access Apr 2013

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.

D. Graziotin, Xiaofeng Wang, P. Abrahamsson · 55 citations · ⚡4
#computer vision Open access Nov 2013

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.

Sarunas Marciuska, Çigdem Gencel, P. Abrahamsson · 11 citations
#computer vision Conference Open access Dec 2013

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.

P. Abrahamsson, S. Helmer, Nattakarn Phaphoom et al. · 110 citations · ⚡7
#computer vision Open access Jun 2013

Making Sense out of a Jungle of JavaScript Frameworks: towards a Practitioner-friendly Comparative Analysis

The field of Web development is entering the HTML5 and CSS3 era and JavaScript is becoming increasingly influential. A large number of JavaScript frameworks have been recently promoted. Practitioners applying the latest technologies need to choose a suitable JavaScript framework (JSF) in order to abstract the frustrating and complicated coding steps and to provide a cross-browser compatibility. Apart from benchmark suites and recommendation from experts, there is little research helping practitioners to select the most suitable JSF to a given situation. The few proposals employ software metrics on the JSF, but practitioners are driven by different concerns when choosing a JSF. As an answer to the critical needs, this paper is a call for action. It proposes a research design towards a comparative analysis framework of JSF, which merges researcher needs and practitioner needs.

D. Graziotin, P. Abrahamsson · 20 citations · ⚡1
#computer vision Review Open access Aug 2013

A framework for systematic analysis of open access journals and its application in software engineering and information systems

This article is a contribution towards an understanding of open access (OA) publishing. It proposes an analysis framework of 18 core attributes, divided into the areas of bibliographic information, activity metrics, economics, accessibility, and predatory issues. The framework has been employed in a systematic analysis of 30 OA journals in software engineering (SE) and information systems (IS), which were selected from among 386 OA journals in Computer Science from the Directory of OA Journals. An analysis was performed on the sample of the journals, to provide an overview of the current situation of OA journals in the fields of SE and IS. The journals were then compared between-group, according to the presence of article processing charges. A within-group analysis was performed on the journals requesting article processing charges from authors, in order to understand what is the value added according to different price ranges. This article offers several contributions. It presents an overview of OA definitions and models. It provides an analysis framework born from the observation of data and the existing literature. It raises the need to study OA in the fields of SE and IS while offering a first analysis. Finally, it provides recommendations to readers of OA journals. This paper highlights several concerns still threatening the adoption of OA publishing in the fields of SE and IS. Among them, it is shown that high article processing charges are not sufficiently justified by the publishers, which often lack transparency and may prevent authors from adopting OA.

D. Graziotin, Xiaofeng Wang, P. Abrahamsson · 21 citations · ⚡1

From tech blogs

See all →
MIT News · Artificial Intelligence Aug 17, 2026

Q&A: Rethinking how innovation happens

In his latest book, Professor Eugene Fitzgerald examines the forces that turn breakthroughs into value — and why innovation resists simple formulas.