Programvaruteknik

Programvaruteknik

Forskningen omfattar tekniker, metoder och processer för utveckling av komplexa programvarusystem och tillämpning av systematiska och mätbara metoder för utveckling, drift och underhåll av mjukvaruintensiva system, tjänster och produkter. Forskningen rankas tvåa i världen.

Forskargruppen SERL Sweden är en av de ledande i Europa inom empirisk och evidensbaserad programvaruteknik. Forskningen bedrivs ofta i samverkan med industrin för att lösa faktiska industriella utmaningar och för att stärka våra partners konkurrenskraft i utvecklingen av mjukvaruintensiva system, tjänster och produkter.

Ett fokus för forskningen är att göra mjukvaruutvecklingen mer effektiv med bibehållen eller högre produktkvalitet.

Vår forskning i programvaruteknik har stor bredd då vi har kompetens inom allt från tekniska lösningar till affärsfrågor. Vi integrerar topprankad akademisk forskning med stark industriell relevans.

Några områden som studeras är:

Affärsmässiga aspekter, ekosystem och innovation inom programvaruteknik
Agil/lean mjukvaruutveckling
Empirisk och evidensbaserad programvaruteknik
Forskningsmetoder
Global mjukvaruutveckling
Human aspects inom programvaruteknik
Kravhantering
Mjukvaruarkitekturer, modellering och produktlinjer
Processförbättring inom programvaruteknik
Produkthantering inom programvaruteknik
Programvarukvalitet
Sökbaserade metoder inom programvaruteknik
Verifiering och validering
Värdebaserad produktutveckling
Ämnesspecifik didaktik

Forskningen inom programvaruteknik bedrivs i huvudsak vid institutionen för programvaruteknik.

Mjukvara – smörjmedlet i det moderna samhället

Det har blivit alltför uppenbart hur sårbart samhället är som bygger på datorer och mjukvara, samtidigt som det är en direkt följd av den tekniska utvecklingen under de senaste 50 åren. Samhället digitaliseras alltmer, vilket är detsamma som ett ökat beroende av processorer och mjukvara. Samtidigt har det skapat möjligheter som inte varit tillgängliga för tidigare generationer. Beroendet kan exemplifieras med hur processorer och mjukvara har blivit en allt viktigare komponent i flyg, tåg, bilar, telekommunikations­­system, mobiler, industriautomation, banker, strömmingstjänster för media, betaltjänster och ett stort antal administrativa system (t.ex. löneutbetalningar och biljettköp).

Beroendet kan exemplifieras med att vissa moderna bilar innehåller 100 miljoner rader mjukvarukod. Detta skall jämföras med en normal bok som kan ha 300 sidor och 40 rader per sida, vilket innebär att boken har 12 000 rader med text. Det innebär att 100 miljoner rader skulle motsvara cirka 8 300 böcker, vilket är ett ganska stort bibliotek. Att skriva 8 300 böcker tar sin tid och kräver en oerhörd synkronisering om persongalleri och historien skall hänga samman, då det krävs ett stort antal författare för att skriva så många böcker. Det är högst troligt att böckerna kommer att innehålla syftningsfel och inkonsekventa beskrivningar av människor och miljöer när ett stort antal personer skall skriva 8 300 mer eller mindre sammanhängande böcker. Utmaningen är likartad för utveckling av mjukvara.

 

Mjukvaruutveckling (eng. software engineering) är inte bara en fråga om programmering, utan det krävs mjukvaruarkitektur, kravhantering, design, test, management med mera för att utveckla stora och komplexa mjukvarusystem. Utvecklingen sker parallellt av ett stort antal människor i flera länder, och mjukvarusystemen vidareutvecklas över många år, dvs. nya tjänster läggs till. Det senare ställer stora krav på kunskap om det nuvarande systemet, då existerande tjänster oftast inte får påverkas.

Mjukvaran ska både tillhandahålla tjänster som användaren vill ha och samtidigt skall den upplevas högkvalitativ och säker, samt utvecklingen skall vara kostnadseffektiv. Mjukvaruutveckling är en designverksamhet och det är i det närmaste omöjligt att utveckla helt felfria mjukvarusystem. Denna svårighet tillsammans med samhällets beroende av mjukvaran gör området till en stor samhällskritisk utmaning. Det betyder att både utbildning och forskning inom mjukvaruutveckling är av allra största vikt för både industrins konkurrenskraft och ett fungerande modernt samhälle. Utan högkvalitativ mjukvara stannar världen.

BTH har en av de största och starkaste utbildnings- och forskningsmiljöerna nationellt inom mjukvaruutvecklingsområdet, och är internationellt erkända inom området. Undervisningen och forskningen bedrivs med visionen ”Leading Software Engineering”.

Exempel på projekt

REQUIREMENTS ENGINEERING IN INFRASTRUCTURE PROJECTS

REQUIREMENTS ENGINEERING IN INFRASTRUCTURE PROJECTS

In this continuing collaboration with the Swedish Transport Administration (Trafikverket), we have the goal of improving requirements management in large, long lasting infrastructure projects. The research is driven by Dr. Michael Unterkalmsteiner and Prof. Dr. Tony Gorschek (ERSAK and KREDA).

SVAR (2023-2025) investigates means to automate compliance checks (ACC) of digital assets. First, we develop a maturity model to assess Trafikverket’s capabilities to implement ACC. Second, we analyze Trafikverkets regulatory requirements w.r.t. their verifiability. Third, we develop a verification method library, based on the analysis of verifiable requirements.

DCAT (2020-2022) analyses the requirements communication between clients and suppliers in infrastructure projects, evaluates the potential of classification systems for trace link generation, and develops tool support for automatically establishing such trace links between requirements, stated by the client, and digital assets, delivered by the supplier.

KREDA (2017-2019) develops tools for systematic requirements management and requirements databases, to achieve more efficient requirements management and take advantage of the new opportunities that arise from Trafikverket’s work to digitize their business.

ERSAK (2015-2017) aims at developing and streamlining regulatory frameworks, regulatory requirements and project requirements, through improved specification, analysis, and communication, with the goal of improving both efficiency and effectiveness in projects through improved requirements management.

Läs mer om projektet

InScale – Supporting InnerSource Transformation at Scale

InScale – Supporting InnerSource Transformation at Scale

The InScale research project, in collaboration with Ericsson AB and IKEA IT AB, aims to support large-scale InnerSource transformations in companies. InnerSource involves applying open source software development principles within a company to enhance collaboration, transparency, and knowledge sharing across different geographies and business units.

Läs mer om projektet

ThreMoLIA – Hotmodellering för LLM-integrerade applikationer

ThreMoLIA – Hotmodellering för LLM-integrerade applikationer

Projektet syftar till att utveckla en metod för hotmodellering för RAG-baserade LLM-integrerade applikationer (LIA) och ett verktyg som drivs av en specialiserad LLM som kan generera och kontinuerligt underhålla hotmodeller.

Läs mer om projektet

SESAM – Secure software engineering through Sensible AutoMation

SESAM – Secure software engineering through Sensible AutoMation

The rising complexity and sophistication of cyber threats necessitate proactive security measures in software development. Traditional methods, which often incorporate security checks late in the Software Development Life Cycle (SDLC), are inadequate due to their high cost and inefficiency. There are several barriers to integrate security measures early in the development—such as supporting developers in understanding and implementing security measures, integrating security into existing workflows, avoid  productivity disruptions. The project will empower developers with tools and practices to seamlessly integrate security.

Läs mer om projektet

Testing with AI Reinforced GUI Embedded Technology (T.A.R.G.E.T.)

Testing with AI Reinforced GUI Embedded Technology (T.A.R.G.E.T.)

Many testing activities in the software industry, including those based on Graphical User Interfaces (GUIs), are still performed manually due to a lack of automation tools and knowledge. This makes testing costly and error-prone, directly impacting the user’s experience and their ability to meet their needs.

Läs mer om projektet

WorkFlex

WorkFlex

Working from home (WFH) or telework is something that until COVID-19 has been known only as a voluntary and often exceptional practice in the workplace, and remoters were often looked at with skepticism. However, the individual experience during the forced working from home appeared to be better-than-expected. Coupled with the investments enabling remote work during the pandemic caused many knowledge workers to rethink the return to the offices, and to favor continuing working from home occasionally, mostly or indefinitely. But do we know enough about remote working to make informant decisions?

Läs mer om projektet

PROMIS

PROMIS

Professional Master in Information Security (PROMIS) focuses on information, data and software intensive product and service development security as a field. The field’s criticality for Swedish industrial companies and organizations is central as security concerns as well as data and integrity protection, are prerequisites for the modern connected age.

PROMIS is a joint project between Blekinge Institute of Technology (BTH) and several leading Swedish industrial companies and organizations. The goal is to supply customized, free courses in Information Security for professional engineers and software developers in the industry.

Läs mer om projektet

GIST – Gaining actionable Insights from Software Testing

GIST – Gaining actionable Insights from Software Testing

With shortened delivery cycles and continuous deployment, companies rely on extensive and frequent testing to ensure product quality. The data generated from testing, other development activities, and product usage can provide valuable insights to improve product quality and development processes. While data is plentiful, making sense of it to gain actionable insights requires a multi-dimensional analysis. Designing, implementing, and evaluating such analyses daily is a rare practice in the industry as it is expensive and not adopted beyond research pilots. Hence, we need intelligent, automated, and reusable approaches that collect and analyze the available data to allow engineers and managers to make informed decisions.

Läs mer om projektet

SERT

SERT

SERT – Software Engineering ReThought is a groundbreaking research project with the aim to take on the next generation challenges facing companies developing software intensive systems and products. We as an engineering lab are blazing the road introducing 3:rd generation empirical software engineering – denoting close co-production of pragmatic problem solving in close collaboration with our industrial partners as we perform engineering research into topics critical for engineering and business success.

SERTs formulation of 3:rd generation empirical software engineering will utilize related knowledge areas as catalysts to solve challenges. Value-based engineering, Data-driven evidence based engineering, and Human-based development will complement software engineering competence in an integrated eco-system of competence focused on the challenges at hand.
All areas in software engineering, ranging from inception, realization to evolution are part of the research venture – reflecting that companies need solutions covering their entire ecosystem.

Läs mer om projektet

PLEng – Företagsforskarskola

PLEng – Företagsforskarskola

PLEng (Professional Licentiate of Engineering School) är ett koncept av integrerad forskarskola som ger industri och näringsliv möjlighet att kompetensutveckla specialister och objektiva problemlösare. Forskarskolan, som genomförs under 3 år deltid, har fokus på att utveckla tillämpad industrinära forskning och innovativa lösningar på specifika problem. Deltagare som bedriver forskarstudier i PLEng arbetar parallellt på sina respektive företag vilket innebär en flexiblare form jämfört med traditionella forskarstudier. Under sin tid i forskarskolan får de möjligheten att göra en djupdykning i ett område under en längre period för att bygga kompetens och utveckla nya idéer.

Läs mer om projektet

BESQ+

BESQ+ är ett forskningsprojekt som syftar till att bygga en stark forskning inom programvaruteknik vid BTH. Projektet inkluderar forskning inom följande områden: värdeskapande och innovation inom mjukvaruområdet; arkitekturforskning, speciellt i anslutning till mjukvarutjänster i molnet (typisk tillgängliga via webben, men användaren vet inte var tjänsterna faktiskt finns) och multiprocessorsystem; effektiva utvecklingsprocesser; global mjukvaruutveckling, och avvägning och samordning mellan affärsperspektivet, arkitektur, processer och organisation.

Finansiär: KK-stiftelsen, period 2011-2013
Projektledare: Claes Wohlin
Samarbetspartners: BAE Systems Hägglunds, Ericsson, IBM, Qtema, Ricksell Innovation, Sauer Danfoss och ST-Ericsson.
Kontaktperson: Claes Wohlin

EASE

EASE är ett industriellt excellenscentrum i samarbete med Lunds universitet och fyra företag. BTH:s arbete inom projektet är fokuserat på mjukvara för multiprocessorsystem, nya och effektivare utvecklingssätt och kopplingen mellan krav och test för programvara.

Finansiärer: Vinnova, Sony Mobile Communications, ST-Ericsson, Axis Communications, Softhouse Consulting Baltic.
Samarbetspartners: Sony Mobile Communications, ST-Ericsson, Axis Communications, Softhouse Consulting Baltic och Lunds universitet.
Kontaktperson: Claes Wohlin

ELLIIT

ELLIIT är en av två strategiska miljöer inom IT och mobilkommunikation. BTH:s bidrag inom projektet är inom programvaruteknik med ett huvudfokus på forskning relaterat till effektiva testprocesser. BTH:s forskning bedrivs tillsammans med ett företag och sker bland annat genom simulering av testprocessen för mjukvara. Syftet är att identifiera svaga punkter i processen och att kunna utvärdera förändringar genom simulering istället för att införa dem direkt.

Samarbetspartners: Linköpings universitet, Lunds universitet och Högskolan i Halmstad.
Kontaktperson: Jürgen Börstler

Läs mer om ELLIIT

TEDD

TEDD är ett projekt som är fokuserat på beslutstöd för offshoring mjukvaruutveckling. Målsättningen är att bidra med understöd för svensk industri att på ett effektiv arbeta med mjukvaruutvecklare i andra länder och genom detta förstärka sin egen konkurrenskraft.  Projektet studerar både transfer av mjukvaruutveckling och effektiv utveckling när mjukvaruutvecklingen görs på flera olika orter i olika länder gemensamt.

Finansiärer: KKS
Samarbetspartners: Ericsson, ABB och Boss Media AB
Kontaktperson: Darja Smite

Läs mer om TEDD