Source author record

Pekka Abrahamsson

Pekka Abrahamsson appears in the imported research catalog. Authorship, coauthor and topic links are available while profile ownership is still unclaimed.

ResearcherUnclaimed source record

Catalog footprint

What is connected

26works
6topics
4close collaborators

Actions

Connect this record

Log in to claim

Research graph

See the researcher in context

Open full explorer

Inspect adjacent papers, topics, institutions and collaborators without losing the researcher page.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Published work

26 published item(s)

preprint2026arXiv

Assessing Small Language Models for Code Generation: An Empirical Study with Benchmarks

The recent advancements of Small Language Models (SLMs) have opened new possibilities for efficient code generation. SLMs offer lightweight and cost-effective alternatives to Large Language Models (LLMs), making them attractive for use in resource-constrained environments. However, empirical understanding of SLMs, particularly their capabilities, limitations, and performance trade-offs in code generation remains limited. This study presents a comprehensive empirical evaluation of 20 open-source SLMs ranging from 0.4B to 10B parameters on five diverse code-related benchmarks (HumanEval, MBPP, Mercury, HumanEvalPack, and CodeXGLUE). The models are assessed along three dimensions: i) functional correctness of generated code, ii) computational efficiency and iii) performance across multiple programming languages. The findings of this study reveal that several compact SLMs achieve competitive results while maintaining a balance between performance and efficiency, making them viable for deployment in resource-constrained environments. However, achieving further improvements in accuracy requires switching to larger models. These models generally outperform their smaller counterparts, but they require much more computational power. We observe that for 10% performance improvements, models can require nearly a 4x increase in VRAM consumption, highlighting a trade-off between effectiveness and scalability. Besides, the multilingual performance analysis reveals that SLMs tend to perform better in languages such as Python, Java, and PHP, while exhibiting relatively weaker performance in Go, C++, and Ruby. However, statistical analysis suggests these differences are not significant, indicating a generalizability of SLMs across programming languages. Based on the findings, this work provides insights into the design and selection of SLMs for real-world code generation tasks.

preprint2026arXiv

TDD Governance for Multi-Agent Code Generation via Prompt Engineering

Large language models (LLMs) accelerate software development but often exhibit instability, non-determinism, and weak adherence to development discipline in unconstrained workflows. While test-driven development (TDD) provides a structured Red-Green-Refactor process, existing LLM-based approaches typically use tests as auxiliary inputs rather than enforceable process constraints. We present an AI-native TDD framework that operationalizes classical TDD principles as structured prompt-level and workflow-level governance mechanisms. Extracted principles are formalized in a machine-readable manifesto and distributed across planning, generation, repair, and validation stages within a layered architecture that separates model proposal from deterministic engine authority. The system enforces phase ordering, bounded repair loops, validation gates, and atomic mutation control to improve stability and reproducibility. We describe architecture and discuss encoding software engineering discipline directly into prompt orchestration, which we think offers a promising direction for reliable LLM-assisted development.

preprint2022arXiv

Work-from-home and its implication for project management, resilience and innovation -- a global survey on software companies

[Context] The COVID-19 pandemic has had a disruptive impact on how people work and collaborate across all global economic sectors, including the software business. While remote working is not new for software engineers, forced Work-from-home situations to come with both constraints, limitations, and opportunities for individuals, software teams and software companies. As the "new normal" for working might be based on the current state of Work From Home (WFH), it is useful to understand what has happened and learn from that. [Objective] The goal of this study is to gain insights on how their WFH environment impacts software projects and software companies. We are also interested in understanding if the impact differs between software startups and established companies. [Method] We conducted a global-scale, cross-sectional survey during spring and summer 2021. Our results are based on quantitative and qualitative analysis of 297 valid responses. [Results] We observed a mixed perception of the impact of WFH on software project management, resilience, and innovation. Certain patterns on WFH, control and coordination mechanisms and collaborative tools are observed globally. We find that team, agility and leadership are the three most important factors for achieving resilience during the pandemic. Although startups do not perceive the impact of WFH differently, there is a difference between engineers who work in a small team context and those who work in a large team context. [Conclusion] The result suggests a contingency approach in studying and improving WFH practices and environment in the future software industry.

preprint2021arXiv

Business Model Canvas Should Pay More Attention to the Software Startup Team

Business Model Canvas (BMC) is a tool widely used to describe startup business models. Despite the various business aspects described, BMC pays a little emphasis on team-related factors. The importance of team-related factors in software development has been acknowledged widely in literature. While not as extensively studied, the importance of teams in software startups is also known in both literature and among practitioners. In this paper, we propose potential changes to BMC to have the tool better reflect the importance of the team, especially in a software startup environment. Based on a literature review, we identify various components related to the team, which we then further support with empirical data. We do so by means of a qualitative case study of five startups.

preprint2021arXiv

Software startup education: gamifying growth hacking

Startups seek to create highly scalable business models. For startups, growth is thus vital. Growth hacking is a marketing strategy advocated by various startup practitioner experts. It focuses on using low cost practices while utilizing existing platforms in creative ways to gain more users for the service. Though topics related to growth hacking such as marketing on a general level have been extensively studied in the past, growth hacking as a practitioner-born topic has not seen much interesting among the academia. To both spark interest in growth hacking, and to facilitate teaching growth hacking in the academia, we present two board games intended to serve as an engaging introduction to growth hacking for students.

preprint2021arXiv

Software Startup Practices -- Software Development in Startups through the Lens of the Essence Theory of Software Engineering

Software startups continue to be important drivers of economy globally. As the initial investment required to found a new software company becomes smaller and smaller resulting from technological advances such as cloud technology, increasing numbers of new software startups are born. Typically, the main argument for studying software startups is that they differ from mature software organizations in various ways, thus making the findings of many existing studies not directly applicable to them. How, exactly, software startups really differ from other types of software organizations as an on-going debate. In this paper, we seek to better understand how software startups differ from mature software organizations in terms of development practices. Past studies have primarily studied method use, and in comparison, we take on a more atomic approach by focusing on practices. Utilizing the Essence Theory of Software Engineering as a framework, we split these practices into categories for analysis while simultaneously evaluating the suitability of the theory for the context of software startups. Based on the results, we propose changes to the Essence Theory of Software Engineering for it to better fit the startup context.

preprint2021arXiv

Time for AI (Ethics) Maturity Model Is Now

There appears to be a common agreement that ethical concerns are of high importance when it comes to systems equipped with some sort of Artificial Intelligence (AI). Demands for ethical AI are declared from all directions. As a response, in recent years, public bodies, governments, and universities have rushed in to provide a set of principles to be considered when AI based systems are designed and used. We have learned, however, that high-level principles do not turn easily into actionable advice for practitioners. Hence, also companies are publishing their own ethical guidelines to guide their AI development. This paper argues that AI software is still software and needs to be approached from the software development perspective. The software engineering paradigm has introduced maturity model thinking, which provides a roadmap for companies to improve their performance from the selected viewpoints known as the key capabilities. We want to voice out a call for action for the development of a maturity model for AI software. We wish to discuss whether the focus should be on AI ethics or, more broadly, the quality of an AI system, called a maturity model for the development of AI systems.

preprint2020arXiv

Ethically Aligned Design: An empirical evaluation of the RESOLVEDD-strategy in Software and Systems development context

Use of artificial intelligence (AI) in human contexts calls for ethical considerations for the design and development of AI-based systems. However, little knowledge currently exists on how to provide useful and tangible tools that could help software developers and designers implement ethical considerations into practice. In this paper, we empirically evaluate a method that enables ethically aligned design in a decision-making process. Though this method, titled the RESOLVEDD-strategy, originates from the field of business ethics, it is being applied in other fields as well. We tested the RESOLVEDD-strategy in a multiple case study of five student projects where the use of ethical tools was given as one of the design requirements. A key finding from the study indicates that simply the presence of an ethical tool has an effect on ethical consideration, creating more responsibility even in instances where the use of the tool is not intrinsically motivated.

preprint2020arXiv

Implementing Ethics in AI: Initial Results of an Industrial Multiple Case Study

Artificial intelligence (AI) is becoming increasingly widespread in system development endeavors. As AI systems affect various stakeholders due to their unique nature, the growing influence of these systems calls for ethical considerations. Academic discussion and practical examples of autonomous system failures have highlighted the need for implementing ethics in software development. However, research on methods and tools for implementing ethics into AI system design and development in practice is still lacking. This paper begins to address this focal problem by providing elements needed for producing a baseline for ethics in AI based software development. We do so by means of an industrial multiple case study on AI systems development in the healthcare sector. Using a research model based on extant, conceptual AI ethics literature, we explore the current state of practice out on the field in the absence of formal methods and tools for ethically aligned design.

preprint2016arXiv

Bringing the Cloud to Rural and Remote Areas - Cloudlet by Cloudlet

Instead of relying on huge and expensive data centers for rolling out cloud-based services to rural and remote areas, we propose a hardware platform based on small single-board computers. The role of these micro-data centers is twofold. On the one hand, they act as intermediaries between cloud services and clients, improving availability in the case of network or power outages. On the other hand, they run community-based services on local infrastructure. We illustrate how to build such a system without incurring high costs, high power consumption, or single points of failure. Additionally, we opt for a system that is extendable and scalable as well as easy to deploy, relying on an open design.

preprint2015arXiv

Happy software developers solve problems better: psychological measurements in empirical software engineering

For more than 30 years, it has been claimed that a way to improve software developers' productivity and software quality is to focus on people and to provide incentives to make developers satisfied and happy. This claim has rarely been verified in software engineering research, which faces an additional challenge in comparison to more traditional engineering fields: software development is an intellectual activity and is dominated by often-neglected human aspects. Among the skills required for software development, developers must possess high analytical problem-solving skills and creativity for the software construction process. According to psychology research, affects-emotions and moods-deeply influence the cognitive processing abilities and performance of workers, including creativity and analytical problem solving. Nonetheless, little research has investigated the correlation between the affective states, creativity, and analytical problem-solving performance of programmers. This article echoes the call to employ psychological measurements in software engineering research. We report a study with 42 participants to investigate the relationship between the affective states, creativity, and analytical problem-solving skills of software developers. The results offer support for the claim that happy developers are indeed better problem solvers in terms of their analytical abilities. The following contributions are made by this study: (1) providing a better understanding of the impact of affective states on the creativity and analytical problem-solving capacities of developers, (2) introducing and validating psychological measurements, theories, and concepts of affective states, creativity, and analytical-problem-solving skills in empirical software engineering, and (3) raising the need for studying the human factors of software engineering by employing a multidisciplinary viewpoint.

preprint2015arXiv

How Do You Feel, Developer? An Explanatory Theory of the Impact of Affects on Programming Performance

Affects---emotions and moods---have an impact on cognitive activities and the working performance of individuals. Development tasks are undertaken through cognitive processes, yet software engineering research lacks theory on affects and their impact on software development activities. In this paper, we report on an interpretive study aimed at broadening our understanding of the psychology of programming in terms of the experience of affects while programming, and the impact of affects on programming performance. We conducted a qualitative interpretive study based on: face-to-face open-ended interviews, in-field observations, and e-mail exchanges. This enabled us to construct a novel explanatory theory of the impact of affects on development performance. The theory is explicated using an established taxonomy framework. The proposed theory builds upon the concepts of events, affects, attractors, focus, goals, and performance. Theoretical and practical implications are given.

preprint2015arXiv

The Affect of Software Developers: Common Misconceptions and Measurements

The study of affects (i.e., emotions, moods) in the workplace has received a lot of attention in the last 15 years. Despite the fact that software development has been shown to be intellectual, creative, and driven by cognitive activities, and that affects have a deep influence on cognitive activities, software engineering research lacks an understanding of the affects of software developers. This note provides (1) common misconceptions of affects when dealing with job satisfaction, motivation, commitment, well-being, and happiness; (2) validated measurement instruments for affect measurement; and (3) our recommendations when measuring the affects of software developers.

preprint2015arXiv

The Contemporary Understanding of User Experience in Practice

User Experience (UX) has been a buzzword in agile literature in recent years. However, often UX remains as a vague concept and it may be hard to understand the very nature of it in the context of agile software development. This paper explores the multifaceted UX literature, emphasizes the multi-dimensional nature of the concept and organizes the current state-of-the-art knowledge. As a starting point to better understand the contemporary meaning of UX assigned by practitioners, we selected four UX blogs and performed an analysis using a framework derived from the literature review. The preliminary results show that the practitioners more often focus on interaction between product and user and view UX from design perspective predominantly. While the economical perspective receives little attention in literature, it is evident in practitioners writings. Our study opens up a promising line of request of the contemporary meaning of UX in practice.

preprint2015arXiv

Understanding the Affect of Developers: Theoretical Background and Guidelines for Psychoempirical Software Engineering

Affects---emotions and moods---have an impact on cognitive processing activities and the working performance of individuals. It has been established that software development tasks are undertaken through cognitive processing activities. Therefore, we have proposed to employ psychology theory and measurements in software engineering (SE) research. We have called it "psychoempirical software engineering". However, we found out that existing SE research has often fallen into misconceptions about the affect of developers, lacking in background theory and how to successfully employ psychological measurements in studies. The contribution of this paper is threefold. (1) It highlights the challenges to conduct proper affect-related studies with psychology; (2) it provides a comprehensive literature review in affect theory; and (3) it proposes guidelines for conducting psychoempirical software engineering.

preprint2014arXiv

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 of OA journals. The framework has been employed in a systematic analysis of 30 OA journals in software engineering (SE) and information systems (IS), which were selected among 386 OA journals in Computer Science from the Directory of OA Journals. An analysis is 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 are then compared between-group, according to the presence of a publication fee. A within-group analysis is performed on the journals requesting publication charges to 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 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 OA publishing in the fields of SE and IS. Among them, it is shown that high publication fees are not sufficiently justified by the publishers, which often lack transparency and may prevent authors from adopting OA.

preprint2013arXiv

A Web-based modeling tool for the SEMAT Essence theory of Software Engineering

As opposed to more mature subjects, software engineering lacks general theories to 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. Essence goal is to develop a theoretically sound basis for software engineering practice and its wide adoption. Essence is yet far from reaching academic and industry adoption. Reasons include a struggle to foresee its utilization potential and the lack of tools implementing it. SEMAT Accelerator (SematAcc) is a Web-positioning tool for a software engineering endeavor, which implements the SEMAT's Essence kernel. SematAcc allows using Essence, thus helping to understand it. The tool enables teaching, adopting, and researching Essence in controlled experiments and case studies.

preprint2013arXiv

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.

preprint2013arXiv

Attaining High-performing Software Teams with Agile and Lean Practices: An Empirical Case Study

This paper presents an empirical study on how self- organized software teams could attain high performance using agile and lean practices. In particular, the paper qualitatively examines characteristics of high performance and self- organization in one project team. The case under study is a customer-driven student project, carried out to develop an alpha-version prototype. The paper also studies how certain agile software practices aid in initialising self-organization in the team. The main results indicate that self-organization as supported by certain Agile and Lean practices helps teams in achieving higher performance.

preprint2013arXiv

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.

preprint2013arXiv

Improving Software Developer's Competence: Is the Personal Software Process Working?

Emerging agile software development methods are people oriented development approaches to be used by the software industry. The personal software process (PSP) is an accepted method for improving the capabilities of a single software engineer. Five original hypotheses regarding the impact of the PSP to individual performance are tested. Data is obtained from 58 computer science students in three university courses on the master level, which were held in two different educational institutions in Finland and Denmark. Statistical data treatment shows that the use of PSP did not improve size and time estimation skills but that the productivity did not decrease and the resulting product quality was improved. The implications of these findings are briefly addressed.

preprint2013arXiv

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 re-search design towards a comparative analysis framework of JSF, which merges researcher needs and practitioner needs.

preprint2013arXiv

Measuring the Success of Software Process Improvement: The Dimensions

Quality managers, change agents and researchers are often troubled in defining and demonstrating the level of success achieved in software process improvement (SPI) initiatives. So far, there exist only few frameworks for identifying the level of success achieved in SPI. Analysis shows that these frameworks do not provide a comprehensive view from all relevant stakeholders involved in SPI. Early results from an ongoing research effort to discover and operationalise success dimensions are reported. Adapted from the project management literature it is suggested that five dimensions characterise the level of success achieved in SPI: (1) project efficiency, (2) impact on the process user, (3) business success, (4) direct operational success and (5) process improvement fit. Results from an empirical analysis are reported where 23 change agents evaluated the relative level of importance of each dimension. Early results indicate that change agents valued the process user satisfaction the most and the process improvement fit the least. This finding confirms the need of having various stakeholders and dimensions acknowledged in a framework that is used to measure the overall success of an SPI initiative.

preprint2013arXiv

On Exploring Consumers' Technology Foresight Capabilities - An Analysis of 4000 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.

preprint2013arXiv

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.