Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Recovery of Traceability Links and Behavior Models for Software Maintenance, Keynote, 2016 International Conference for Top and Emerging Computer Scientists (IC-TECS 2016),

1,793 views

Published on

Hironori Washizaki, Recovery of Traceability Links and Behavior Models for Software Maintenance, Keynote, 2016 International Conference for Top and Emerging Computer Scientists (IC-TECS 2016), Taipei, Dec 24, 2016.

Published in: Software
  • Be the first to comment

Recovery of Traceability Links and Behavior Models for Software Maintenance, Keynote, 2016 International Conference for Top and Emerging Computer Scientists (IC-TECS 2016),

  1. 1. Recovery of Traceability Links and Behavior Models for Software Maintenance Hiro - Hironori Washizaki Waseda University / National Institute of Informatics / SYSTEM INFORMATION CO.LTD. Twitter: @Hiro_Washi washizaki@waseda.jp http://www.washi.cs.waseda.ac.jp/ IC-TECS 2016, Dec 24, 2016
  2. 2. • Prof., Head, Global Software Engineering Laboratory, Waseda University • Visiting Assoc. Prof., National Institute of Informatics • Outside Director, SYSTEM INFORMATION CO.LTD. • Convenor, ISO/IEC SC7/WG20 • Chair, IEEE CS Japan Chapter • Chair, SEMAT Japan Chapter • PC-Chair, IEEE ICST’17 • PC-Chair, IEEE CSEE&T’17 2 Hironori Washizaki
  3. 3. Software maintenance matters! • 60–90% of total costs • Often the only reliable information is embedded in source code… 3 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.
  4. 4. Reverse engineering for maintenance 4 Requirements Design Program source code Tracing artifacts 1. Tracing artifacts Reversing and detecting problems Analysis process to identify elements and create target’s representations in another or at a higher level of abstraction Metamodel 3. Common framework and taxonomy 2. Reversing and detecting problems 2. Reversing and detecting problems
  5. 5. 5 Requirements Design Program source code Tracing artifacts 1. Tracing artifacts Log-based interactive recovery [CAiSE’15][IEICE’15] Transitive recovery [ICSME’15] 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) Ryosuke Tsuchiya, Hironori Washizaki, Yoshiaki Fukazawa, Tadahisa Kato, Masumi Kawakami and Kentaro Yoshimura, Recovering Traceability Links between Requirements and Source Code using the Configuration Management Log,” IEICE Transactions on Information and Systems, Vol.98-D, No.4, pp.852-862, 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 Metamodel
  6. 6. Facts of traceability links • Relationships among software artifacts • Key to ensure consistency among artifacts, but rarely established explicitly [Lucia’12] 6[Lucia’12] 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 memory.c Initialization Requirement 基本試験 basic.c NGOK
  7. 7. Transitive recovery 7 Source code Design Test case
  8. 8. 8 Requirements Design Program source code 2. Reversing model Detecting problems 2. Detecting problems Design 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) Metamodel
  9. 9. 9 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(); };
  10. 10. Duplicate order 10 Model Extraction and Verification
  11. 11. 11 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(); };
  12. 12. 12 Requirements Design Program source code Metamodel 3. Common taxonomy and vocabulary Conceptual Framework and Taxonomy for Program Metamodels [ICSME’16] Hironori Washizaki, Yann-Gael Gueheneuc, Foutse Khomh, “A Taxonomy for Program Metamodels in Program Reverse Engineering,” 32nd IEEE International Conference on Software Maintenance and Evolution (ICSME), 2016
  13. 13. Conceptual Framework and Taxonomy for Metamodels 13 Metadata Statement Method Transformation ・・・ Package Class ・・・ Schema History ・・・ Program translation [HICSS’17] Program visualization [VISSOFT’16] J. Li, K. Sakamoto, H. Washizaki, et al., “Promotion of Educational Effectiveness by Translation-based Programming Language Learning Using Java and Swift,” HICSS 2017 R. Ishizue, H. Washizaki, et al., “Metrics visualization technique based on the origins and function layers,” VISSOFT 2016 Model extraction [ASE’13][ASE’14] Traceability links [ICSME’15][IEICE’15]Source code Design Test case
  14. 14. Conceptual Framework and Taxonomy (excerpt.) 14 Metasyntax Grammar Program Meta language Program metamodel Program model Metasyntax of schema Exchange format Model data conforms describes can be mapped to describes can be mapped to class C { void m() { ... } <class/> <name>C </name> ... C: Class m: Method Grammarware Modelware Dataware conforms
  15. 15. 15 Requirements Design Program source code Tracing artifacts Tracing artifacts Reversing and detecting problems Metamodel Common taxonomy and vocabulary Reversing and detecting problems Framework and Taxonomy for Program Metamodels [ICSME’16] Ajax model extraction and verification [ASE’13][ASE’14] Traceability Links Recovery [CAiSE’15][IEICE’15][ICSME’15]
  16. 16. Trace in all directions Trace ANY (‘16-’20) 16 Req. ER, UML SimulinkGoal models SysML, UML JavaScript Java C Cloud Reliable trace by transitive and interactive recovery Modularize and Reuse, change managementExtractionVerification
  17. 17. 17 Mar 12-13 Tokyo (due Jan 13) asianplop.org Nov 14-16 Georgia (due Apr) www.cseet2017.com Mar 17 Nagoya (due Feb 11) samuraicoding.info Mar 13-17 Tokyo aster.or.jp/conference/icst2017/ 10th IEEE International Conference on Software Testing, Verification and Validation IPSJ International AI Programming Contest 2017 6th IEEE CSEE&T 30th Int’l Conf. Software Engineering Education and Training

×