20
Improvement of software quality OpenAirInterface Copyright 2017 FUJITSU LIMITED 7 th Nov. 2017 FUJITSU Limited AKIYAMA Yuko ([email protected]) 0

OpenAirInterface Improvement of software quality · Copyright 2017 FUJITSU LIMITED (*)SArF Kobayashi, K., Kamimura, M., Yano, K., Kato, K. and Matsuo, A.:SArF Map: Visualizing software

Embed Size (px)

Citation preview

Improvement of software quality

OpenAirInterface

Copyright 2017 FUJITSU LIMITED

7th Nov. 2017

FUJITSU LimitedAKIYAMA Yuko ([email protected])

0

Agenda

Software Quality and Carrier Grade

Approach to OAI quality improvement

Extra

Copyright 2017 FUJITSU LIMITED1

Software Quality and Carrier Grade

Copyright 2017 FUJITSU LIMITED2

Maintainability

AnalyzabilityChangeability

TestabilityStability

Usability

AttractivenessUnderstandability

OperabilityLearnability

Efficiency

Resource UtilizationTime Behavior

Functionality

SuitabilityInteroperability

RegularityAccuracySecurity

Portability

AdaptabilityReplaceabilityInstallabilityCo-existence

Reliability

Fault ToleranceRecoverability

Maturity

SoftwareQuality

ISO 9126

Carrier Grade

1 Extreme StabilityNo system/process/thread down. 24hrs/7days running.

2 Extreme Fault ToleranceExpect and get ready for unexpected things.

3 Extreme RecoverabilityRestart services immediately even after any fault occurs.

Well Tested+

=

99.999% Availability2

How FUJITSU secures Carrier Grade

Copyright 2017 FUJITSU LIMITED3

3000 UEs / 1 Cell

48 Cells

Major software updateevery 6 months

C-BBU (*)

(*)Centralized Base Band Unit

Deliver

Hardware

Firmware

Software

Quality control

SystemTest

RadioTest

・many human resources・many department・many development rules・many gate of quality check

3

Kano Model

Copyright 2017 FUJITSU LIMITED4

Dissatisfied

Satisfied

Fully Implemented

Not Implemented

I love it!

Useless!

Must-be Quality

One-dimensionalQuality

Attractive Quality

Attractive Quality

One-dimensional Quality

Must-be Quality

Even if not implemented, it’s OK. But once implemented, the customer becomes delighted.

The more you have, the more the customer gets satisfied.

Even if fully implemented, the customer’s reaction is neutral. But if not implemented, the customer gets really disappointed.

https://ja.wikipedia.org/wiki/%E7%8B%A9%E9%87%8E%E7%B4%80%E6%98%AD

What quality do you want for OAI?

4

What is the state that software should be?

The source code is always in an easy-to-understand state

Copyright 2017 FUJITSU LIMITED

Contribute & Feedback

Use & Collaboration

Easy to handle

understand

modify operate

What should we do to secure this state?5

Approach of Fujitsu on OAI

SArF(*) : Utilization of software metrics tools

Simulation testing

Copyright 2017 FUJITSU LIMITED

Graph clustering appliedto dependency graph

Code Tested by GDB, eclipse etc.

Layer simulator

With Test Scenario

Code coverage 100%

(*)Reference information at the end of presentation6

SArF : Software Architecture Finder

Copyright 2017 FUJITSU LIMITED

Feature• Software clustering based on dependency graph• City map-like visualization of the detected clusters: SArF Map• A city block corresponds to a detected software cluster

7

SArF Result OAI detail complexity vs LoC

Copyright 2017 FUJITSU LIMITED

Building height : program complexity /LoC Building height : LoC

RU-RAU Split Branch

The building height can be set by various metrics which helps you check software visually.10

Simulator(Layer simulator)

Copyright 2017 FUJITSU LIMITED

l3sim

RRC

S1AP

UE-RRC

eNBMME/UE-stub

MME-S1APCommandl2dlsim

PDCP

RLC

eNB

PDCP

RLC

UE

Create SRB/DRBCheck Parameter

Command

l2ulsim

PDCP

RLC

eNB

PDCP

RLC

UE

Create SRB/DRBCheck Parameter

Command

SCDsim

dlsch_ulsch_scheduler

Scheduling result

eNB/UE state generation

Command

Improvement of layer simulator

guarantee for each function properly 11

Simulator(OAI Sim)

Copyright 2017 FUJITSU LIMITED

PC1Thread UE 1

PHY

Stub

UE

UE1

MAC

eNB

L2FAPI:

Schedule

response

nFAPI

VNFFapi

L1

UE100

MAC

oai_nfapi_tx_req

oai_nfapi_dl_configPHY

Stub

UE

Thread UE 100

PC2

nFAPI

PNF

pnf_p7 thread

Improvement of OAI simulator

guarantee with OAI sim

Extension to 100UEs

12

What to do from now

Copyright 2017 FUJITSU LIMITED

Process

Waterfall → Agile

Quality

Many gate of quality check

→ Continuous Integration, Auto Test, Simulation Test

Development

→ Commercially use as Private LTE

Speed ↑

Quality ↑

OAI users ↑

13

Copyright 2017 FUJITSU LIMITED

Fujitsu’s software develop flow

https://gitlab.eurecom.fr/

Sprintplanning

design implementation& coding

Sim1 & CT testing Sim2 & Machine testing

Code Tested by GDB, eclipse etc.

Layer simulator

With Test Scenario

Code coverage 100% or

With Test Scenario

Next Sprint

Development Process

SArF

14

extra

How is OAI growing up??

Copyright 2017 FUJITSU LIMITED15

OAI Commit History

Copyright 2017 FUJITSU LIMITED16

openair5g (UE/eNB) – all branches

Development is ongoing at the same pace

The pace of development is being maintained for the last year.

2017 Jan 1992017 Feb 2162017 Mar 3192017 Apr 1282017 May 1532017 Jun 2022017 Jul 1002017 Aug 1652017 Sep 932017 Oct 161 (until 25th Oct)

0

200

400

600

800

1000

1200

1400

1600

1800

2000

0

10

20

30

40

50

60

number of commits (all branches) cumulative commits From January 1st to October 25th ,2017

16

OAI Commit Ranking

Copyright 2017 FUJITSU LIMITED17

openair5g (UE/eNB) – all branches Top 10 50% commit from EURECOMMore diversity preferred?

#1 Cedric RouxEURECOM

#2 Raymond KnoppEURECOM

#3 Florian KaltenbergerEURECOM

#4 M.Kb<>com

#5 N.HGmail

#6 G.CGmail

#7 F.Lb<>com

#8 Elena LukashovaEURECOM

#9 Michele PaffettiEURECOM (UniBo)

#10 Haithem BilelTCLFrom January 1st to October 25th ,2017

Cedric Roux

29%

Raymond Knopp

8%

Florian

Kaltenberger

7%

M.K

6%

N.H

6%

G.C

5%F.L

5%

Elena Lukashova

4%

Michele Paffetti

4%

Haithem Bilel

2%

Others

24%

17

Copyright 2017 FUJITSU LIMITED

(*)SArFKobayashi, K., Kamimura, M., Yano, K., Kato, K. and Matsuo, A.:SArF Map: Visualizing software architecture from feature and layer viewpoints, Program Comprehension (ICPC), 2013 IEEE 21st International Conference on, pp. 43-52, DOI: 10.1109/ICPC.2013.6613832 (2013).

References

19