2015
17
Proceedings of the 17th Korea Conference on
Software Engineering (KCSE 2015)
: 2015 1 28() ~ 1 30()
: ()
: ,
:
: , , , ,
, SW ,
ESG , ITRC ,
STA , TTA ,
17 1
Vol. 17 No. 1
KCSE 2015 17 1
i
2015 .
,
, ,
17 (KCSE 2015) .
1 28 1 30
, ,
83 .
, , 6
. SW , SW SW
SW
. 2
. , , ,
SW , , ,
.
,
.
.
KCSE 2015 17 1
ii
: (), ()
: ()
: (KAIST), (), (),
(), (), (),
()
: ()
: (KAIST), (KAIST), (), (),
(), (), (KAIST),
(), (), (),
(), (), (),
(), (), (), (),
(), (), (), (),
(), (), ()
KCSE 2015 17 1
iii
T1: SW
MBTI SW
(SW)
T2: SW 1
(KAIST)
T3: SW 1
()
T4: SW
( )
T5: SW 2
Architecture for Smart Services and Systems
()
T6: SW 2
()
KCSE 2015 17 1
iv
(A1)
Exture+
()
Exture+
()
()
(SW)
SW Fault Tolerance
()
(crowd)
(STA )
(ESG)
1 (A2)
[]
, , (KAIST)
ISO/IEC 9126
(), (), ()
SW
, ()
[]
(), (LG), (KAIST)
KCSE 2015 17 1
v
(A3)
, (KAIST)
, , (KAIST)
Open API RESTful
, , , ()
Cross-cutting SLA
, , , , , ()
(A4)
(GPLv2) (HIS Approach)
, (), , , ()
, , (KAIST)
, , ()
Software Refactoring Impact on Software Quality in Android Application Development []
Mesfin Abebe, ()
KCSE 2015 17 1
vi
SPLE (B1)
, , (KAIST)
[]
, ()
[]
(), (), ()
TMMi []
, , (LIGNex1)
[]
(), , , (KAIST)
2 (B2)
Running a SCRUM project within a Document Driven Process []
Jonathan Sawyer, ()
[]
, ()
SBA Web []
, , , ()
Multicultural Diversity Software Team
[]
(), (LG), (), (KAIST)
Agile Approach []
(), (LG), (NIA), (KAIST)
KCSE 2015 17 1
vii
1 (B3)
[]
, , ()
[]
, , ()
IoT []
, , , ()
[]
(KDN), (KAIST)
: []
(), (LG), , (KAIST)
1 (B4)
, , ()
[]
, , ()
[]
, , ()
[]
, , ()
[]
, , ()
KCSE 2015 17 1
viii
1 (C1)
[]
, ()
: LG
[]
, , (KAIST), , , (LG)
Hybrid Approach for Improving Test Case Specification and Generation Efficiency []
(), (KAIST)
Node.js []
BAT ERDENE KHUVIZAYA()
(C2)
, ()
, ()
[]
, , , ()
[]
(), (), ()
2 (C3)
[]
, , (KAIST)
, , , (KAIST), , (LG)
[]
, , ()
[]
, , ()
KCSE 2015 17 1
ix
(C4)
, , ()
Improving Resolution Time on JIRA System with Ontology
, (KAIST)
[]
, , ()
[]
(ADD), (KAIST), (ADD), (KAIST), (KAIST)
2 (D1)
Prioritizing Factors Affecting the Usability of Android-based Applications []
Ludwing Chiri Najaya, ()
[]
, , , ()
GUI []
, ()
[]
, ()
SW (D2)
: SW
, , (), , ()
DO-178 V []
, ()
[]
, (LIG Nex1)
KCSE 2015 17 1
x
SW 1 (D3)
- - []
, ()
IT []
, ()
[]
, , ()
[]
, ()
3 (D4)
Flexible architecture for pervasive computing with wearable device
, (KAIST)
[]
, (KAIST), (ADD)
xSHEL []
(), ( OPS)
(E1)
1 API
, (KAIST)
- []
, ()
[]
, ()
SCXML Modeling and Simulation (M&S) based on Stochastic based State Diagram []
(), (), ()
KCSE 2015 17 1
xi
(E2)
[]
, ()
[]
, ()
[]
, , , , (), (), ()
[]
(LG), (KAIST)
SW (E3)
GUI []
, ()
IoT REST []
, ()
IoT []
, ()
[]
, ()
2 (E4)
- Bunch
, , , ()
- []
, ()
[]
, ()
KCSE 2015 17 1
KCSE 2015
1 28 ()
10:0010:30
:
5
10:30-12:00
SW
:
2
13:0013:30 KCSE
T1: SW
() :1
T2: SW 1
() :2
T3: SW 1
() :3
13:30-15:00
(90)
: MBTI
SW
(SW)
:
(KAIST)
:
()
:
5
15:00-15:15
T4: SW
() :1
T5: SW 2
() :2
T6: SW 2
() :3
15:15-16:45
(90)
:
( )
: Architecture for Smart Services and
Systems
()
:
()
16:45-17:00
: ()
: 2
17:00-17:05 ( ), ( )
17:05-17:15 KCSE 2015 ()
: ()
: 2
17:15-18:00
18:00-19:00
KCSE 2015 17 1
1 29 ()
07:00-09:30
A
A1:
()
: 2
A2: 1
()
: 1
A3:
()
: 2
A4:
(KAIST)
: 3
09:30-11:30
(120)
Exture+
()
Exture+
()
()
(SW)
SW Fault
Tolerance
()
(crowd)
(STA )
(ESG)
[]
, , (KAIST)
ISO/IEC 9126
(), (),
()
SW
, ()
[]
(), (LG),
(KAIST)
* 11:35
, (KAIST)
, , (KAIST)
Open API
RESTful
, , ,
()
Cross-cutting
SLA
, , , ,
, ()
(GPLv2)
(HIS Approach)
, (), , ,
()
, , (KAIST)
, , ()
Software Refactoring Impact on Software
Quality in Android Application Development
[]
Mesfin Abebe, ()
* 11:20
11:30-13:00
KCSE 2015 17 1
B
B1: SPLE
()
: 2
B2: 2
()
: 1
B3: 1
()
: 2
B4: 1
()
: 3
13:00-15:00
(120)
, , (KAIST)
[]
, ()
[]
(), (),
()
TMMi
[]
, , (LIGNex1)
[]
(), , ,
(KAIST)
Running a SCRUM project within a
Document Driven Process[]
Jonathan Sawyer, ()
[]
, ()
SBA Web
[]
, , , ()
Multicultural Diversity
Software Team
[]
(), (LG),
(), (KAIST)
Agile
Approach []
(), (LG),
(NIA), (KAIST)
[]
, , ()
[]
, , ()
IoT
[]
, , ,
()
[]
(KDN), (KAIST)
:
[]
(), (LG),
, (KAIST)
, , ()
[]
, , ()
[]
, , ()
[]
, , ()
[]
, , ()
15:00-15:20
KCSE 2015 17 1
C
C1: 1
()
: 2
C2:
()
: 1
C3: 2
(KAIST)
: 2
C4:
()
: 3
15:20-17:00
(100)
[]
, ()
: LG
[]
, , (KAIST),
, , (LG)
Hybrid Approach for Improving Test
Case Specification and Generation
Efficiency[]
(), (KAIST)
Node.js
[]
BAT ERDENE KHUVIZAYA()
* 16:50
, ()
, ()
[]
, , , ()
[]
(), (),
()
[]
, , (KAIST)
, , ,
(KAIST), ,
(LG)
[]
, , ()
[]
, , ()
, , ()
Improving Resolution Time on JIRA System
with Ontology
, (KAIST)
[]
, , ()
[]
(ADD), (KAIST), (ADD),
(KAIST), (KAIST)
17:00-17:30
: ()
: 2
17:30-18:00
18:00-21:00 , ,
: 1
KCSE 2015 17 1
1 30 ()
07:00-09:20
D
D1: 2
(KAIST)
: 2
D2: SW SW
()
: 1
D3: SW 1
()
: 2
D4: 3
()
: 3
09:20-10:40
(80)
Prioritizing Factors Affecting the
Usability of Android-based
Applications[]
Ludwing Chiri Najaya, ()
[]
, , ,
()
GUI
[]
, ()
[]
, ()
:
SW
, , (),
, ()
DO-178 V
[]
, ()
[]
, (LIG Nex1)
- -
[]
, ()
IT
[]
, ()
[]
, , ()
[]
, ()
Flexible architecture for pervasive computing
with wearable device
, (KAIST)
[]
, (KAIST), (ADD)
xSHEL
[]
(), ( OPS)
10:40-10:50
KCSE 2015 17 1
E
E1:
()
: 2
E2:
()
: 1
E3: SW 2
()
: 2
E4: 2
()
: 3
10:50-12:20
(90)
1
API
, (KAIST)
-
[]
, ()
[]
, ()
SCXML Modeling and Simulation
(M&S) based on Stochastic based
State Diagram[]
(), (),
()
[]
, ()
[]
, ()
[]
, , , ,
(),
(), ()
[]
(LG), (KAIST)
* 12:15
GUI
[]
, ()
IoT REST
[]
, ()
IoT
[]
, ()
[]
, ()
- Bunch
, , , ()
-
[]
, ()
[]
, ()
* 12:10
12:20-12:30 : ()
: 2
* .
KCSE 2015 17 1
T-1
KCSE 2015
: 1 28() 13:30~15:00
: 1
: MBTI SW
: (SW)
:
SW , MBTI
. MBTI(Myers-Brigs Type Indicator) C. G. Jung
Katherine Cook Briggs Isabel Briggs Myers
.
, , ,
. MBTI ( vs , vs
, vs , vs ) , , , 16
. SW
MBTI .
:
2010~ SW
2010
2005~2008 USA,
2001~2005 ,
2000~2001 , SW
1999
1995~2000 , SW
1994~1995 , SW
T1: SW
KCSE 2015 17 1
T-2
: 1 28() 13:30~15:00
: 2
:
: (KAIST)
:
. ,
, ,
:
2009~ KAIST
2003~2013 MSE
2001~2009
1993~2001 (KT)
1992 University of Iowa
1982
: , , , 2012.
T2: SW 1
KCSE 2015 17 1
T-3
: 1 28() 13:30~15:00
: 3
:
: ()
:
,
.
,
, . ,
,
.
:
2006~
2003~2006 (Fraunhofer IESE)
2003
: , , .
T3: SW 1
KCSE 2015 17 1
T-4
: 1 28() 15:15~16:45
: 1
:
: ( )
:
,
,
. ,
. ,
, ,
.
, MSR (Mining Software Repository)
(Software Analytics) .
, , , , , ,
. , Stack Overflow Git Hub
.
,
.
Spark
. Spark Hadoop
,
. , /
, /////
.
:
2014~
2011~2014 LG TV
2010
2006~2009 LG
1994~1998 LG
2006
2000
1994
T4: SW
KCSE 2015 17 1
T-5
: 1 28() 15:15~16:45
: 2
: Architecture for Smart Services and Systems
: ()
:
Being Smart in various types of services and systems becomes a mega-trend in our daily life. The
product development for this trend is accelerated by the wide availability of sensors and IoT devices.
That is, it becomes quite feasible to monitor various objects in our environment, store the gathered
contexts in the Big Data scheme, inferring situations and future indicators by applying contexts analytics,
and perform situation-specific services. The net benefit of these activities is the augmented smartness
of our daily activities.
In this lecture, we will explore three topics for smart services and systems; 1) What is smartness in
services and systems, 2) Technology of Sensors and IoT devices, 3) Requirements and Architectural
Solutions for Smart Services and Systems, and 4) a Case Study of Developing a Smart Personal
Healthcare service.
:
Missouri Computer Science , University of Iowa
Computer Science . .
, .
, , , IoT
. 2006 , 400 .
,
T5: SW 2
KCSE 2015 17 1
T-6
: 1 28() 15:15~16:45
: 3
:
: ()
:
.
, ,
.
. ,
, Verification &
Validation .
.
:
2012~
2008~2012
2005~2008 LG DTV
2003~2005 ImageSolutions, Inc.
2003
1997
: , ,
E-mail: [email protected]
T6: SW 2
mailto:[email protected]
(A1)
Exture+
()
Exture+
()
()
(SW)
SW Fault Tolerance
()
(crowd)
(STA )
(ESG)
KCSE 2015 17 1
1
1 (A2)
[]
, , (KAIST)
ISO/IEC 9126
(), (), ()
SW
, ()
[]
(), (LG), (KAIST)
KCSE 2015 17 1
2
* (Quality Based Software Project Staffing and Scheduling with Time Bound)
, ,
291 {dwseo, donghwan, bae}@se.kaist.ac.kr
: , . : , , , 1. [1], . (2 ), (3), (4). 2. , , . , . . [2]. - , , , , . . . 3. [3]
* [10044457, / ] ()[10041313, UX SW ] .
, , . .
1
3.1 [4] , , . . . [ 1] , ( , ) .
2
3.2
, . [ 2] () () .
KCSE 2015 17 1
3
3.3 . 1 , . . . 4. 80 ,
.
1
(#, #)
Duration
(days) Quality Score
Success rate
Quality Score
Set 1 -10 (18, 10) 206.9 0.59(1) 43% 0.73(1.23) Set 11-20 (32, 10) 278.5 0.53(1) 77% 0.64(1.22) Set 21-30 (32, 15) 252.6 0.49(1) 68% 0.64(1.31) Set 31-40 (32, 20) 293.9 0.45(1) 58% 0.64(1.42) Set 41-50 (62, 10) 444.6 0.46(1) 99% 0.58(1.25) Set 51-60 (62, 15) 343.9 0.41(1) 92% 0.51(1.25) Set 61-70 (62, 20) 410.4 0.37(1) 96% 0.49(1.34) Set 71-80 (92, 15) 474.3 0.37(1) 99% 0.48(1.30)
[ 1] Success rate ,
.
, 1-10 Success rate = 43% 100 43
.
43% ~ 99%
Success rate , 23% ~ 40%
. ,
.
41
99% Success rate ,
,
.
5. [5]. [7], . 6.
. , . . . , , DAM(Defect Amplification Model) . [1] R.-G. Ding and X.-H. Jing, Five Principles of Proj-
ect Management in Software Companies, Project Management Technology, vol. 1, 2003.
[2] Bellenguez-Morineau, Odile, and Emmanuel N_eron. A branch-and-bound method for solving multi-skill project scheduling problem., RAIRO-Operations Research, vol.41, no.2, pp. 155-170, 2007
[3] Jihun Park, Dongwon Seo, Gwangui Hong, Donghwan Shin, Jimin Hwa, Doo-Hwan Bae, Practical Human Resource Allocation in Software Projects Using Genetic Algorithm, 26th International Conference on Software Engineering and Knowledge Engineering, pp. 688-694, 2014.
[4] , , , , , , , , : , 40, 7, pp.369-380, 2013 7.
[5] Peixoto, Daniela CC, Geraldo R. Mateus, and Rodolfo F. Resende, The Issues of Solving Staffing and Scheduling Problems in Software Development Projects, Computer Software and Applications Conference, 2014.
[6] Constantinos Stylianou, Andreas S. Andreou, A Multi objective Genetic Algorithm for Software Development Team Staffing Based on Personality Types, Artificial Intelligence Applications and Innovations, Springer Berlin Heidelberg, 2012.
KCSE 2015 17 1
4
ISO/IEC 9126
*, **, *
*
206 [email protected], [email protected]
**
2014 () -
(No. NRF-2014M3C4A7030504).
:
.
,
.
()
,
.
.
ISO/IEC 9126 6 ,
.
.
: , , , ISO/IEC 9126
1.
.
,
.
,
V
.
(verification
and validation) [1] .
.
(task, activity)
[2,3].
. 1 ,
(software artifact)
1
KCSE 2015 17 1
5
.
(code artifact)
, .
(document artifact) ,
.
. 1 , ,
/
.
/:
, ,
/ , ,
.
/:
.
,
.
/:
.
.
,
1 . ,
.
ISO/IEC
9126 [4-7]
, (external
metrics)[5], (internal metrics)[6],
(quality in use metrics)[7] .
,
6
2 .
1
, [8] . ISO/IEC 9126
(requirement
specifications), (design), (review
report), .
,
1
.
.
(software traceability)
(links) //
[9].
,
(traceability links; relations)
(requirement traceability)
[10-12].
,
(vertical)/(horizontal) ,
(forward)/(backward)
. ,
()
(traceability matrix)
(tracking table) [13-15]
.
() .
,
. ,
. , 1 ,
2 ISO/IEC 9126 : -
-( / )
KCSE 2015 17 1
6
.
, ISO/IEC 9126
. ,
,
.
.
,
, ISO/IEC 9126
.
2.
,
.
2.1
, , ,
.
.
2.2
,
(description)
.
RUP(Rational Unified Process)[16], MIL-SD-498[17]
.
25
[18].
.
(SDP; Software Development Plan):
(, , , )
.
(SRS; Software Requirement Specification):
. 3 (a) RUP
[16], (b) [18]
.
(SDD; Software Design Description) (SAD;
Software Architecture Document):
. 3 (c) (d)
RUP[16] [18]
.
(STD; Software Test Description): (
, , ) .
(SPS; Software Product Specification):
3
KCSE 2015 17 1
7
.
, 3
( )
,
.
3.
,
,
.
3.1
1
.
, ,
,
. ,
.
(), () (, ,
, ), (, )
. 1 ,
2.2 (
, , )
.
,
. , ,
[9-15]
(
) .
. 1
, 3
. ISO/IEC 9126
,
.
.
3.2
ISO/IEC 9126
.
(
, )
,
.
. ISO/IEC 9126
, 6
(functionality) .
4 ISO/IEC 9126-3
1 .
, 14
7 7
. 4
. ISO/IEC 9126
(functional) ,
()
(corresponding description)
. 2 7
,
. ,
A ,
B .
1
( )
/
()
()
(,
, , )
(quantitative
attribute)
()
,
, ,
( )
()
KCSE 2015 17 1
8
(format adequacy)
ISO/IEC 9126
.
,
. ,
,
. 1
,
. ,
() ,
() ,
500
. ,
() .
(corresponding description completeness)
.
(B)
(A) ()
. A () B
,
. ,
,
()
. , B(SDD)
A(SRS)
.
.
4 : ISO/IEC 9126 ()
KCSE 2015 17 1
9
(corresponding description coverage)
A , B
.
. , A 5
B 3
,
2 ISO/IEC 9126 ()
ISO/IEC 9126-3 S/W
(
)
( ) #
Functionality
Suitability
Functional
adequacy
,
(function)
(format
adequacy)
Functional
implementation
completeness
,
(corresponding
description
completeness)
S/W
,
Functional
implementation
coverage
,
(corresponding
description
coverage)
S/W
,
(1
)
Functional
specification
stability
,
(corresponding
description
stability)
S/W
,
(1
)
Accuracy Precision
,
(corresponding
description
precision)
,
Security Data corruption
prevention
(corresponding
description
corruption
prevention)
S/W
Functionality
compliance
Functional
compliance
(format
compliance)
(
)
KCSE 2015 17 1
10
/
. .
(corresponding description stability)
,
A B
, ,
, ,
. ,
,
.
(corresponding description precision)
ISO/IEC 9126
, B
, ,
A .
,
,
.
(corresponding description corruption prevention)
.
,
() . , B
A B
. , SRS SDD ,
,
.
(format compliance)
,
.
,
(consistency),
(completeness), (traceability)
.
.
.
4.
,
.
.
.
, ISO/IEC
9126 .
,
ISO/IEC 9126 6
5 14
.
.
ISO/IEC 9126
KCSE 2015 17 1
11
.
,
.
.
[1] IEEE, IEEE Std 1012 - IEEE standard for software verification and validation, IEEE Standards, 2005
[2] ISO/IEC, IEEE, ISO/IEC 12207, IEEE Std 12207 Systems and software engineering software life cycle processes, ISO/IEC, 2008
[3] ISO/IEC, IEEE, ISO/IEC 15288, IEEE Std 15288 - Systems and software engineering system life cycle processes, ISO/IEC, IEEE Standards, 2008
[4] ISO/IEC, ISO/IEC 9126-1 Software engineering-product quality-part 1: quality model, ISO/IEC Technical Report, 2001
[5] ISO/IEC, ISO/IEC 9126-2 Software engineering-product quality-part 2: external metrics, ISO/IEC Technical Report, 2003
[6] ISO/IEC, ISO/IEC 9126-3 Software engineering-product quality-part 3: internal metrics, ISO/IEC Technical Report, 2003
[7] ISO/IEC, ISO/IEC 9126-4 Software engineering-product quality-part 4: quality in use metrics, ISO/IEC Technical Report, 2004
[8] X. Chen, Extraction and visualization of traceability relationships between documents and source code, in Proceedings of the IEEE/ACM International Conference on Automated Software Engineering(ASE10), pp.505-510, 2010
[9] K. Jaber, B. Sharif, C. Liu, A Study on the Effect of Traceability Links in Software Maintenance, IEEE Access, Vol.1, pp.726-741, 2013
[10] V. Leino, Documenting Requirements Traceability Information - A Case Study, Masters Thesis, Helsinki University of Technology, 2001
[11] J.I. Maletic, M.L. Collard, B. Simoes, An XML-based approach to support the evolution of model-to-model traceability links, in Proceedings of the 3rd International Workshop on Traceability in Emerging Forms of Software Engineering(TEFSE05), pp.67-72, 2005
[12] A. Ahmad, M.A. Ghazali, Documenting requirements traceability information for small projects, in Proceedings of IEEE International Multitopic Conference(INMIC07), pp.1-5, 2007
[13] , ,
,
: ,
34, 5, pp.419-430, 2007
[14] , ,
,
, 17 , 5 , pp.115-126, 2012
[15] , ,
,
:
, 2, 7, pp.461-470, 2013 [16] Major Artifacts of the RUP(Rational Unified
Process), http://sce.uhcl.edu/helm/rationalunifiedprocess/
[17] MIL-STD-498 Software development and documentation, Military Standard, 1994
[18] ,
, 2011-26 , 2011
KCSE 2015 17 1
12
SW
,
206 [email protected], [email protected]
:
.
, , , , ,
( , ,
)
.
, .
,
,
.
, ,
.
: , ,
, ,
1. 1 ,
.
[1-3].
1 2014 ()
-
(No. NRF-
2014M3C4A7030504).
,
, ,
,
[4].
.
,
.
,
.
1
,
.
, ()
,
,
KCSE 2015 17 1
13
,
. ,
()
.
()
. ,
( , ,
)
( ,
, , , , ,
) .
,
.
[6~9].
,
.
.
,
,
, .
.
,
. ,
,
.
,
1:1 ,
. ,
.
,
,
.
. 2
, 3
.
4 3
, 5 .
2.
.
[6] 2
.
2 [6]
() ,
() . , [6]
()
()
()
.
,
,
.
KCSE 2015 17 1
14
[7~9]
.
3
.
3. [8] ID
, .
,
.
.
,
.
[10] RUP
ADDMe
.
,
. [10]
.
.
,
,
.
3.
,
.
3.1.
. . 4 .
4. 4
(A ) (B, C ) . , , (B ) , , , (C ) . A
B
.
C
.
.
KCSE 2015 17 1
15
3.2.
.
. 5
.
( ,
.)
5 (SRS)
(SDD)
SDD (SPS)
SRS SPS
, SRS
SPS .
.
,
, , , ,
. ,
.
. 6
. (
,
.)
6
,
.
,
5
6
KCSE 2015 17 1
16
. , .
. , . , 6 .
, . , , . 6 .
3.3.
.
.
7
.
7
. ,
(, , ,
S/W )
.
. 8
.
8
. , 1
2
.
.
,
,
.
1:1
.
(, 1 2
)
.
9
.
KCSE 2015 17 1
17
9
() 1 ().
.
3.2
1
() 3.1
. 1
3.2
3.1
.
.
,
,
.
.
,
. 1 .
.
, , ,
4
,
.
,
,
,
.
1
.
()
.
,
.
.
. , .
.
. , .
.
. , .
KCSE 2015 17 1
18
,
,
. ,
,
.
.
.
4.
.
.
,
.
.
10 .
10
4
4
. ,
.
: 3.3
. 8
.
8 204
152 .
:
.
. 11
.
11 152
328 .
.
:
.
8 ,
.
2
.
2
328 ,
.
KCSE 2015 17 1
19
.
5.
.
.
,
.
.
, ,
.
,
.
[1] Dart, Susan. "Concepts in configuration
management systems." Proceedings of the 3rd international workshop on Software configuration management. ACM, 1991.
[2] Gotel, Orlena CZ, and Anthony CW Finkelstein. "An analysis of the requirements traceability problem." Requirements Engineering, 1994., Proceedings of the First International Conference on. IEEE, 1994.
[3] Aiello, Robert, and Leslie Sachs. Configuration Management Best Practices: Practical Methods that Work in the Real World. Pearson Education, 2010.
[4] IEEE Standard for Configuration Management in Systems and Software Engineering, The Institute of Electrical and Electronics Engineers, 2012
[5] TTA Standard for Software Configuration Management Plans, TTA. IE-828,
, 1999. [6] McMillan, Collin, Denys Poshyvanyk, and
Meghan Revelle. "Combining textual and structural analysis of software artifacts for traceability link recovery." Traceability in Emerging Forms of Software Engineering, 2009.
TEFSE'09. ICSE Workshop on. IEEE, 2009. [7] , et al. " Pain chain
."
38.1A (2011): 206-209. [8] , and . "
." : 34.5 (2007): 419-430.
[9] , , and . "
." D 17.4 (2010): 271-282.
[10] , et al. "
."
34.1B (2007): 28-32.
KCSE 2015 17 1
20
KAIST S/W
28 25
LG
KAIST S/W
28 25
KAIST
KAIST S/W
28 25
: Base
.
,
.
PL(Project Leader)
.
PL ,
,
PL
.
, ,
,
,
.
,
PL
: , ,
1
main sub branch
.
main
sub branch
. A
main
B, C, D
. [ 1]
[ 1]
Side Effect
Software Reliability Curve
.
.
PL
QA
.
2 PL
3
.
KCSE 2015 17 1
21
4
5
. 6
.
2
.
.
(PL QA)
.
A 5
1827
49% .
( 2)
[ 2] A
(2014 3~7 , 1827)
A PL
Side effect
.
(A, B, C), (%),
( ), Code (Text), ,
, . ,
PL
.
31%
( 3)
.
[ 3] A
(2014 3~7 )
PL
.
Side Effect
.
3
(MCDM: Multi-Criteria Decision Making)
PL
,
.
.
.
.
(MODM: Multiple Object
Decision Making)
.
.
(MADM: Multiple Attribute
Decision Making)
.
[ 1] [1]
- -
(935),
51%(892),
49%
,
61%, 7%
,
31%
KCSE 2015 17 1
22
(Scori
ng Method)
-
(GAM)
,
-
-
- ,
-
(MAUT)
-
(
)
-
(Outrankin
g Method)
,
,
-
-
-
-
-
(AHP)
-
-
-
-
- 2
-
,
.
.
. (
)
.
.
. ,
,
.
.
,
.
. [1]
1) : N
.
=1
2) :
. i
.
= + 1
( + 1)=1
3)
=1
(1 )=1
.
4
4.1
PL
. (TV, ,
)
,
.
.
KCSE 2015 17 1
23
.
[ 4]
[ 4]
80%
.
4.2
[ 2]
1/ 1
(1 )=1
1 1 0.375
2 0.5 0.188
3 0.333 0.125
Family 4 0.25 0.094
4 0.25 0.094
6 0.166 0.062
6 0.166 0.062
2.665 1
[ 2] .
4.3
,
, ,
TV
.
1)
[2]
0~10
.
[ 3]
(%)
1
,
,
70.8 0.403 10.0
2 VOD
Youtube,
Netflex,
DLNA
15.5 0.201 5.0
3
8.4 0.134 3.3
4
2.2 0.1 2.5
5 Smart TV
Game App 0.9 0.08 2.0
5 SNS
Facebook,
0.9 0.08 2.0
7 1.3 0.05 1.4
2)
Code
.
code
,
[3].
(%)
,
DSM(Dependency Structure Matrix) tool
.
[ 3]
(%)
0-10 0.48 10
11-20 0.24 5
21-50 0.16 3.3
50 0.12 2.5
3)
QA
.
10 .
= 10
4)
, ,
.
. PL
Family
. Family
, , Branch
0 20 40 60 80 100
Family Branch
Branch
KCSE 2015 17 1
24
Code .
PL
Family Family
Family
.
=
10
5)
QA
.
10 .
[ 4]
A 0.545 10.0
B 0.272 5.0
C 0.181 3.3
6) Code
(, , ) code
(1 + ifs + loops + cases) ,
code
[4]. McCabe [5]
11 code
28%, 38 50% ,
78 98%
.
code metric tool
.
,
.
[ 5]
1-10
: 0.48 10
11-20
: 0.24 5
21-50
: 0.16 3.3
51
: 0.12 2.5
7)
QA
.
.
[ 6]
0.545 10.0
0.272 5.0
0.181 3.3
4.4
.
[ 7] () A B C D
5 10 10 2
5 10 5 10
5 9 2 1
Family
2 10 5 5
10 10 10 5
10 5 10 2.5
(70) 42 64 47 35.5
[ 8] ()
A B C D
0.375 1.875 3.75 3.75 0.75
0.188 0.94 1.88 0.94 1.88
0.125 0.625 1.125 0.25 0.125
Family
0.094 0.188 0.94 0.47 0.47
0.094 0.94 0.94 0.94 0.47
0.062 0.62 0.31 0.62 0.155
0.062 0.31 0.62 0.31 0.62
(10
) 5.498 9.565 7.28 4.47
7
.
.
4 (A, B, C, D)
8 B
4
.
5
KCSE 2015 17 1
25
2
.
5.1
6.536 .
. ( 9)
[ 9] (70) (10)
0.375 10 3.75
0.188 2.5 0.47
0.125 3 1.25
Family
0.094 2 0.188
0.094 5 0.47
0.062 3.3 0.204
0.062 3.3 0.204
42.8 6.536
PL
Text
Code .
5.2
, , ,
.
PL
. ( 10)
[ 10] (70) (10)
0.375 10 3.75
0.188 10 1.88
0.125 1 0.125
Family
0.094 7 0.658
0.094 10 0.94
0.062 10 0.62
0.062 5 0.31
51.3 8.283
PL
.
PL
.
.
6
. 7
, ,
.
,
.
,
.
,
.
. ,
.
7
[1]
, , 2000.
[2] ,
, 2011 12 .
[3] Using Dependency Models to Manage Complex
Software Architecture - Neeraj Sangal, Ev Jordan,
Vineet Sinha, Daniel Jackson, ACM Sigplan
Notices 2005.
[4] Structured Testing: A Testing Methodology
Using the Cyclomatic Complexity Metric, NIST
Special Publication 500-235, Arthur H. Watson,
September 1996.
[5] McCabe (December 1976). "A Complexity
Measure". IEEE Transactions on Software
Engineering: 308-320.
KCSE 2015 17 1
26
(A3)
, (KAIST)
, , (KAIST)
Open API RESTful
, , , ()
Cross-cutting SLA
, , , , , ()
KCSE 2015 17 1
27
,
291 {Hyeonjun.jo, iko}@kaist.ac.kr
: . . , .
: , , , , 1.
(Internet of Things, IoT) , (Computing Task) . , (Service Oriented Architecture, SOA) [1][2].
, , (Service Discovery) . : -
, , [3] -
, [4]
, . , , . , . , .
KCSE 2015 17 1
28
1
(Mobile Ad-hoc Network, MANET) . , . 1 , . , . 1 Source Destination . [5]. - . - . -
. -
, . - (forwarding)
, .
- (Infra-Structure) .
SOA . , , (Overhead) . , . , . SOA [6]. SOA
. (Registry) (Centralized) (Distributed) . (Single point of failure) . , SOA . (Gateway)
KCSE 2015 17 1
29
. , .
, . . , .
(Query) , . .
(Bloom Filter) . (Classifier) . .
.
. 2
3
. 4
, 5
. . 2.
2 [7]
2.1 2
. . , . . . . . , [8].
Cetralized Distributed
Backbone-
basedCluster-based DHT-based
KCSE 2015 17 1
30
[7]. 2.2
. (Backbone) . . . [9][10].
(Clustering) . . . , [11][12]. (Distributed
Hash Table, DHT) . . .
, . . GPS . [13][14]. 2.3
. . . [6].
(Counting Bloom Filter) . , [15].
. ,
KCSE 2015 17 1
31
.
3.
3 . (Physical layer) . , . . . , . .
3
(Logical layer)
, . , , . . , . (Composite
Service Layer) , , , . , .
4. 4.1 4
. , .
, . . , . .
KCSE 2015 17 1
32
4
4.2
5 . , (Hash) . m . 5 x, y 1 , z 0 . . .
.
5
4.3 . , . (Rule) . 1 . (Field) , 1, 2 . (Action) , , , .
1
.
Field1 Field2 ruleMode Action Rule 1 1 2 0 A1
Rule 2 4 5 2 A2
KCSE 2015 17 1
33
. 1 . (ruleMode) , , . . . , . , . 4.4 , . . . .
1 Network Simulator-3: http://www.nsnam.org/
5. 5.1 ns31 . ns3
. C++ , , , .
. . , . ,
. , . ruleMode , , . , .
KCSE 2015 17 1
34
. . , . 1% , 7 . 7 .
. , UDP (User Datagram Protocol) . (Handshaking), , TCP (Transport Control Protocol) UDP UDP .
(Hop) . . .
5.2 10 ,
50 , 0.01 . (Random walk) . 6 10 , 10 , 30 . 5 .
6
. 10 .
KCSE 2015 17 1
35
7
7 10~50
. 50 100% , 50 .
8
. 30% 8 . 30% 5% ~ 10%
. 7 . 6.
, . .
. , .
. , . (Semantic) . Acknowledgement (Dual Use Technology Program) (UM13018RD1).
KCSE 2015 17 1
36
[1]
Albert D.D., Garstka, J.J, Stein, F.P, Network Centric Warfare : Developing and Leveraging Information Superiority, CCRP Publ, 2nd Edition Aug 1999
[2] Zhang, Y., Liu, X., Wang, Z., & Chen, L. A Service-Oriented Method for System-of-Systems Requirements Analysis and Architecture Design. Journal of Software, 7(2), 358365. 2012
[3] Zhu, Fen, Matt W. Mutka, and Lionel M. Ni. "Service discovery in pervasive computing environments." IEEE Pervasive computing 4.4 (2005): 81-90.
[4] Bettstetter, Christian, and Christoph Renner. "A comparison of service discovery protocols and implementation of the service location protocol. "Proceedings of the 6th EUNICE Open European Summer School: Innovative Internet Applications. 2000.
[5] Kozat, Ulas C., and Leandros Tassiulas. "Network layer support for service discovery in mobile ad hoc networks." INFOCOM 2003. Twenty-Second Annual Joint Conference of the IEEE Computer and Communications. IEEE Societies. Vol. 3. IEEE, 2003.
[6] Sailhan, Francoise, and Valerie Issarny. "Scalable service discovery for MANET." Pervasive Computing and Communications, 2005. PerCom 2005. Third IEEE International Conference on. IEEE, 2005.
[7] Ververidis, Christopher N., and George C. Polyzos. "Service discovery for mobile ad hoc networks: a survey of issues and techniques. " Communications Surveys & Tutorials, IEEE 10.3 (2008): 30-45.
[8] Zhang, Wenyu, et al. "A reputation-based peer-to-peer architecture for semantic service discovery in distributed manufacturing environments. " Concurrent Engineering (2012):
[9] U. C. Kozat and L. Tassiulas, Service Discovery in Mobile Ad Hoc Networks: An Overall Perspective on Architectural Choices and Network Layer Support Issues, Ad Hoc Networks, vol. 2, no. 1, 2004, pp. 2344.
[10] F. Sailhan and V. Issarny, Scalable Service Discovery for MANET, Proc. 3rd IEEE Intl. Conf. Pervasive Computing and Commun. (PerCom 2005), Kauai Island, Hawaii, Mar. 812, 2005.
[11] M. Klein, B. Knig-Ries, and P. Obreiter, Service Rings A Semantic Overlay for Service Discovery in Ad Hoc Networks, Proc. 6th Intl. Wksp. Network-Based Information Systems (NBIS 2003) at DEXA 2003, Prague, Sept. 2003.
[12] G. Schiele, C. Becker, and K. Rothermel, Energy-Efficient Cluster-Based Service Discovery for Ubiquitous Computing, Proc. 11th ACM SIGOPS European Wksp., Leuven, Belgium, Sept. 2004.
[13] Sivavakeesar, Siva, Oscar F. Gonzalez, and George Pavlou. "Service discovery strategies in ubiquitous communication environments." Communications Magazine, IEEE 44.9 (2006): 106-113.
[14] Tyan, Jerry, and Qusay H. Mahmoud. "A comprehensive service discovery solution for mobile ad hoc networks." Mobile Networks and Applications 10.4 (2005): 423-434.
[15] Cheng, et al "An efficient service discovery algorithm for counting bloom filter-based service registry." Web Services, 2009. ICWS 2009. IEEE International Conference on. IEEE, 2009.
KCSE 2015 17 1
37
, ,
291 {sonjoosik, kohangyu, iko}@kaist.ac.kr
: , . , . , , . , , . , . : , , 1.
Mark Weiser [1], TV, , (Consumer Electronics) , . (Actuation Capability) 1 http://www.netflix.com/
[2]. ,
/ (Internet of Things, IoT) , (Capability) [2].
[3].
, . / . , Netflix1, Amazon.com2 [4].
. . Amazon.com
2 http://www.amazon.com/
KCSE 2015 17 1
38
Netflix (Rating) .
. , , , .
/ . , Stochastic Gradient Descent(SGD) . . , 2
3 . 4 , 5 . 2.
2.1
, , , (Cold Start)
3 http://www.youtube.com/
. Cai[6] (Object Typicality)
. , , . , .
Yu, Qi[7] , . (Matrix Factorization) , (Latent Feature) (Decision Tree) . . Quality-
of-Service(QoS) . QoS , . QoS , Zheng[8][9] Youtube3 Wikipedia4 WSRec . QoS , WSRec QoS , . , IP QoS .
. , . 2.2 (Context-aware)
, .
4 http://www.wikipedia.org/
KCSE 2015 17 1
39
, 2 (Rating) , , (Context-aware) .
(Context) Palmisano[10] . Pre-filtering, Post-filtering, Contextual Modeling , (2009, 2014) .
Dou[11] . Term Frequency-Inverse Document Frequency(TF-IDF) , . ,
. .
2.3
TaskOS[3]
, . , RFID .
TASKREC[12] . . ,
. , , , .
3. 3.1
(Rating) [13]. . 2 , .
. , 1 5 . , Amazon.com . [8] QoS . , Round-Trip Time(RTT) .
. , . . 5 , . , , ,
, , = ( ) . 5 .
, =1(, 0)0(, 0) (1) , = , (2) , = log , (3) , = log , (4)
, = log , (5)
KCSE 2015 17 1
40
1 5 (1), (2), Log2 (3), Log10 (4), Ln (5) . . , . , Log , . . . 3.2
1
. , , (Similarity) (Threshold)
[13]. (Euclidean Similarity), (Pearson Correlation) , [14]. , , , [13]. Singular Value Decomposition(SVD), Matrix Factorization(MF), SGD . .
SGD . SGD , , MF SVD (Overfit Problem) . , SGD .
, , . , . , . 1 . , , , , .
()
String 100%
Integer(0~24 ) 94.87%
Integer() 94.87%
Boolean(on/off) 97.44%
Integer() 30.77%
Integer() 100%
Double 25.00%
Double 27.56%
KCSE 2015 17 1
41
, , .
, SGD , . , , , , , , . Mean-Absolute-
Error(MAE), Root-Mean-Square-Error(RMSE), Normalized Discounted Cumulative Gain(NDCG), Average Precision , RMSE . 2 , , , RMSE .
RMSE = 1(, ,), ( 6 )
.
4. 4.1 4.1.1
KAIST , ,
, , , , ,
2
(KAIST) IT (N1) 8 CS825 ( 2 ). , , , , , . KAIST , , , , . , . 33
19 . 3 157 , . 1259 , 131 . (Density) 20.89%. 8 , 1 . 4.1.2
.
. . (Rating) QoS . . , .
3.1 . . , (Rating)
KCSE 2015 17 1
42
. 2, 10, (e) .
GraphChi 5 . GraphChi Generalized Stochastic Gradient Descent(GenSGD) 5 RMSE .
(Context-Aware Information) . 5 , RMSE ( 6 ) Log10 , . 3.2 (Dimension) , 3 . 8 , 8 3 . , . 3 5 , 4 , 5 . RMSE 5 , 10 . 13 GenSGD RMSE 4.2 , .
4.2 4.2.1
5
, . 3.1 . 3
RMSE .
(7)
0 1
. 5
5 https://github.com/GraphChi
.
RMSE(normalized) 0.00813553
0.200865111 (Log2) 0.195554888 (Log10) 0.195278669 (Loge) 0.195509674
3 RMSE PredictionMAX = , PredictionMIN =
= (7) 3
RMSE . . 1 1 100 2 3 1 . RMSE .
RMSE 0.0053, 0.0056 . . . . 2
RMSE . , (Log2), (Log10), (Loge Ln) 5 . 2 RMSE .
KCSE 2015 17 1
43
2
4.2.2 4.2.1
. (Baseline) . 5 , .
(1) 3
. , , 3 RMSE RMSE . () , . , . RMSE , . .
3 RMSE (2) 4
. , 2 RMSE RMSE . , . RMSE . 4.2.2.1 .
4 RMSE
KCSE 2015 17 1
44
(3) 5
. , , . , . 4 , RMSE , . , . , .
5 RMSE (4) 6
. , , RMSE 8 ( ) RMSE . , (Log10) . , .
6 RMSE
(5) 7 4
. , RMSE , . RMSE
0.169962161 , RMSE 0.188538578 . , . , .
7 RMSE
KCSE 2015 17 1
45
RMSE 0.1952786695
0.1932457681 0.1926726276 0.1692843141
0.1770938948
0.1957698052
0.1930742341 0.1931605750
0.1938819106 0.1904190914 0.1799608724
0.1934773709
, , 0.1832971773
0.188538578 0.1699621605
4
RMSE 4.3
, . KAIST , . , . ,
. , . . . 5.
.
. , , . , .
. , . KAIST , . , . ,
. , , .
. , , .
Acknowledgement
. [B0101-14-0334, IoT ]
KCSE 2015 17 1
46
[1] Weiser, M., The computer for the 21st century, ACM SIGMOBILE Mobile Computing and Communications Review, Vol. 3, Issue 3, pp. 311, 1991.
[2] Atzori, L., Iera, A., & Morabito, G. The Internet of Things: A survey. Computer Networks, 54(15), 2010.
[3] Vo, C., Torabi, T., and Loke, S. W., Task-Oriented Systems for Interaction with Ubiquitous Computing Environments, In Proceedings of the 7th ICST Conference on Mobile and Ubiquitous Systems (MobiQuitous 2010), December 6-9, Sydney, Australia, pp. 332-339, 2010.
[4] Fleder, D. M., and Hosanagar, K., Recommender systems and their impact on sales diversity, in Proceedings of the 8th ACM conference on Electronic commerce, pp.192-199, 2007.
[5] Kawsar, F. et al. 2009. Design and implementation of a framework for building distributed smart object systems. The Journal of Supercomputing. Vol. 54, Issue 1, pp. 428, 2009.
[6] Cai, Yi, et al. "Object typicality for effective Web of Things recommendations." Decision Support Systems 63: 52-63, 2014.
[7] Yu, Qi. "Decision tree learning from incomplete qos to bootstrap service recommendation." Web Services (ICWS), 2012 IEEE 19th International Conference on. IEEE, 2012.
[8] Zheng, Zibin, et al. "Qos-aware web service recommendation by collaborative filtering." Services Computing, IEEE Transactions on 4.2: 140-152, 2011.
[9] Chen, Xi, Zibin Zheng, and Michael R. Lyu. "QoS-Aware Web Service Recommendation via Collaborative Filtering." Web Services Foundations. Springer New York, 563-588, 2014.
[10] Palmisano, Cosimo, Alexander Tuzhilin, and Michele Gorgoglione. "Using context to improve predictive modeling of customers in personalization applications." Knowledge and Data Engineering, IEEE Transactions on 20.11: 1535-1549, 2008.
[11] Dou, Wanchun, Xuyun Zhang, and Jinjun Chen. "KASR: A Keyword-Aware Service Recommendation Method on MapReduce for Big Data Application." IEEE Transactions on Parallel and Distributed Systems, 2014.
[12] Vo, Chuong Cong, et al. "TASKREC: a task-based user interface for smart spaces."
Proceedings of the 9th International Conference on Advances in Mobile Computing and Multimedia. ACM, 2011.
[13] Adomavicius, Gediminas, and Alexander Tuzhilin, Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions, IEEE Transactions on Knowledge and Data Engineering, Vol. 17, Issue .6, pp.734-749, 2005.
[14] P. Resnick, N. Iakovou, M. Sushak, P. Bergstrom, and J. Riedl, GroupLens: An Open Architecture for Collaborative Filtering of Netnews, Proc. 1994 Computer Supported Cooperative Work Conf., 1994.
KCSE 2015 17 1
47
Open API
RESTful
*, *, *, **
* , ** 30
{ anstn088, mj.deff, kaluas, yeom}@pusan.ac.kr
: Open API . 3.0 Open API . Open API . Open API Open API . . Open API RESTful . . : Open API, , , RESTful 1.
Open API API(Application Programming Interface) . 3.0 . Open API
. Open API REST, SOAP, RSS, ATOM . REST Open API . SOAP 6.9% REST 93.1% [1]. Open API Open API . Open API Input output , . Open API Open API Q&A F&Q . . . RESTful RESTful . . 2 REST . 3 RESTful . , . . 4 .
" IT " (NIPA-2013-(H0301-13-1012))
KCSE 2015 17 1
48
2. 2.1 Open API
Open API SOAP, REST, RSS, ATOM Application Programming Interface. Open API Raw , . Open API , API . .
2.2
, . SOAP(Simple Object Access Protocol) , REST(REpresentational State Transfer) . WSDL(Web Service Description
Language) SOAP , REST . Open API REST .
2.3 REST
REST ROA(Resource
Oriented Architecture) . REST URI HTTP . GET, PUT, POST, DELETE , URI . SOAP Open API SOAP . Open API ProgrammableWeb[2] . 1 Open API . REST . REST Open API .
1 Open API
2.4 2.0, 2 Open API . Open API , Open API . Open API Open API [4,6,7,10]. SOAP(Simple Object Access Protocol) . REST [3]. [4] SOAP (JAVA, C++ ) REST Open API REST . Open API . .
[5] REST Open API . Open API . 3. RESTful
Open API . 2 Open API
KCSE 2015 17 1
49
3 . Open API . ->API . API . . .
3.1 . 3.2 . 3.3 . 3.4 3.2 .
2
3.1 RESTful Open API .
l Service: Service REST Open API
. Id Service id . name , type REST HTTP
GET, POST, PUT, DELETE . URL key .
l Input: Open API response. Input . mandatory Input . Input repeat .
3
l Reference: Open API
xls . Reference Input . Path .
l Output: Output . . Open API Output . repeat output .
l Data: Data Input, Output . type Open API
KCSE 2015 17 1
50
. Name .
l Item: Open API . Item Data .
l NextInput: Output Input . NextInput Input .
3.2
Open API RESTful . 4 -> API XML .
4 -> API
XML
4 . Service id s01 name -> . API URL key . -> API , . Input . 3.1 Input Data Data . Data type . -> API Input Mandatory true . Input -> API .
Output repeat false Output Input Data . 5 Open API .
5
-> API . Input mandatory false . Output Data Item . Output repeat true .
3.3
RESTful . 6 Input .
KCSE 2015 17 1
51
6
. 7 . Input Output Data Input .
7 1
8 . Output Data .
8 2
3.4
3.1 -> API 3.2 . 9 .
9
id serviceId Id . s01 -> API id s02 . Service NextInput Input Service Output Input . Link StartService EndService StartService id EndService id . Input .
10
KCSE 2015 17 1
52
10 . API . 4.
Open API
REST REST Open API RESTful .
RESTful RESTful . .
Output Input . .
[1] , http://www.data.go.kr/ [2] programmableweb, http://www.programma
bleweb.com/ [3] , , REST
, , 11 , 9, pp. 79-92, 2013
[4] , Open API , , pp. 115-126, 2012
[5] , , , , Mash-Up Open API , pp. 954-95, 2012
[6] , , , , , OpenAPI , , 39, 1, pp 71-73, 2012
[7] , Open API Mashup , Journal of The Korea Society of Computer and Information, Vol. 17, No. 5, 2012
[8] X. Liu, Y. Hui, W. Sun and H. Liang, Towards Service Composition Based on Mashup, IEEE International Conference on Services
Computing, pp. 332-339, 2007. [9] X. Zhao, et al, RESTful web service
composition: extracting a process model from linear logic theorem proving, In 7th International Conference on Next Generation Web Services Practices, pp. 398-403, 2011.
[10] Cesare Pautasso, RESTful Web service composition with BPEL for REST, Data & Knowledge Engineering, pp. 851-866, 2009
KCSE 2015 17 1
53
Cross-cutting
SLA
*,
,
*,
**,
**,
**
* ,
,
**
30 {aym41, pjs50, ckstkwldls, kus9010, lodestar692, yeom}@pusan.ac.kr
:
.
(SLA)
.
,
.
,
SLA .
cross-cutting
VSLA(Variable SLA) .
: SLA(Service Level Agreement), ,
,
1.
IT
.
IT
, IT
. ,
()
[1].
, 3
: IaaS (Infrastructure as a Service), PaaS (Platform as
a Service), SaaS (Software as a Service). IaaS
, ,
. PaaS
API . SaaS
.
.
. IaaS, PaaS, SaaS
[1]. ,
[2][3].
.
.
(Service Level Agreement, SLA)
[4][5][6]. SLA
, (penalties)
. , SLA
[7].
SLA ,
SLA SLA
2014 ()
(No. NRF-2013R1A2A2A01068256)
KCSE 2015 17 1
54
.
cross-cutting
,
SLA
VSLA(Variable SLA)
.
2.
2.1 AOP Cross-cutting
AOP
,
. AOP
core concerns ,
.
cross-cutting concerns [8].
.
, ,
cross-cutting
.
2.2 SLA
SLA
. SLA SLA
.
[9] Cloud as a service SLA
(description) . UML
SLA .
[10] SLA
SLA . [10]
, SLA IaaS,
PaaS, SaaS Storage as a Service
.
SLA (Negotiation Strategies)
.
[11] Property diagraph
SLA (formalization) SLA
SLA graph data model
. Diagraph
SLA .
,
.
SLA .
,
.
3. VSLA
cross-cutting
.
QoS
.
VSLA
.
3.1 Cross-cutting
[12]. 1
Core concern IaaS, PaaS, SaaS
.
SLA ,
.
cross-cutting
.
1
(QoS Parameter) .
1. Cross-cutting QoS
KCSE 2015 17 1
55
(QoS Metric)
. 1 IaaS, PaaS,
SaaS
. 13
,
.
.
1
.
IaaS customizability configurability
collaborability . Configurability
VM,
, collaborability IaaS
.
, SaaS customizability
,
.
1.
Para-
meter
Metrics
IaaS PaaS SaaS
Custo-
mizabi-
lity
Configurability
Collaborability
OpenAPI
License
Avail-
ability
Uptime
Maximum tolerable processing time
Pings
Relia-
bility
Fault rate (Error rate)
Coverage of fault tolerance
Mean time between failure (MTBF)
Load balancing
Maximum packet loss rate
Mean time to repair (MTTR)
Perfor-
mance
Response time
Throughput
Booting time
VM processing
time
Data transfer
time
Deployment
latency
Query
response time
Create time
Read time
Delete time
Get time
Put time
Average lag
time
Runtime
API calls per
time unit
Robust
-ness
Exception handling
Resiliency
Scala-
bility
VM scale
Scale up/down
Auto scaling
Number of users
Para-
meter
Metrics
IaaS PaaS SaaS
Virtualization
degree
Server scale Extensibility
Usabi-
lity
Service of help
Learnability
Monitoring agency
Manageability
Average
functional
depth
Multi-terminal
support
Multi-language
support
Stability
Geographic
location Browsers
Inter-
opera-
bility
Portability
Platform
integration Data integration
Capa-
city
Network capacity
Server capacity
Records storage
capability
Rate of requests
per minute
Cache memory
size
Communicati-
on channel
capacity
Storage size
Reco-
very
Backup
Failover
Recovery time
Secu-
rity
Encryption
Authentication
Authorization
Traceability
Non-repudiation
Privacy
Auditability
Repu-
tation
Number of users
Score graded by users
Companys awareness
Effi-
ciency
Utilization of resource
Time behavior
3.2 VSLA
VSLA(Variable SLA) SLA
(machine-readable document). VSLA
,
. 2 cross-cutting
KCSE 2015 17 1
56
VSLA
.
SLA
. VSLA , ,
[13] . VSLA 5
(parts) : Party, Guarantee, Violation,
Governance, Pricing.
.
Party
ContractingParty
SLA ThirdParty
.
Guarantee VSLA ,
SLO(Service Level Objective) [13] .
SLA
(compliance level) .
Guarantee 2.2 cross-cutting
.
, party
. VSLA
,
.
Violation guarantee
. VSLA party
(compensation)
. Credit Penalty
. Credit party
VSLA
. Penalty
SLA
,
.
Governance VSLA
.
Feedback VSLA party
,
Context
.
(source) (target) . ,
Context
. Policy
,
(rule) . Rule (action)
(pre-condition)
2. VSLA
KCSE 2015 17 1
57
(post-condition) .
Pricing party
.
(cost value) ,
.
VSLA
.
VSLA .
4.
3
IaaS, PaaS, SaaS
.
IaaS, PaaS, SaaS
cross-cutting
. 2
IaaS Google Compute Engine [14], PaaS
Google App Engine [15], SaaS
Office 365 [16]
.
Reliability, Capacity
QoS
,
.
Google Compute Engine reliability
load balancing
, Office 365 reliability
load balancing
. Google App Engine
reliability HTTP ,
API . QoS
cross-cutting
.
2.
Parameter IaaS PaaS SaaS
Google Compute Engine Google App Engine Office 365
Customizability Configurability: Cloud SDK
(gcutil)
License:
Availability Uptime: >99.95% (Monthly) Uptime: >99.95% (Monthly) Uptime: >99.9% (Monthly)
Reliability
Load balancing:
(5
- $0.025,
$0.010 )
Fault rate(error rate): App
engine HTTP
, Datastore API ,
Search API
Error
Load balancing:
load balancing
Performance
VM: machine type
standard
1,2,4,8,16
API calls per time unit: Channel API calls (3,000 calls/minute), Mail API calls(32 calls/minute)
Throughput: inbox folder-20,000 items, sent items folder-20,000 items, contacts-5,000
items
Robustness
Exception handling: HTTP
Exception handling: HTTP
Exception handling:
thresholds
Scalability
Auto scaling: cloud
monitoring
Cloud monitoring
metric
Service scale: 70
Number of Users: Snapchat,
Rovio
Number of Users: Office 365
Business: 300 , Office 365
Enterprise:
Usability
Service of help:
google.com/support
Learnability:
Geographic location: ,
,
Service of help: stackoverflow
google.com/support
Learnability:
Service of help: support.office.com
Learnability:
Multi-language support:
(, ,
17 )
KCSE 2015 17 1
58
3. Office 365 SLA XML
99.9 % 1 monthly 5 % 100 %
IaaS, PaaS, SaaS
IaaS
PaaS PaaS SaaS
. cross-cutting
.
SLA 3 XML
. 3 2
Office 365
VSLA
VSLA
.
3 SLA
Office 365 SLA
SLO, ,
. Office 365 3
SLO
(uptime). Office 365
99.9% ,
99%
5% credit 95% 100%
credit .
XML
VSLA
. VSLA
ContractingParty
.
5.
cross-cutting QoS
.
SLA
SLA .
cross-cutting
SLA
VSLA . VSLA
SLA document
model , SLA
. VSLA ,
.
VSLA
,
VSLA
.
[1] J. Na, Qualitative Study on Service Features for
Cloud Computing, Journal of Digital Contents Society, Vol. 12, No. 3, pp. 319-327, Sep. 2011
[2] M. M. Qiu, Y. Zhou and C. Wang, Systematic Analysis of Public Cloud Service Level Agreements and Related Business Values, In Proceedings of International Conference on Services Computing, pp. 729-736, Jun. 2013
[3] C. Wu, Y. Zhu and S. Pan, The SLA Evaluation Model for Cloud Computing, In Proceedings of International Conference on Computer, Networks
KCSE 2015 17 1
59
and Communication Engineering, pp. 331-334, May 2013
[4] E. Badidi, A Cloud Service Broker for SLA-based SaaS Provisioning, In Proceedings of International Conference on Information Society, pp. 61-66, Jun. 2013
[5] S. Venticinque, R. Aversa, B. D. Martino, M. Rak and D. Petcu, A cloud agency for SLA negotiation and management, In Proceedings of Euro-Par Parallel Processing Workshops, pp. 587-594, Jan. 2011
[6] Z. Wang, X. Tang and X. Luo, Policy-Based SLA-Aware Cloud Service Provision Framework, In Proceedings of International Conference on Semantics Knowledge and Grid, pp. 114-121, Oct. 2011
[7] H. He, Z. Ma, H. Chen and W. Shao, Towards an SLA-Driven cache adjustment approach for applications on PaaS, In Proceedings of the Asia-Pacific Symposium on Internetware, pp. 11-20, Oct. 2013
[8] AOP(Aspect Oriented Programming), http://stophyun.tistory.com/34
[9] I. Ayadi, N. Simoni and T. Aubonnet, SLA approach for Cloud as a Service, In Proceedings of International Conference on Cloud Computing, IEEE Computer Society, pp. 966-967, Jun. 2013
[10] M. Alhamad, T. Dillon and E. Chang, Conceptual SLA Framework for Cloud Computing, In Proceedings of International Conference on Digital Ecosystems and Technologies, pp. 606-610, Apr. 2010
[11] K. Stamou, V. Kantere, J. H. Morin and M. Geogiou, A SLA graph model for data services, In Proceeding of International Workshop on Cloud data management, pp. 27-34, Oct. 2013
[12] , , ,
,
, Jun. 2014
[13] S. Hussain, R. Gustavsson, A. Saleem and L. Nordstrom, A SLA conceptual framework for monitoring QoS in smart grid, In Proceedings of IEEE Grenoble on PowerTech, pp. 1-6, Jun. 2013
[14] Google Compute Engine, https://cloud.google.com/compute
[15] Google App Engine, https://cloud.google.com/appengine
[16] Office 365, http://office.microsoft.com/ko-kr/business/FX104051403.aspx
KCSE 2015 17 1
60
(A4)
(GPLv2) (HIS Approach)
, (), , , ()
, , (KAIST)
, , ()
Software Refactoring Impact on Software Quality in Android Application Development []
Mesfin Abebe, ()
KCSE 2015 17 1
61
(GPLv2)
(HIS Approach)
A HIS(History, ISP, Structured based) Refactoring Approach to
Compliance with OSS License
* 1, 5
35 [email protected] [email protected]
2, 3, ** 4,
35 {ryudwig, elisa, jtkim}@swexpertgroup.com
: SW SW
GPLv2
. GPLv2
(Licensee)
.
(Business Logic)
.
, ,
, , ,
3 .
: SW, GPLv2 , ,
,
1.
SW
.
**
2.0(GPLv2, General Public License Version 2)
SW
[1].
(Blackduck Software)
2014 GPLv2
SW SW 25.22%
[2].
SW
(Licensee) SW
SW
.
(BSD, Berkeley Software
Distribution) GPL
, BSD SW
GPL SW, GPLv2
SW [3].
GPLv2 ,
SW GPLv2
,
GPLv2 .
GPLv2 ,
KCSE 2015 17 1
62
.
Approach
(SOLID) [4]
(ISP, Interface Segregation
Principle) 3
. ISP
.
2
.
1)
.
(Bad
smell)
.
2) , 3
.
SW
,
, 3 /
.
2
.
GPLv2
. 3 GPLv2
-
.
,
, . 4
.
SW
SW [5],
SW [6],
SW [7] .
.
2.
.
BSD , GPLv2
, , (SOLID)
.
2.1 BSD
SW BSD
GPL .
BSD BSD ,
MIT , Apache [5].
BSD (Copyleft)
,
.
,
. BSD
4 .
2.2 GPL
GPL [6] GPL2.0, GPL3.0, LGPL2.1,
LGPL3.0, AGPL3.0 .
(Free Software Foundation)
.
BSD
.
GPL, LGPL, AGPL . GPL
5 .
GPL GPLv2
SW 2
(Derivative work)
. , SW
(Business Logic)
. 1
GPLv2 .
KCSE 2015 17 1
63
1 SW
2.3
(Refactoring),
. ,
.
,
.
2.4 (SOLID)
GPLv2
.
C. (Agile
Software Design) SW
(SOLID) . (Single Responsibility
Principle).
.
- (Open-Closed Principle).
(, , )
.
(Liskov Substitution
Principle).
.
(Interface Segregation
Principle).
.
(Dependency Inversion
Principle).
. ,
,
.
ISP
.
3.
SW
. , GPLv2
SW
.
GPLv2 SW
SW
.
GPLv2
(FSF, Free Software Foundation)
(Sockets Communication), (Pipes),
(Command-Line Arguments), exec(), fork()
.[7]
GPLv2 SW
.
SW
. ,
.
2 GPLv2
2 GPLv2
KCSE 2015 17 1
64
, ISP,
HIS .
. GPLv2
GPLv2 SW
.
SW
.
2 ,
SW
- .
,
SW
.
FSF
.
.
,
()
. ,
.
SW
.
.
.
. ,
SW
.
2 GPLv2
SW ,
, GPLv2
.
3 SW GPLv2
W5xxx_Prxxxxx.c, W5xxx.Soxxxxx.c
.
W5xxx_Prxxxxx.c Process_UDPServer
SW W5xxx.Soxxxxx.c
.
GPLv2 W5xxx_Prxxxxx.c
W5xxx_Soxxxxxx.c
.
.
3
SW GPLv2
W5xxx_Prxxxxx.c
W5xxx_Soxxxxxx.c -
. SW W5xxx.Soxxxxx.c
.
SW
.
(Network Adapter) .
SW
.
KCSE 2015 17 1
65
Process_UDPServer GetDestPort
GetDestPort
.
.
SW
(function index) .
.
SW .
SW
GPLv2 .
,
. SW,
,
. HIS
.
.
interface
3 ,
Process_UDPServer
, .
4 .
,
.
4 SW
SW
,
(ISP,
Interface Segregation Principle)
.
.
,
.
(Change-history)
SW
.
. (Paretos Law)
20%
,
80%, 20% .
/.
5
.
.
6
SW
. SW
m1, m3, m4, m5, m6 . m1, m3, m4,
m5, m6 , .
. m1 100, m3, m4, m5, m6
10 m1 m3, m4, m5,
m6 .
.
5
KCSE 2015 17 1
66
6 SW
(Coupling)
(Fat interface)
SW
.
[8]ICP(Information-flow Based Coupling)
.
SW
ICP . ICP
. ICP
positive-outlier
.
.
1 6 SW
f1() f2() f3() f4()
m1() O X X X
m2() X X X X
m3() O X O X
m4() X X O X
m5() X O X X
m6() O X X X
2 6
SW
f1() f2() f3() f4() - -
Par(mi) 6 3 2 1 - -
m1() m2() m3() m4() m5() m6()
Par(fj) 3 2 4 2 1 3
6
SW ICP 2
3 . SW
m2 IPC
6.2, 2.77. (
IPC)+() 9.64 IPC
m3 .
m1, m4, m5, m6
.
3 6 ICP
m1() m2() m3() m4() m5() m6()
ICP(mi) 7 0 10 3 4 7
4.
XX SXX
.
. XX GPLv2 988
SXX 94 .
6
GPLv2 .
XX 2, SXX .
2 XX GPLv2
129 SXX 76
86%, 19% .
7 HIS
, GPLv2 .
7 HIS , GPLv2
XX SXX
. SW
SXXX XXXX 4 HIS
GPLv2
.
0
2000
XX SXX
GPLv2
GPLv2
KCSE 2015 17 1
67
5. &
, SW
. SW
, (GitHub)
. SW
.
6.
[1]
[2]
[3]
[4]
https://www.blackducksoftware.com/news/releases/open-source-mobile-project-growth-continues-gain-momentum https://www.blackducksoftware.com/resource
s/data/top-20-open-source-licenses
Lerner J., Tirole J., The scope of open source
licensing, J. Law Econom. Organ. 2005
Robert C. Martin, Agile Software
Development, Pearson Group, 2013
[5]
[6]
[7]
[8]
[9]
[10]
[11]
S. Schleimer, D.S. Wilkerson, and A. Aiken,
Winnowing: local algorithms for document
fingerprinting, in Proceedings of the 2003 ACM
SIGMOD international conference on
Management of data, ser. SIGMOD 03. New
York, NY, USA: ACM, 2003, pp.76-85
S. Haefliger, G. von Krogh, and S. Spaeth,
Code reuse in open source software, Manage.
Sci., vol. 54, no. 1, pp.180-193, Jan. 2008.
D.M. German and A.E. Hassan, License
integration patterns: Addressing license
mismatches in component-based development,
in Proceedings of the 31st International
Conference on Software Engineering, ser.
ICSE 09. Washington, DC, USA: IEEE Computer
Society, 2009, pp.188-198
OLIS, SW
2.0()
OLIS, SW
2.0() http://www.gnu.org/licenses/gpl-faq.en.html Lionel C. Briand, A Unified Framework for Coupling Measurement in Object-Oriented Systems, IEEE Transaction on Software Engineering, Vol.25, Issue.1, pp.91-121, Jan/Feb 1999
KCSE 2015 17 1
68
5.
4 BSD
BSD Apache
2.0
MIT
O O O
X O O
Attribution O O O
(Reciprocity) X X X
(Larger Work) X X O
X O X
X O X
X O X
, , O O X
O O O
O O O
KCSE 2015 17 1
69
5 GPL
GPL 2.0 GPL 3.0 LGPL AGPL
3.0
O O O O
O O O O
Attribution O O O O
(Reciprocity) Derivative
work
Work
based on
the
pr