-
Notifications
You must be signed in to change notification settings - Fork 1
/
ASE20_Experiment.html
181 lines (157 loc) · 6.44 KB
/
ASE20_Experiment.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-180076082-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-180076082-1');
</script>
<title>Refactoring Lab</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<style>
div.box{
text.align: center;
}
/* Remove the navbar's default margin-bottom and rounded borders */
.navbar {
margin-bottom: 0;
border-radius: 0;
}
.button {
background-color: #555555;;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
border-radius: 8px;
}
/* Add a gray background color and some padding to the footer */
footer {
background-color: #f2f2f2;
padding: 25px;
}
</style>
</head>
<body>
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<li class="active"><a href="ASE20_index.html">Home</a></li>
</ul>
</div>
</div>
</nav>
<div class="jumbotron">
<div class="container text-center">
<h1>On the Documentation of Refactoring Types</h1>
</div>
</div>
<blockquote><h2>Research Questions and Findings</h2></blockquote>
<blockquote><strong>RQ1. How effective is our supervised learning in predicting
the type of refactoring?</strong></blockquote>
<blockquote><p>The accuracy of refactoring prediction is not uniform across all types.
Some types are easier to predict than others. The prediction results for
Rename Method, Extract Method, and Move Method was ranging from
63% to 93% in terms of F-measure. However, our model was not able
to accurately distinguish between Inline Method, Pull-up Method, and
Push-down Method, as its F-measure was between 42% and 45%.</p></blockquote>
<div class="container text-center">
<br>
<div class="container">
<div class="row">
<div class="col-sm-12">
<div class="panel panel-primary">
<div class="panel-heading">
<!--<a href="https://github.com/ops4j/org.ops4j.pax.runner/commit/ffb106d0b79505acb6344dffc10660226b12d69a">Click here to view on GitHub</a>-->
</div>
<div class="panel-body"><img src="./Images/MLPerformance2.PNG" class="img-responsive" style="width:100%" alt="Image"></div>
<div class="panel-footer"></div>
</div>
</div>
</div>
</div>
</div>
<div class="container text-center">
<br>
<div class="container">
<div class="row">
<div class="col-sm-12">
<div class="panel panel-primary">
<div class="panel-heading">
<!--<a href="https://github.com/ops4j/org.ops4j.pax.runner/commit/ffb106d0b79505acb6344dffc10660226b12d69a">Click here to view on GitHub</a>-->
</div>
<div class="panel-body"><img src="./Images/MLPerformance3.PNG" class="img-responsive" style="width:100%" alt="Image"></div>
<div class="panel-footer"></div>
</div>
</div>
</div>
</div>
</div>
<hr>
<blockquote><strong>RQ2. How do our model compare with keyword-based
classification?</strong></blockquote>
<blockquote><p>The keyword-based approach performs significantly lower than ML
models. It assumes that developers are familiar with the catalog of
refactorings, or refactoring types being offered in the IDEs. Our findings
show that developers tend to document refactoring using the same
set of patterns. The keyword-based approach scored relatively better
performance for the Rename Method type because its keyword (i.e., rename)
is intuitive, in contrast with other types, such as Inline Method
and Push-down Method.</p></blockquote>
<div class="container text-center">
<br>
<div class="container">
<div class="row">
<div class="col-sm-12">
<div class="panel panel-primary">
<div class="panel-heading">
<!--<a href="https://github.com/ops4j/org.ops4j.pax.runner/commit/ffb106d0b79505acb6344dffc10660226b12d69a">Click here to view on GitHub</a>-->
</div>
<div class="panel-body"><img src="./Images/MLPerformanceComparision3.PNG" class="img-responsive" style="width:100%" alt="Image"></div>
<div class="panel-footer"></div>
</div>
</div>
</div>
</div>
</div><hr>
<blockquote><strong>RQ3. What are the frequent terms utilized by developers when documenting refactoring types?</strong></blockquote>
<blockquote><p>Developers discriminate against different refactoring types through human language descriptions. The terminology used in rename refactorings are the most discriminative, indicating that these terms are strongly associated with the action of renaming.</p></blockquote>
<div class="container text-center">
<br>
</div><hr>
<blockquote><strong>RQ4. How useful is our approach in alerting the inconsistency types between source code and documentation?</strong></blockquote>
<blockquote><p>Our model can work in conjunction with refactoring detectors in order to report any early inconsistency between refactoring types and their documentation..</p></blockquote>
<div class="container text-center">
<br>
</div><hr>
<div style="text-align: center" >
</div>
</div>
</div><br>
<footer class="container-fluid text-center">
</footer>
<!-- Google Analytics -->
<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','../../www.google-analytics.com/analytics.js','ga');ga('create','UA-180076082-1','auto');ga('send','pageview');</script>
</body>
</html>