SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Software Maintenance Support by
Extracting Links and Models
Hiro - Hironori Washizaki
Waseda University
Twitter: @Hiro_Washi washizaki@waseda.jp
http://www.washi.cs.waseda.ac.jp/
Thanks to: Ryosuke, Kazuki, Yuta and other collaborators!
Latece Seminar, Nov 11, 2015 @ UQAM, Montreal
• Assoc. Prof., Head, Global
Software Engineering
Laboratory, Waseda University
• Visiting Assoc. Prof., National
Institute of Informatics
• Visiting Prof., Ecole
Polytechnique de Montreal
• Convenor, ISO/IEC SC7/WG20
• Chair, IEEE CS Japan Chapter
• Chair, SEMAT Japan Chapter 2
Hironori Washizaki
Waseda University
Global Software Engineering Lab.
• SE research in global
development era
– Analysis and reuse
– Quality assurance
– Agile and patterns
– SE education
• 5 professors
• 15+ partners
• 25 students (5 from
China, Indonesia,
Afganistan) 3
Software maintenance matters!
60–90% of total costs
4
B. Lientz and E. Swanson, Software Maintenance Management. Reading, Ma.: Addison-Wesley, 1980.
J. Conejero, E. Figueiredo, A. Garcia, J. Hernández and E. Jurado, "On the Relationship of Concern
Metrics and Requirements Maintainability,” Information and Software Technology, vol.54, no.2, 2012.
How can we support?
5
Requirements
Design
Program
source
code
How can we support?
6
Requirements
Design
Program
source
code
Tracing
artifacts
Tracing
artifacts
Log-based interactive recovery [CAiSE’15]
Transitive recovery [ICSME’15 ERA]
Ryosuke Tsuchiya, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Oshima, and Ryota Mibe,“Interactive Recovery of Requirements
Traceability Links Using User Feedback and Configuration Management Logs,” 27th International Conference on Advanced
Information Systems Engineering (CAiSE 2015)
Kazuki Nishikawa, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Ohshima, Ryota Mibe, “Recovering Transitive Traceability Links
among Software Artifacts,” 31st IEEE International Conference on Software Maintenance and Evolution (ICSME 2015), ERA Track
Traceability links?
• Relationships among software artifacts
• Key to ensure consistency among artifacts [Antoniol‘00]
7G. Antoniol, B. Caprile, A. Potrich and P. Tonella, "Design-Code Traceability for Object-Oriented Systems," Annals of
Software Engineering, vol. 9, no. 1-4, pp. 35-58, 2000
Requirement
Source code
Run
automated
test
Run basic
test
Add
tests
Automate.c X
Basic.c X
TestDB.c X
TestRun.c X X
Facts of traceability links
• Rarely established explicitly [Lucia’12]
• Most of existing recovery techniques employing
Information Retrieval (IR) approaches such as TF/IDF
and Vector Space Model (VSM)
8
A. De Lucia, et al., "Information Retrieval Methods for Automated Traceability Recovery," in Software and Systems
Traceability, 1st ed., J. Cleland-Huang, O. Gotel and A. Zisman, Ed. New York: Springer, p. 71-98, 2012.
Automated test
Automated.c
MyMem.c
Initialization
Requirement
基本テスト
Basic.c
NGOK
Interactive recovery utilizing call relationships
Rank Requirement Code file Score Recommended Correct
1 Recover link
2 Recover link
3 Recover link
・・・ ・・・
9
Recover link
・・・
LinkPresenter.java
・・・
LinkRecover.java
ScoreCalc.java
・・・
Call
Ryosuke Tsuchiya, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Oshima, and Ryota Mibe,“Interactive Recovery of Requirements
Traceability Links Using User Feedback and Configuration Management Logs,” 27th International Conference on Advanced
Information Systems Engineering (CAiSE 2015)
Interactive recovery utilizing call relationships
Rank Requirement Code file Score Recommended Correct
1 Recover link LinkRecover.java 0.98 not yet
2 Recover link LinkPresenter.java 0.65 not yet
3 Recover link ScoreCalc.java 0.30 not yet
・・・ ・・・ ・・・ ・・・
10
Recover link
・・・
LinkPresenter.java
・・・
LinkRecover.java
ScoreCalc.java
・・・
☑
Call
☑
Ryosuke Tsuchiya, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Oshima, and Ryota Mibe,“Interactive Recovery of Requirements
Traceability Links Using User Feedback and Configuration Management Logs,” 27th International Conference on Advanced
Information Systems Engineering (CAiSE 2015)
Interactive recovery utilizing call relationships
Rank Requirement Code file Score Recommended Correct
1 Recover link LinkRecover.java 0.98 not yet
2 Recover link ScoreCalc.java 0.30 Recommended
3 Recover link LinkPresenter.java 0.65 not yet
・・・ ・・・ ・・・ ・・・
11
Recover link
・・・
LinkPresenter.java
・・・
LinkRecover.java
ScoreCalc.java
・・・
☑
Call
☑
Ryosuke Tsuchiya, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Oshima, and Ryota Mibe,“Interactive Recovery of Requirements
Traceability Links Using User Feedback and Configuration Management Logs,” 27th International Conference on Advanced
Information Systems Engineering (CAiSE 2015)
Automated test
Log-based recovery
12
Automated test
automate・・
・・XML・・・
・test・・・・・・
Requirement
automate
XML
test
automate
XML
Keywords
High
TF-IDF value
Proper noun
Filtered
by experts
automate
XML
Revision: 137
Author: anilsaharan
Date: 2011/8/20 9:35:13
Message:
Changes for fixing XML tag issue
----
Modified : /trunk/CUnit/Sources/Tool/Process.c
Process.c
・・・
Ryosuke Tsuchiya, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Oshima, and Ryota Mibe,“Interactive Recovery of Requirements
Traceability Links Using User Feedback and Configuration Management Logs,” 27th International Conference on Advanced
Information Systems Engineering (CAiSE 2015)
Experiment: Japanese enterprise system
• 80,000 LOC, 192 requirements, 694 Java code files,
7090 revisions in Subversion
• 726 known links as correct answer
13
Ryosuke Tsuchiya, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Oshima, and Ryota Mibe,“Interactive Recovery of Requirements
Traceability Links Using User Feedback and Configuration Management Logs,” 27th International Conference on Advanced
Information Systems Engineering (CAiSE 2015)
Transitive recovery
14
Code Design Test Score
C1 Da Tx 0.16
C1 Da Ty 0.14
C1 Db Tx 0.03
• Vector Space Model (VSM) for basic recovery
Source code Design Test case
Code Design Similarity
C1 Da 0.4
C2 Db 0.3
Design Test Similarity
Da Tx 0.40
Da Ty 0.35
Db Tx 0.10
Kazuki Nishikawa, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Ohshima, Ryota Mibe, “Recovering Transitive Traceability Links
among Software Artifacts,” 31st IEEE International Conference on Software Maintenance and Evolution (ICSME 2015), ERA Track
Experiment: EasyClinic
• Target link: 47 Java code ⇔ 63 test docs
• Supportive artifacts: 20 design docs or 30 use cases
• Effectiveness varies with supportive artifacts
15Kazuki Nishikawa, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Ohshima, Ryota Mibe, “Recovering Transitive Traceability Links
among Software Artifacts,” 31st IEEE International Conference on Software Maintenance and Evolution (ICSME 2015), ERA Track
How can we support?
16
Requirements
Design
Program
source
code
Yuta Maezawa, Kazuki Nishiura, Hironori Washizaki, Shinichi Honiden, “Validating Ajax Applications Using a Delay-Based Mutation
Technique,” 29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014)
Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction
Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
How can we support?
17
Requirements
Design
Program
source
code
Reversing
model
Detecting
problems
Detecting
problems
Ajax model extraction and verification
[ASE’13][ASE’14]
Yuta Maezawa, Kazuki Nishiura, Hironori Washizaki, Shinichi Honiden, “Validating Ajax Applications Using a Delay-Based Mutation
Technique,” 29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014)
Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction
Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
18
window.onload = setEventHandler;
function setEventHandler() {
$(“reg_type”).onchange = calcPrice;
・・・
$(“reg_addcart”).onclick = addCart;
};
function calcPrice() { ・・・ };
function addCart() {
if(isValidInput()) {
reqRunTrans();
} else {
alert(“Invalid user inputs”);
}
};
function reqRunTrans() {
new Ajax.Request(“runTrans.php”, {
method: “GET”, parameters: getParams(),
onSuccess: succeeded });
};
function succeeded() { disableAll();
jumpToConfirm();
};Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction
Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
19
Extracted finite state machine
Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction
Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
• #70 programming and usability patterns
• Potential faults: might not be revealed by testing
Ajax (Asynchronous JavaScript + XML)
Design Patterns [Mahamoff’06]
20
[Mahamoff’06] M. Mahamoff, “Ajax Design Patterns”, O’Reilly Media Inc., 2006.
E.g. User Action
“Prevent multiple
calls of specific user
event handler”
Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction
Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
Duplicate
order
21
Verifying invariants of specified pattern
Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction
Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
22
window.onload = setEventHandler;
function setEventHandler() {
$(“reg_type”).onchange = calcPrice;
・・・
$(“reg_addcart”).onclick = addCart;
};
function calcPrice() { ・・・ };
function addCart() {
if(isValidInput()) {
$(“addCart”).disabled = true;
reqRunTrans();
} else {
alert(“Invalid user inputs”);
$(“addCart”).disabled = false;
}
};
function reqRunTrans() {
new Ajax.Request(“runTrans.php”, {
method: “GET”, parameters: getParams(),
onSuccess: succeeded }); };
function succeeded() { disableAll();
jumpToConfirm(); };Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction
Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
• Developers are concerned with interactions[Duhl’03]
• Interaction = event + callback
• Rules are necessary for distinguishing interaction-
related code fragments
Interaction-based state machine extraction
23
………………………………
………………………………
………………………………
………………………………
…………………………….…
………………………………
……………………………
function addCart() {…
………………………………
……………………..……
………………………………………
………………………………………
$(“addcart”).disabled=true;
………………………………………
………………………………………
……………………………………
…………
…………
…………
………………………………
………………………..……
………………………………
………………………………
………………………………
………………………………
………………………………
………………………………
………………………………
………………………………
…………………………
……………………………………………
……………………………………………
function setEventHandler() {
$(“addcart”).onclick=addCart;
……………………………………………
……………………………………………
……………………………………………
……………………………………………
……………………………………………
onclick
setEventHandler
ev
addCart
…disabled…
[c]
[!c]
[Duhl’03] J.Duhl, “White Paper: Rich Internet Applications”, IDC Technical Report’ 03.
Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction
Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
Verification on Promela with LTL
24
Self interaction
User Server
active proctype
App () {…}
App model
active proctype
Interaction () {…}
Interaction model Faulty execution paths
Verification formulas (LTL)
Pattern Negative property
User Action <>(App_state == PreventFunc
&& App_event == UserEvent )
Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction
Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
• Problem: Potential faults might not cause actual errors
• Assumption: Unexpected network latency make
potential faults executable.
• Solution: Delay-based mutation and testing
Delay-based mutation
25
<button onclick=“handleClick()” />
・・・
<script src=“handleClick.js” />
new DelayedRequest(3000).applyFunction(
$.get ,
“myscript.php”,
{ name: “ABC” }, function(data) {
alert(“Response is ” + data); }
);
Synchronous delay Asynchronous delay
Original code
S1
S2
S3
Late
response
reveals!
Assumes
immediate
response
Yuta Maezawa, Kazuki Nishiura, Hironori Washizaki, Shinichi Honiden, “Validating Ajax Applications Using a Delay-Based Mutation
Technique,” 29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014)
Case Study: industrial services
26
Subject
JS
[LOC]
#States #Trans.
#Invariants
verified
#Potential
faults
#Delay-
Dependent
faults
2020
Marketing
2,468 15 547 4 1 1
ECD China 880 32 508 3 2 1
Easy
Serviced
Apartments
3,523 34 602 3 1 1
Undefined
function call
Login failed
with correct
username and
password
Yuta Maezawa, Kazuki Nishiura, Hironori Washizaki, Shinichi Honiden, “Validating Ajax Applications Using a Delay-Based Mutation
Technique,” 29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014)
Summary
27
Reversing
model
Tracing
artifacts
Detecting
problems
Detecting
problems
Tracing
artifacts
Log-based interactive recovery [CAiSE’15]
Transitive recovery [ICSME’15 ERA]
Ajax model extraction and verification [ASE’13]
Ajax delay-based mutation [ASE’14]
28
Feb 24-26 (due Dec 4)
asianplop.org
Mar 15 (due Dec)(TBD)
ppap.soccerlab.polymtl.ca
Mar 11 (due Jan 8)
samuraicoding.info
Mar 13-18 (due Sep 2016)
aster.or.jp/conference/icst2017/
10th IEEE International Conference on
Software Testing, Verification and Validation
IPSJ International AI Programming Contest

Más contenido relacionado

Destacado

Software Maintenance Support by Extracting Links and Models (revised)
Software Maintenance Support by Extracting Links and Models (revised)Software Maintenance Support by Extracting Links and Models (revised)
Software Maintenance Support by Extracting Links and Models (revised)Hironori Washizaki
 
ICST2015勉強会 ICST2017に向けて
ICST2015勉強会 ICST2017に向けてICST2015勉強会 ICST2017に向けて
ICST2015勉強会 ICST2017に向けてHironori Washizaki
 
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日Hironori Washizaki
 
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...Hironori Washizaki
 
A Taxonomy for Program Metamodels in Program Reverse Engineering
A Taxonomy for Program Metamodels in Program Reverse EngineeringA Taxonomy for Program Metamodels in Program Reverse Engineering
A Taxonomy for Program Metamodels in Program Reverse EngineeringHironori Washizaki
 
アジャイル品質セミナー・アジャイル開発イテレーション・学習
アジャイル品質セミナー・アジャイル開発イテレーション・学習アジャイル品質セミナー・アジャイル開発イテレーション・学習
アジャイル品質セミナー・アジャイル開発イテレーション・学習Hironori Washizaki
 
Pattern mining-scrum gatheringtokyo20130115
Pattern mining-scrum gatheringtokyo20130115Pattern mining-scrum gatheringtokyo20130115
Pattern mining-scrum gatheringtokyo20130115Hironori Washizaki
 
SQiP2015-研究のデザイン入門
SQiP2015-研究のデザイン入門SQiP2015-研究のデザイン入門
SQiP2015-研究のデザイン入門Hironori Washizaki
 
ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質
ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質
ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質Hironori Washizaki
 
XP祭り2015 - 国際会議Agile2015参加報告(鷲崎)
XP祭り2015 - 国際会議Agile2015参加報告(鷲崎)XP祭り2015 - 国際会議Agile2015参加報告(鷲崎)
XP祭り2015 - 国際会議Agile2015参加報告(鷲崎)Hironori Washizaki
 
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Hironori Washizaki
 
正統なソフトウェア品質エンジニアであるためにSQiP研究会に入るべき7つの理由
正統なソフトウェア品質エンジニアであるためにSQiP研究会に入るべき7つの理由正統なソフトウェア品質エンジニアであるためにSQiP研究会に入るべき7つの理由
正統なソフトウェア品質エンジニアであるためにSQiP研究会に入るべき7つの理由Hironori Washizaki
 

Destacado (14)

品質管理について
品質管理について品質管理について
品質管理について
 
Software Maintenance Support by Extracting Links and Models (revised)
Software Maintenance Support by Extracting Links and Models (revised)Software Maintenance Support by Extracting Links and Models (revised)
Software Maintenance Support by Extracting Links and Models (revised)
 
Sematj 1st-study meeting
Sematj 1st-study meetingSematj 1st-study meeting
Sematj 1st-study meeting
 
ICST2015勉強会 ICST2017に向けて
ICST2015勉強会 ICST2017に向けてICST2015勉強会 ICST2017に向けて
ICST2015勉強会 ICST2017に向けて
 
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
 
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
 
A Taxonomy for Program Metamodels in Program Reverse Engineering
A Taxonomy for Program Metamodels in Program Reverse EngineeringA Taxonomy for Program Metamodels in Program Reverse Engineering
A Taxonomy for Program Metamodels in Program Reverse Engineering
 
アジャイル品質セミナー・アジャイル開発イテレーション・学習
アジャイル品質セミナー・アジャイル開発イテレーション・学習アジャイル品質セミナー・アジャイル開発イテレーション・学習
アジャイル品質セミナー・アジャイル開発イテレーション・学習
 
Pattern mining-scrum gatheringtokyo20130115
Pattern mining-scrum gatheringtokyo20130115Pattern mining-scrum gatheringtokyo20130115
Pattern mining-scrum gatheringtokyo20130115
 
SQiP2015-研究のデザイン入門
SQiP2015-研究のデザイン入門SQiP2015-研究のデザイン入門
SQiP2015-研究のデザイン入門
 
ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質
ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質
ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質
 
XP祭り2015 - 国際会議Agile2015参加報告(鷲崎)
XP祭り2015 - 国際会議Agile2015参加報告(鷲崎)XP祭り2015 - 国際会議Agile2015参加報告(鷲崎)
XP祭り2015 - 国際会議Agile2015参加報告(鷲崎)
 
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
 
正統なソフトウェア品質エンジニアであるためにSQiP研究会に入るべき7つの理由
正統なソフトウェア品質エンジニアであるためにSQiP研究会に入るべき7つの理由正統なソフトウェア品質エンジニアであるためにSQiP研究会に入るべき7つの理由
正統なソフトウェア品質エンジニアであるためにSQiP研究会に入るべき7つの理由
 

Similar a Software Maintenance Support by Extracting Links and Models

Waseda Super Global University Program and Collaboration in Software Patterns
Waseda Super Global University Program and Collaboration in Software PatternsWaseda Super Global University Program and Collaboration in Software Patterns
Waseda Super Global University Program and Collaboration in Software PatternsHironori Washizaki
 
Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Tao Xie
 
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...Tao Xie
 
IRJET- Review on Intelligent System for College
IRJET- Review on Intelligent System for CollegeIRJET- Review on Intelligent System for College
IRJET- Review on Intelligent System for CollegeIRJET Journal
 
IRJET- Review on Intelligent System for College
IRJET- Review on Intelligent System for CollegeIRJET- Review on Intelligent System for College
IRJET- Review on Intelligent System for CollegeIRJET Journal
 
Summarization Techniques for Code, Change, Testing and User Feedback
Summarization Techniques for Code, Change, Testing and User FeedbackSummarization Techniques for Code, Change, Testing and User Feedback
Summarization Techniques for Code, Change, Testing and User FeedbackSebastiano Panichella
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringTao Xie
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideHironori Washizaki
 
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.pptProto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.pptAnirbanBhar3
 
Software Analytics: Towards Software Mining that Matters (2014)
Software Analytics:Towards Software Mining that Matters (2014)Software Analytics:Towards Software Mining that Matters (2014)
Software Analytics: Towards Software Mining that Matters (2014)Tao Xie
 
Arabidopsis Information Portal: A Community-Extensible Platform for Open Data
Arabidopsis Information Portal: A Community-Extensible Platform for Open DataArabidopsis Information Portal: A Community-Extensible Platform for Open Data
Arabidopsis Information Portal: A Community-Extensible Platform for Open DataMatthew Vaughn
 
research Paper face recognition attendance system
research Paper face recognition attendance systemresearch Paper face recognition attendance system
research Paper face recognition attendance systemAnkitRao82
 
Security Patterns: Research Direction, Metamodel, Application and Verification
Security Patterns: Research Direction, Metamodel, Application and VerificationSecurity Patterns: Research Direction, Metamodel, Application and Verification
Security Patterns: Research Direction, Metamodel, Application and VerificationHironori Washizaki
 
React based fullstack edtech web application
React based fullstack edtech web applicationReact based fullstack edtech web application
React based fullstack edtech web applicationIRJET Journal
 
Software Mining and Software Datasets
Software Mining and Software DatasetsSoftware Mining and Software Datasets
Software Mining and Software DatasetsTao Xie
 
QuTrack: Model Life Cycle Management for AI and ML models using a Blockchain ...
QuTrack: Model Life Cycle Management for AI and ML models using a Blockchain ...QuTrack: Model Life Cycle Management for AI and ML models using a Blockchain ...
QuTrack: Model Life Cycle Management for AI and ML models using a Blockchain ...QuantUniversity
 

Similar a Software Maintenance Support by Extracting Links and Models (20)

Waseda Super Global University Program and Collaboration in Software Patterns
Waseda Super Global University Program and Collaboration in Software PatternsWaseda Super Global University Program and Collaboration in Software Patterns
Waseda Super Global University Program and Collaboration in Software Patterns
 
Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...
 
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
 
IRJET- Review on Intelligent System for College
IRJET- Review on Intelligent System for CollegeIRJET- Review on Intelligent System for College
IRJET- Review on Intelligent System for College
 
IRJET- Review on Intelligent System for College
IRJET- Review on Intelligent System for CollegeIRJET- Review on Intelligent System for College
IRJET- Review on Intelligent System for College
 
Summarization Techniques for Code, Change, Testing and User Feedback
Summarization Techniques for Code, Change, Testing and User FeedbackSummarization Techniques for Code, Change, Testing and User Feedback
Summarization Techniques for Code, Change, Testing and User Feedback
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software Engineering
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
 
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.pptProto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
 
Software Analytics: Towards Software Mining that Matters (2014)
Software Analytics:Towards Software Mining that Matters (2014)Software Analytics:Towards Software Mining that Matters (2014)
Software Analytics: Towards Software Mining that Matters (2014)
 
Arabidopsis Information Portal: A Community-Extensible Platform for Open Data
Arabidopsis Information Portal: A Community-Extensible Platform for Open DataArabidopsis Information Portal: A Community-Extensible Platform for Open Data
Arabidopsis Information Portal: A Community-Extensible Platform for Open Data
 
research Paper face recognition attendance system
research Paper face recognition attendance systemresearch Paper face recognition attendance system
research Paper face recognition attendance system
 
Focap
FocapFocap
Focap
 
Se research update
Se research updateSe research update
Se research update
 
akash_cv
akash_cvakash_cv
akash_cv
 
Security Patterns: Research Direction, Metamodel, Application and Verification
Security Patterns: Research Direction, Metamodel, Application and VerificationSecurity Patterns: Research Direction, Metamodel, Application and Verification
Security Patterns: Research Direction, Metamodel, Application and Verification
 
React based fullstack edtech web application
React based fullstack edtech web applicationReact based fullstack edtech web application
React based fullstack edtech web application
 
Software Mining and Software Datasets
Software Mining and Software DatasetsSoftware Mining and Software Datasets
Software Mining and Software Datasets
 
QuTrack: Model Life Cycle Management for AI and ML models using a Blockchain ...
QuTrack: Model Life Cycle Management for AI and ML models using a Blockchain ...QuTrack: Model Life Cycle Management for AI and ML models using a Blockchain ...
QuTrack: Model Life Cycle Management for AI and ML models using a Blockchain ...
 

Más de Hironori Washizaki

IEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateIEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateHironori Washizaki
 
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会Hironori Washizaki
 
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用Hironori Washizaki
 
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225Hironori Washizaki
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureHironori Washizaki
 
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデートHironori Washizaki
 
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...Hironori Washizaki
 
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向Hironori Washizaki
 
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~Hironori Washizaki
 
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集Hironori Washizaki
 
スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介Hironori Washizaki
 
DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方Hironori Washizaki
 
対応性のある運用のパターン
対応性のある運用のパターン対応性のある運用のパターン
対応性のある運用のパターンHironori Washizaki
 
モデル訓練のパターン
モデル訓練のパターンモデル訓練のパターン
モデル訓練のパターンHironori Washizaki
 
パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度Hironori Washizaki
 
データ表現のパターン
データ表現のパターンデータ表現のパターン
データ表現のパターンHironori Washizaki
 
機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクルHironori Washizaki
 
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)Hironori Washizaki
 
Software Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning ApplicationsSoftware Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning ApplicationsHironori Washizaki
 
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組みHironori Washizaki
 

Más de Hironori Washizaki (20)

IEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateIEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions Update
 
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
 
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
 
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about Architecture
 
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
 
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
 
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
 
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
 
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
 
スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介
 
DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方
 
対応性のある運用のパターン
対応性のある運用のパターン対応性のある運用のパターン
対応性のある運用のパターン
 
モデル訓練のパターン
モデル訓練のパターンモデル訓練のパターン
モデル訓練のパターン
 
パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度
 
データ表現のパターン
データ表現のパターンデータ表現のパターン
データ表現のパターン
 
機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル
 
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
 
Software Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning ApplicationsSoftware Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning Applications
 
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
 

Último

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 

Último (20)

Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 

Software Maintenance Support by Extracting Links and Models

  • 1. Software Maintenance Support by Extracting Links and Models Hiro - Hironori Washizaki Waseda University Twitter: @Hiro_Washi washizaki@waseda.jp http://www.washi.cs.waseda.ac.jp/ Thanks to: Ryosuke, Kazuki, Yuta and other collaborators! Latece Seminar, Nov 11, 2015 @ UQAM, Montreal
  • 2. • Assoc. Prof., Head, Global Software Engineering Laboratory, Waseda University • Visiting Assoc. Prof., National Institute of Informatics • Visiting Prof., Ecole Polytechnique de Montreal • Convenor, ISO/IEC SC7/WG20 • Chair, IEEE CS Japan Chapter • Chair, SEMAT Japan Chapter 2 Hironori Washizaki
  • 3. Waseda University Global Software Engineering Lab. • SE research in global development era – Analysis and reuse – Quality assurance – Agile and patterns – SE education • 5 professors • 15+ partners • 25 students (5 from China, Indonesia, Afganistan) 3
  • 4. Software maintenance matters! 60–90% of total costs 4 B. Lientz and E. Swanson, Software Maintenance Management. Reading, Ma.: Addison-Wesley, 1980. J. Conejero, E. Figueiredo, A. Garcia, J. Hernández and E. Jurado, "On the Relationship of Concern Metrics and Requirements Maintainability,” Information and Software Technology, vol.54, no.2, 2012.
  • 5. How can we support? 5 Requirements Design Program source code
  • 6. How can we support? 6 Requirements Design Program source code Tracing artifacts Tracing artifacts Log-based interactive recovery [CAiSE’15] Transitive recovery [ICSME’15 ERA] Ryosuke Tsuchiya, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Oshima, and Ryota Mibe,“Interactive Recovery of Requirements Traceability Links Using User Feedback and Configuration Management Logs,” 27th International Conference on Advanced Information Systems Engineering (CAiSE 2015) Kazuki Nishikawa, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Ohshima, Ryota Mibe, “Recovering Transitive Traceability Links among Software Artifacts,” 31st IEEE International Conference on Software Maintenance and Evolution (ICSME 2015), ERA Track
  • 7. Traceability links? • Relationships among software artifacts • Key to ensure consistency among artifacts [Antoniol‘00] 7G. Antoniol, B. Caprile, A. Potrich and P. Tonella, "Design-Code Traceability for Object-Oriented Systems," Annals of Software Engineering, vol. 9, no. 1-4, pp. 35-58, 2000 Requirement Source code Run automated test Run basic test Add tests Automate.c X Basic.c X TestDB.c X TestRun.c X X
  • 8. Facts of traceability links • Rarely established explicitly [Lucia’12] • Most of existing recovery techniques employing Information Retrieval (IR) approaches such as TF/IDF and Vector Space Model (VSM) 8 A. De Lucia, et al., "Information Retrieval Methods for Automated Traceability Recovery," in Software and Systems Traceability, 1st ed., J. Cleland-Huang, O. Gotel and A. Zisman, Ed. New York: Springer, p. 71-98, 2012. Automated test Automated.c MyMem.c Initialization Requirement 基本テスト Basic.c NGOK
  • 9. Interactive recovery utilizing call relationships Rank Requirement Code file Score Recommended Correct 1 Recover link 2 Recover link 3 Recover link ・・・ ・・・ 9 Recover link ・・・ LinkPresenter.java ・・・ LinkRecover.java ScoreCalc.java ・・・ Call Ryosuke Tsuchiya, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Oshima, and Ryota Mibe,“Interactive Recovery of Requirements Traceability Links Using User Feedback and Configuration Management Logs,” 27th International Conference on Advanced Information Systems Engineering (CAiSE 2015)
  • 10. Interactive recovery utilizing call relationships Rank Requirement Code file Score Recommended Correct 1 Recover link LinkRecover.java 0.98 not yet 2 Recover link LinkPresenter.java 0.65 not yet 3 Recover link ScoreCalc.java 0.30 not yet ・・・ ・・・ ・・・ ・・・ 10 Recover link ・・・ LinkPresenter.java ・・・ LinkRecover.java ScoreCalc.java ・・・ ☑ Call ☑ Ryosuke Tsuchiya, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Oshima, and Ryota Mibe,“Interactive Recovery of Requirements Traceability Links Using User Feedback and Configuration Management Logs,” 27th International Conference on Advanced Information Systems Engineering (CAiSE 2015)
  • 11. Interactive recovery utilizing call relationships Rank Requirement Code file Score Recommended Correct 1 Recover link LinkRecover.java 0.98 not yet 2 Recover link ScoreCalc.java 0.30 Recommended 3 Recover link LinkPresenter.java 0.65 not yet ・・・ ・・・ ・・・ ・・・ 11 Recover link ・・・ LinkPresenter.java ・・・ LinkRecover.java ScoreCalc.java ・・・ ☑ Call ☑ Ryosuke Tsuchiya, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Oshima, and Ryota Mibe,“Interactive Recovery of Requirements Traceability Links Using User Feedback and Configuration Management Logs,” 27th International Conference on Advanced Information Systems Engineering (CAiSE 2015)
  • 12. Automated test Log-based recovery 12 Automated test automate・・ ・・XML・・・ ・test・・・・・・ Requirement automate XML test automate XML Keywords High TF-IDF value Proper noun Filtered by experts automate XML Revision: 137 Author: anilsaharan Date: 2011/8/20 9:35:13 Message: Changes for fixing XML tag issue ---- Modified : /trunk/CUnit/Sources/Tool/Process.c Process.c ・・・ Ryosuke Tsuchiya, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Oshima, and Ryota Mibe,“Interactive Recovery of Requirements Traceability Links Using User Feedback and Configuration Management Logs,” 27th International Conference on Advanced Information Systems Engineering (CAiSE 2015)
  • 13. Experiment: Japanese enterprise system • 80,000 LOC, 192 requirements, 694 Java code files, 7090 revisions in Subversion • 726 known links as correct answer 13 Ryosuke Tsuchiya, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Oshima, and Ryota Mibe,“Interactive Recovery of Requirements Traceability Links Using User Feedback and Configuration Management Logs,” 27th International Conference on Advanced Information Systems Engineering (CAiSE 2015)
  • 14. Transitive recovery 14 Code Design Test Score C1 Da Tx 0.16 C1 Da Ty 0.14 C1 Db Tx 0.03 • Vector Space Model (VSM) for basic recovery Source code Design Test case Code Design Similarity C1 Da 0.4 C2 Db 0.3 Design Test Similarity Da Tx 0.40 Da Ty 0.35 Db Tx 0.10 Kazuki Nishikawa, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Ohshima, Ryota Mibe, “Recovering Transitive Traceability Links among Software Artifacts,” 31st IEEE International Conference on Software Maintenance and Evolution (ICSME 2015), ERA Track
  • 15. Experiment: EasyClinic • Target link: 47 Java code ⇔ 63 test docs • Supportive artifacts: 20 design docs or 30 use cases • Effectiveness varies with supportive artifacts 15Kazuki Nishikawa, Hironori Washizaki, Yoshiaki Fukazawa, Keishi Ohshima, Ryota Mibe, “Recovering Transitive Traceability Links among Software Artifacts,” 31st IEEE International Conference on Software Maintenance and Evolution (ICSME 2015), ERA Track
  • 16. How can we support? 16 Requirements Design Program source code Yuta Maezawa, Kazuki Nishiura, Hironori Washizaki, Shinichi Honiden, “Validating Ajax Applications Using a Delay-Based Mutation Technique,” 29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014) Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
  • 17. How can we support? 17 Requirements Design Program source code Reversing model Detecting problems Detecting problems Ajax model extraction and verification [ASE’13][ASE’14] Yuta Maezawa, Kazuki Nishiura, Hironori Washizaki, Shinichi Honiden, “Validating Ajax Applications Using a Delay-Based Mutation Technique,” 29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014) Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
  • 18. 18 window.onload = setEventHandler; function setEventHandler() { $(“reg_type”).onchange = calcPrice; ・・・ $(“reg_addcart”).onclick = addCart; }; function calcPrice() { ・・・ }; function addCart() { if(isValidInput()) { reqRunTrans(); } else { alert(“Invalid user inputs”); } }; function reqRunTrans() { new Ajax.Request(“runTrans.php”, { method: “GET”, parameters: getParams(), onSuccess: succeeded }); }; function succeeded() { disableAll(); jumpToConfirm(); };Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
  • 19. 19 Extracted finite state machine Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
  • 20. • #70 programming and usability patterns • Potential faults: might not be revealed by testing Ajax (Asynchronous JavaScript + XML) Design Patterns [Mahamoff’06] 20 [Mahamoff’06] M. Mahamoff, “Ajax Design Patterns”, O’Reilly Media Inc., 2006. E.g. User Action “Prevent multiple calls of specific user event handler” Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
  • 21. Duplicate order 21 Verifying invariants of specified pattern Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
  • 22. 22 window.onload = setEventHandler; function setEventHandler() { $(“reg_type”).onchange = calcPrice; ・・・ $(“reg_addcart”).onclick = addCart; }; function calcPrice() { ・・・ }; function addCart() { if(isValidInput()) { $(“addCart”).disabled = true; reqRunTrans(); } else { alert(“Invalid user inputs”); $(“addCart”).disabled = false; } }; function reqRunTrans() { new Ajax.Request(“runTrans.php”, { method: “GET”, parameters: getParams(), onSuccess: succeeded }); }; function succeeded() { disableAll(); jumpToConfirm(); };Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
  • 23. • Developers are concerned with interactions[Duhl’03] • Interaction = event + callback • Rules are necessary for distinguishing interaction- related code fragments Interaction-based state machine extraction 23 ……………………………… ……………………………… ……………………………… ……………………………… …………………………….… ……………………………… …………………………… function addCart() {… ……………………………… ……………………..…… ……………………………………… ……………………………………… $(“addcart”).disabled=true; ……………………………………… ……………………………………… …………………………………… ………… ………… ………… ……………………………… ………………………..…… ……………………………… ……………………………… ……………………………… ……………………………… ……………………………… ……………………………… ……………………………… ……………………………… ………………………… …………………………………………… …………………………………………… function setEventHandler() { $(“addcart”).onclick=addCart; …………………………………………… …………………………………………… …………………………………………… …………………………………………… …………………………………………… onclick setEventHandler ev addCart …disabled… [c] [!c] [Duhl’03] J.Duhl, “White Paper: Rich Internet Applications”, IDC Technical Report’ 03. Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
  • 24. Verification on Promela with LTL 24 Self interaction User Server active proctype App () {…} App model active proctype Interaction () {…} Interaction model Faulty execution paths Verification formulas (LTL) Pattern Negative property User Action <>(App_state == PreventFunc && App_event == UserEvent ) Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction Invariants in Ajax Applications,” 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013)
  • 25. • Problem: Potential faults might not cause actual errors • Assumption: Unexpected network latency make potential faults executable. • Solution: Delay-based mutation and testing Delay-based mutation 25 <button onclick=“handleClick()” /> ・・・ <script src=“handleClick.js” /> new DelayedRequest(3000).applyFunction( $.get , “myscript.php”, { name: “ABC” }, function(data) { alert(“Response is ” + data); } ); Synchronous delay Asynchronous delay Original code S1 S2 S3 Late response reveals! Assumes immediate response Yuta Maezawa, Kazuki Nishiura, Hironori Washizaki, Shinichi Honiden, “Validating Ajax Applications Using a Delay-Based Mutation Technique,” 29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014)
  • 26. Case Study: industrial services 26 Subject JS [LOC] #States #Trans. #Invariants verified #Potential faults #Delay- Dependent faults 2020 Marketing 2,468 15 547 4 1 1 ECD China 880 32 508 3 2 1 Easy Serviced Apartments 3,523 34 602 3 1 1 Undefined function call Login failed with correct username and password Yuta Maezawa, Kazuki Nishiura, Hironori Washizaki, Shinichi Honiden, “Validating Ajax Applications Using a Delay-Based Mutation Technique,” 29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014)
  • 27. Summary 27 Reversing model Tracing artifacts Detecting problems Detecting problems Tracing artifacts Log-based interactive recovery [CAiSE’15] Transitive recovery [ICSME’15 ERA] Ajax model extraction and verification [ASE’13] Ajax delay-based mutation [ASE’14]
  • 28. 28 Feb 24-26 (due Dec 4) asianplop.org Mar 15 (due Dec)(TBD) ppap.soccerlab.polymtl.ca Mar 11 (due Jan 8) samuraicoding.info Mar 13-18 (due Sep 2016) aster.or.jp/conference/icst2017/ 10th IEEE International Conference on Software Testing, Verification and Validation IPSJ International AI Programming Contest