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.

Waseda Super Global University Program and Collaboration in Software Patterns

2,022 views

Published on


Hironori Washizaki, "Waseda Super Global University Program and Collaboration in Software Patterns", Invited talk at AsianPLoP 2016: 5th Asian Conference on Pattern Languages of Programs, February 24, 2016, Taipei, Taiwan

Published in: Software
  • Be the first to comment

  • Be the first to like this

Waseda Super Global University Program and Collaboration in Software Patterns

  1. 1. Waseda Super Global University Program and Collaboration in Software Patterns Hiro - Hironori Washizaki Waseda University / National Institute of Informatics Twitter: @Hiro_Washi washizaki@waseda.jp http://www.washi.cs.waseda.ac.jp/ AsianPLoP 2016 @ Taipei Tech. Feb 24, 2016
  2. 2. Agenda • Waseda Super Global University Program and Research Collaboration in Software Patterns • Program Reverse Engineering Metamodel and Patterns • Pattern-based Ajax Program Verification 2
  3. 3. Waseda U. Super Global University (SGU) ‘15-’25 3 • 6 Units including “ICT and Robotics” • Joint research, academic exchange, Ph.D. joint supervision Network example of the Unit “ICT and Robotics”
  4. 4. Patterns go multi-disciplinary 4 Community, xPLoP Patterns and Pattern Languages Ajax Cloud Security & Privacy Software (and Systems) Engineering Reverse Engi- neering
  5. 5. 5 Often the only reliable information is embedded in source code… G. Canfora, et al., "Reverse Engineering and Design Recovery: A Taxonomy", Communications of the ACM, 54(4), 2011. The International Obfuscated C Code Contest (IOCCC) 2014, 2011
  6. 6. Reverse engineering for maintenance 6 Requirements Design Program source code Reverse and detect problems Analysis process to identify elements and create target’s representations in another or at a higher level of abstraction Tool and knowledge base Metamodel and patterns
  7. 7. Agenda • Waseda Super Global University Program and Research Collaboration in SE/Patterns • Program Reverse Engineering Metamodel and Patterns • Pattern-based Ajax Program Verification 7
  8. 8. Agenda • Waseda Super Global University Program and Research Collaboration in SE/Patterns • Program Reverse Engineering Metamodel and Patterns • Pattern-based Ajax Program Verification 12
  9. 9. 13 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. 14 Extracted finite state machine 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)
  11. 11. • #70 programming and usability patterns • Potential faults: might not be revealed by testing Ajax (Asynchronous JavaScript + XML) Design Patterns [Mahamoff’06] 15[Mahamoff’06] M. Mahamoff, “Ajax Design Patterns”, O’Reilly Media Inc., 2006. (i) Page load (ii) Option select (iii) Add to cart E.g. User Action “Prevent multiple calls of specific user event handler” Duplicate order
  12. 12. Duplicate order 16 Verifying invariants of specified pattern 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)
  13. 13. 17 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(); };
  14. 14. Interaction-based model extraction and verification 18 Self interaction User interaction Server interaction active proctype App () {…} App model active proctype Interaction () {…} Interaction model Faulty execution paths Verification formulas Pattern Negative property User Action <>(App_state == PreventFunc && App_event == UserEvent ) 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)
  15. 15. • Waseda SGU seeks collaboration opportunities! • Patterns go multi-disciplinary! Conclusion, and future! 19 Community Patterns and Pattern Languages Software (and Systems) Engineering Architecture
  16. 16. • Assoc. Prof., Head, Global Software Engineering Laboratory, Waseda University • Visiting Assoc. Prof., National Institute of Informatics • Chair, IEEE CS Japan • Chair, SEMAT Japan Chapter • Convenor, ISO/IEC/SC7/WG20 25 我叫鷲崎弘宜。 “Hiro”nori Washizaki ウォー ジアオ ジゥ チー ホン イー

×