ICECCS 2017 Exploring Similar Code

Size: px
Start display at page:

Download "ICECCS 2017 Exploring Similar Code"

Transcription

1 ICECCS 2017 Exploring Similar Code - From Code Clone Detection to Provenance Identification - Katsuro Inoue Osaka University 1 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

2 My Background Formal Empirical Ph.D. for Implementation & Optimization of Functional Programs Software Process Modeling & Formalization Program Slicing Mining Soft. Repositories, Code Clone, Code Search Code Provenance, License Analysis Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 2

3 Welcome to ICECCS 2017 The 22nd International Conference on Engineering of Complex Computer Systems (ICECCS 2017) will be held on November 6-8, 2017, Fukuoka, Japan. Complex computer systems are common in many sectors, such as manufacturing, communications, defense, transportation, aerospace, hazardous environments, energy, and health care. These systems are frequently distributed over heterogeneous networks, and are driven by many diverse requirements on performance, real-time behavior, fault tolerance, security, adaptability, development time and cost, long life concerns, and other areas. Such requirements frequently conflict, and their satisfaction therefore requires managing the trade-off among them during system development and throughout the entire system life. The goal of this conference is to bring together industrial, academic, and government experts, from a variety of user domains and software disciplines, to determine how the disciplines' problems and solution... 3

4 Welcome to ICECCS 2017 The 22nd International Conference on Engineering of Complex Computer Systems (ICECCS 2017) will be held on November 6-8, 2017, Fukuoka, Japan. Complex computer systems are common in many sectors, such as manufacturing, communications, defense, transportation, aerospace, hazardous environments, energy, and health care. These systems are frequently distributed over heterogeneous networks, and are driven by many diverse requirements on performance, real-time behavior, fault tolerance, security, adaptability, development time and cost, long life concerns, and other areas. Such requirements frequently conflict, and their satisfaction therefore requires managing the trade-off among them during system development and throughout the entire system life. The goal Average: of this 2.3% conference is to bring together industrial, academic, ICECCS: and 6.8% government experts, from a variety of user domains and software disciplines, to determine how the disciplines' problems and solution... 4

5 5

6 #include <stdlib.h> #include <stdio.h> #include <ctype.h> int main() { int tot_chars = 0; /* total characters */ int tot_lines = 0; /* total lines */ int tot_words = 0; /* total words */ int boolean; /* EOF == end of file */ int n; while ((n = getchar())!= EOF) { tot_chars++; if (isspace(n) &&!isspace(getchar())) { tot_words++; } if (n == ' n') { tot_lines++; } if (n == '-') { tot_words--; } } printf("lines, Words, Characters n"); printf(" %3d %3d %3d n", tot_lines, tot_words, tot_chars); return 0; } 6

7 Similarity of Code Snippets 7

8 Library C Program A Program B System X System Y System Z 8

9 Matters? 9

10 Library C Program A Program B System X System Y System Z 10

11 Program A Program A Program A 11

12 Yes, code similarity matters! 12

13 Our Code Clone Research 13

14 Code Clone A code fragment with an identical or similar code fragment Created Accidentally: small popular idioms e.g., if(fp=fopen( file, r )==NULL){ Intentionally: copy & paste practice copy & paste copy & paste Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 14

15 15

16 Issue at Company X Maintained code clones by hand M-LOC system Check Hand-made clone list 20 years? Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 16

17 No tools available in 99 17

18 18

19 Clone Detection Policies Determine detection granularity char / token / line / block /function /... Cut off small clones (probably by nonintentional idioms) Find all possible clone sets at the same time Use efficient and scalable algorithm Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 19

20 Classification of Clones Type 1: Exact copy, only differences in white space and comments Type 2: Same as type 1, but also variable renaming Type 3: Same as type 2, but also deleting, adding, or changing few statements Type 4: Semantically identical, but not necessarily same syntax. Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 20

21 Example of Clones (type 2) Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 21

22 A Clone Detection Process Source files static void $ void $ foo ( foo() ( ) ) throws throws $ { RESyntaxException $ $ { String a a { [ String ] = new a[] $ $ String = new [ ][ String { ] $ { "123,400" $ [] [] { "123,400",, "abc", "orange 100" }; }; 3. "abc", "orange 100". apache. regexp 3. org.apache.regexp.re } ; pat = new org.apache.regexp.re("[0-9,]+");. 4. RE pat org. apache. regexp 4. int $ sum $ = = new 0; 0;. RE $ ( "[0-9,]+" $ ) ; int $ sum $ = $ for (inti i = 0; 0; i i < a.length; ++i) ; for ( int $ $ i = $ 0 ; $ i < if if (pat.match(a[i])) a $. length $ ; ++ ; ++ $ i ) ) if if( ( $ pat match sum ( += a [ Sample.parseNumber(pat.getParen(0));. $ ( $ [ $ i ] ] ) ) ) ) $ sum = System.out.println("sum Sample $. $. parsenumber ( $. $ ( ( pat $. = getparen " + sum); ( ( } ) ) ; System $. $. out. $. println ( $ ( "sum = " 10. static + sum $ ) void ) ; ; } goo(string static void $ $ goo [] []( a) a) ( $ String throws RESyntaxException { 11. a $ RE [ exp ] ) = throws new RESyntaxException $ RE("[0-9,]+"); { $ $ = { RE exp = RE "[0-9,]+" 0; ) ; int sum = new int $ sum ( $ = ) 0; ; $ $ = $ ; ( $ $ i = $ 0 ; $ i < 13. for (inti i = 0; 0; i i < a.length; ++i) a $. length $ ; ++ ; ++ $ i ) ) if if( ( $ exp 14. if if (exp.match(a[i])). match $ ( ( $ a [ [ $ i ] ] ) ) ) ) $ sum 15. += parsenumber $ sum. parsenumber += ( ( parsenumber(exp.getparen(0)); $ $ exp. (. $ exp getparen (. $ getparen () 0) ) ( ) 0 ) ) 16. ; System.out.println("sum $. $.. $. ( $ ( + $ = " " + + sum sum); 17. } ) ; } ) ; } Lexical analysis Token sequence Transformation Transformed token sequence Match detection Clones on on transformed sequence Formatting Clone pairs Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 22

23 Match Detection Algorithms x x y x y z % x x y x y z % 1 x * * * 2 x * * * 3 y * * 4 x * * * 5 y * * 6 z * 7 % * Matching Table x y z% % 6 7 xyxyz% y xyz% z% Suffix Tree xyz% z% x x y x y z % Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 23

24 Initial Result Initial prototype had been implemented in a few weeks Limited scalability Refined & tuned Bought powerful workstation and expensive memory Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 24

25 Clones between Unix Kernels FreeBSD Linux NetBSD FreeBSD Linux NetBSD Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 25

26 Let s Submit to IEEE TSE! CCFinder: a multilinguistic token-based code clone detection system for large scale source code, T Kamiya, S Kusumoto, K Inoue, IEEE Transactions on Software Engineering, Vol.28, No.7, pp , Initial submission in July, 2000 Major revision request in Jan., 2001 Minor revision request in Aug., 2001 Accepted in Sept., 2001 Published in July, ,413 citations (2017, Nov. 3) 22 nd highly-cited paper in SE Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 26

27 Extending CCFinder Prototype was extended, tuned, and refined as a practical tool Target languages Initially C Adapted to C++, COBOL, Java, Lisp, Text Added GUI and result visualizer Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 27

28 Promoting Code Clone Technology Collaboration with many companies NTT, Fujitsu, Hitachi, Samsung, Microsoft Research,... International Workshop on Software Clones IWSC ( 02~) Code clone seminars (9 times, 02~ 07) Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 28

29 > 5,000 downloads

30 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 30

31 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 31

32 32

33 Papers Related to Code Clone ~00 01~05 06~10 11~15 16~ 33

34 Applying to New Fields 34

35 Compiler Construction Class S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 35

36 Compiler Construction Class S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 36

37 Law Suit of Lace-making Machines A B Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 37

38 Clones in near systems 38

39 System Evolution Analysis BSD Unix Clustering Similarity Measure ß Cover Ratio Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 39

40 Chasing Scalability CCFinder input limitation: A few M LOC due to the suffix tree algorithm --- on core Code clone detection is embarrassingly parallel problem --- divide and concur Distributed CCFinder with 80 lab machines Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 40

41 FreeBSD Ports Collection / 136 Versions of Linux Kernel FreeBSD Ports Collection (10.8GB, 400M LOC in C) 136 Ver. Linux Kernels (7.4GB, 260M LOC in C) Livieri, S., Higo, Y., Matsushita, M., Inoue, K., Very-Large Scale Code Clone Analysis and Visualization of Open Source Programs Using Distributed CCFinder: D-CCFinder, ICSE2007. Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 41

42 Searching for clone pairs 42

43 34th International Conference on Software Engineering, pp , Zurich, Switzerland,

44 Developer s Concerns Existing Project New Project Code Fragment Reusable? Developer Origin - Who? - When? - License? - Copyright? Evolution - Maintenance? - Popularity? - Newer version? To ease concerns, a support system is needed Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 44

45 Code History Tracking System Code Fragment? in Question Copy Source Proj. B Modify Proj. C License: X Copyright: Y Descendants Proj. F Proj. E Proj. A Ancestor Proj. D Modify Copy Proj. G License: X /Copyright: Y Proj. H Time License: X Copyright Y OSS Repositories Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 45

46 System Overview Input Query Q Code q c Fragment Code Attributes (Optional) attribute 1:... attribute 2: Integrated Code History Tracker Ichi Tracker Output Results R Code Clones attribute 1:... attribute 2: Code Fragment Code Attributes Search Query SQ Search Results SR attribute 1:... attribute 2: Code Search Engines SPARS/R Google Code Search Koders Internet attribute 1:... attribute 2: Open Source Repositories Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 46

47 Evolution Pattern of Texture.java Cover Ratio 1 jmonkeyengine R A 1 R R /10/ /04/ /11/ /06/ /12/ /07/ /01/ /08/ /02/26 C Last Modify Time B : File in New BSD License 1 Jmonkeyengine r3448 (K) 2 Simplexe (G) 3 Simplexe (K) 4 Jmonkeyengine r3800 (G) 5 The-project08 (G) 6 Tank Combat Game (K) 7 wrathofthetaboos (G) 8 wrathofthetaboos (K) 9 Lasthaven (G) 10 Jme-cotk (G) 11 Ardor3D (G) 12 Jmonkeyengine r4099 (G) 13 Fairytale-soulfire (G) 14 Jmonkeyengine r4490 (G) 15 Jmonkeyengine r4490 (S) 16 Xenogeddon (G) 17 Deathsquadrendezvous (G) 18 Partiendolapana (G) 19 Tholos (G) 20 Ardor3D (G) 21 Cosmic-engine (G) 22 Fregatclient3d (G) 23 Footballmanagerdesia (G) 24 Multiplicity (G) 25 Jmerefactoring (G) 26 Java3dfh (G) : Evolution of jmonkeyengine Project : File in zib-libpng License : Cluster of Same or Similar Files

48 Evolution Pattern of kern_malloc Lites 1.0 (G) Kernel Source 2 Archive - CMU Mach 3.0 (K) 3 Lites 1.1.u3 (G) Kame SimOS Kame (G) (K) (G) Cover Ratio Lites The Rio (RAM I/O) Project ftp in The University of Edinburgh 7 Mip-summer98 8 freebsd/sparc 9-12 ftp in Stockholm University 13 freebsd-cam2.1.5r SonicOSX 16 Labyrinth BSD(labyrinthos) (G) (K) (G) (G) (G) (G) (G) (K) (K) 47 Netnice 48 Kame Psumip 51 Netnice 52 Reflexprotocol 53 Netnice 54 NetBSD v OpenBSD PV Xen 56 OpenBSD v1.73 (G) (G) (G) (G) (G) (G) (K) (G) (K) Oskit 18 Psumip (G) (G) 57 Pmon (G) Proyecto A.T.L.D GNU/hurd(extremeli nux) (K) 19 Mach (G) 63 OpenBSD v1.74 (K) Savannah Unofficial OSKit 23 source Unofficial OSKit source(oskit) ftp in Stockholm 27 University (G) (K) (K) (G) 64 Pmon Chord-ns3 67 Openbsd-loongsonvc (G) (G) (G) (G) 0.4 Results by G(Google Code Search) 1993/01/ /10/ /07/ /04/ /01/ /10/ /07/06 and 2012/04/01 K(Koders) Last modified time : File in New BSD License : File in Original BSD License

49 Current and Future

50 OSS Dependency Clone A Paste Import System Y Library P Copy Export Clone B OSS System X System Z Library Q 50

51 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University yeoman-ass... hubot istanbul mocha underscore jshint-sty... grunt-cont... time-grunt load-grunt... grunt-cont... inquirer commander grunt colors tap request assert extend node-uuid should async coffee-scr... nan fs-extra graceful-fs yosay yeoman-gen... jsdom meow ava xo mime standard through2 minimist debug browserify grunt-cont... grunt-cont... grunt-cont... grunt-cont... grunt-cont... grunt-cont... grunt-cont... ejs mocha-lcov... babel q gulp-uglify vinyl-sour... gulp-watch gulp-rename clone code sinon lab winston promise qs prompt nod er ws connect README.md uglify-js grunt-cont... stylus jade nock marked optimist jasmine-node watchify gulp-sourc... gulp-coffee del gulp-mocha through redis coffeelint resolve vows sinon-chai lodash grunt-jscs eslint cz-convent... codecov.io phantomjs karma-chai karma babel-pres... karma-mocha karma-phan... karma-brow... cheerio jquery watch moment babel-cli gulp-minif... require-dir gulp-sass gulp-concat gulp-if gulp-clean gulp-replace vinyl grunt-cli babel-regi... babel-eslint eslint-plu... inherits minimatch less chai-as-pr... benchmark tape event-stream semver concat-str... pg uuid eslint-plu... eslint-con... xtend readable-s... zuul socket.io-... body-parser socket.io bower tmp tap-spec yargs gulp-plumber babel-pres... gulp-babel babel-loader babel-pres... gulp-load-... babel-poly... run-sequence mongodb grunt-brow... grunt-moch... grunt-karma nodemon path mustache npm supertest power-assert faucet grunt-bump object-ass... expect.js jscs pre-commit nodeunit hoek hapi mongoose blanket grunt-shell matchdep grunt-rele... sqlite3 handlebars nyc rsvp karma-moch... karma-fire... webpack-de... karma-sour... karma-webp... grunt-eslint gulp-jshint gulp-bump gulp-eslint gulp-filter gulp-istan... esprima js-yaml shelljs brfs proxyquire rewire aws-sdk mockery temp karma-chro... co source-map... cli-color escodegen bunyan xml2js when http-proxy babelify babel-plug... browser-sync mysql null react-router react-dom gulp-nsp example ramda cookie-par... karma-jasm... requirejs jasmine-core underscore... karma-cove... compression immutable node-sass css-loader superagent update-not... chokidar merge autoprefixer postcss angular-mo... bootstrap classnames url-loader babel-pres... expect jest-cli react-native react-redux redux ember-cli-... ember-disa... ember-cli-... ember-expo... ember-disa... broccoli-a... ember-cli-... ember-cli-... ember-cli-... mber-data ember-cli-... ember-cli-... ember-cli-... ape-report... ape-tasking coz ape-tmpl <%= appnam... ember-reso... <%= name %> everything 51

52 Raula Gaikovina Kula, Daniel M. German, Ali Ouni, Takashi Ishio, Katsuro Inoue, Do developers update their library dependencies? An empirical study on the impact of security advisories on library migration, EMSE accepted & FSE2017 J. 1 st. 52

53 53

54 54

55 OSS Ecosystem OSS Repository Project Depend OSS Repository Project Depend Contribute Use Developer User Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 55

56 Summary Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 56

57 Finding similar code in softw1are matters 57

58 Code clone analysis became very popular SE technology 58

59 Analyzing code similarity is key to know OSS provenance and evolution

60

61 Exploring OSS universe with code similarity analysis

62 Thank you 62

Challenges in Mining Whole Software Universe

Challenges in Mining Whole Software Universe Challenges in Mining Whole Software Universe Katsuro Inoue Osaka University Cover Ratio Analyzing Evolution of kern_malloc 1 1 2 3 4 13 15 19 24 36 58 62 65 1 Lites 1.0 Kernel Source 2 Archive - CMU Mach

More information

An Experience Report on Analyzing Industrial Software Systems Using Code Clone Detection Techniques

An Experience Report on Analyzing Industrial Software Systems Using Code Clone Detection Techniques An Experience Report on Analyzing Industrial Software Systems Using Code Clone Detection Techniques Norihiro Yoshida (NAIST) Yoshiki Higo, Shinji Kusumoto, Katsuro Inoue (Osaka University) Outline 1. What

More information

1/30/18. Overview. Code Clones. Code Clone Categorization. Code Clones. Code Clone Categorization. Key Points of Code Clones

1/30/18. Overview. Code Clones. Code Clone Categorization. Code Clones. Code Clone Categorization. Key Points of Code Clones Overview Code Clones Definition and categories Clone detection Clone removal refactoring Spiros Mancoridis[1] Modified by Na Meng 2 Code Clones Code clone is a code fragment in source files that is identical

More information

Code Clone Analysis and Application

Code Clone Analysis and Application Code Clone Analysis and Application Katsuro Inoue Osaka University Talk Structure Clone Detection CCFinder and Associate Tools Applications Summary of Code Clone Analysis and Application Clone Detection

More information

SoL Mantra: Visualizing Update Opportunities Based on Library Coexistence

SoL Mantra: Visualizing Update Opportunities Based on Library Coexistence SoL Mantra: Visualizing Update Opportunities Based on Library Coexistence Boris Todorov, Raula Gaikovina Kula, Takashi Ishio, Katsuro Inoue Osaka University, Osaka, Japan Nara Institute of Science and

More information

Introduction to Using NPM scripts as a Build Tool. 1. 1

Introduction to Using NPM scripts as a Build Tool. 1. 1 Introduction to Using NPM scripts as a Build Tool. @kjy2143 / SK planet 1. 1 1. 2 1. 3 1. 4 Front End Developer in Past 2. 1 2. 2 Front End Developer in 2016 3. 1 3. 2 2016/2017 MUST-KNOW WEB DEVELOPMENT

More information

Full Stack boot camp

Full Stack boot camp Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building

More information

JavaScript and MVC Frameworks FRONT-END ENGINEERING

JavaScript and MVC Frameworks FRONT-END ENGINEERING FRONT-END ENGINEERING Introduction & History Introduction JavaScript is an incredible language to learn for anyone interested in getting into programming. It is the only programing language that can run

More information

v OpenSource Information

v OpenSource Information v2018.3 OpenSource Information SS-AppServer ace-builds 1.3.3 : BSD 3-clause "New" or "Revised" License ajv 6.5.0 : MIT License ajv 6.5.2 : MIT License Angular Material 1.0.7 : MIT License angular-aria

More information

Frontend UI Training. Whats App :

Frontend UI Training. Whats App : Frontend UI Training Whats App : + 916 667 2961 trainer.subbu@gmail.com What Includes? 1. HTML 5 2. CSS 3 3. SASS 4. JavaScript 5. ES 6/7 6. jquery 7. Bootstrap 8. AJAX / JSON 9. Angular JS 1x 10. Node

More information

Comprehensive AngularJS Programming (5 Days)

Comprehensive AngularJS Programming (5 Days) www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop

More information

WebStorm, intelligent IDE for JavaScript development

WebStorm, intelligent IDE for JavaScript development , intelligent IDE for JavaScript development JetBrains is a powerful Integrated development environment (IDE) built specifically for JavaScript developers. How does match up against competing tools? Product

More information

Chapter 1 - Development Setup of Angular

Chapter 1 - Development Setup of Angular Chapter 1 - Development Setup of Angular Objectives Key objectives of this chapter Angular Files and Dependencies Node.js Node package manager (npm) package.json Semantic version numbers Installing Angular

More information

On Refactoring for Open Source Java Program

On Refactoring for Open Source Java Program On Refactoring for Open Source Java Program Yoshiki Higo 1,Toshihiro Kamiya 2, Shinji Kusumoto 1, Katsuro Inoue 1 and Yoshio Kataoka 3 1 Graduate School of Information Science and Technology, Osaka University

More information

Index. Elad Elrom 2016 E. Elrom, Pro MEAN Stack Development, DOI /

Index. Elad Elrom 2016 E. Elrom, Pro MEAN Stack Development, DOI / Index A Accessible Rich Internet Applications (ARIA), 101 Amazon AWS, 44 Amazon EC2, 28 Amazon s Relational Database Service (RDS), 28 Amazon Web Services (AWS) cloud, 28 Android SDK Manager, 272 Android

More information

Practical Node.js. Building Real-World Scalable Web Apps. Apress* Azat Mardan

Practical Node.js. Building Real-World Scalable Web Apps. Apress* Azat Mardan Practical Node.js Building Real-World Scalable Web Apps Azat Mardan Apress* Contents About the Author About the Technical Reviewer Acknowledgments Introduction xv xvii xix xxi Chapter 1: Setting up Node.js

More information

Making Sling Grunt Or How to Integrate Modern Front-End Development with Sling. Philip Hornig (Publicis Pixelpark), Michael Sunaric (Netcentric)

Making Sling Grunt Or How to Integrate Modern Front-End Development with Sling. Philip Hornig (Publicis Pixelpark), Michael Sunaric (Netcentric) APACHE SLING & FRIENDS TECH MEETUP BERLIN, 28-30 SEPTEMBER 2015 Making Sling Grunt Or How to Integrate Modern Front-End Development with Sling Philip Hornig (Publicis Pixelpark), Michael Sunaric (Netcentric)

More information

Classification of Java Programs in SPARS-J. Kazuo Kobori, Tetsuo Yamamoto, Makoto Matsusita and Katsuro Inoue Osaka University

Classification of Java Programs in SPARS-J. Kazuo Kobori, Tetsuo Yamamoto, Makoto Matsusita and Katsuro Inoue Osaka University Classification of Java Programs in SPARS-J Kazuo Kobori, Tetsuo Yamamoto, Makoto Matsusita and Katsuro Inoue Osaka University Background SPARS-J Reuse Contents Similarity measurement techniques Characteristic

More information

Arjen de Blok. Senior Technical Consultant bij ICT Groep ( sinds 1995 Programmeren sinds 1990 Technologiën. Links

Arjen de Blok. Senior Technical Consultant bij ICT Groep (  sinds 1995 Programmeren sinds 1990 Technologiën. Links Arjen de Blok Senior Technical Consultant bij ICT Groep (www.ict.eu) sinds 1995 Programmeren sinds 1990 Technologiën Links Visual C++ met Microsoft Foundation Classes.NET WinForms & WPF Silverlight ASP.NET

More information

From Browser Wars to Framework Wars How to survive the next generation of Web development battles. Dr. Michael Evans Codernetic Ltd untangled.

From Browser Wars to Framework Wars How to survive the next generation of Web development battles. Dr. Michael Evans Codernetic Ltd untangled. From Browser Wars to Framework Wars How to survive the next generation of Web development battles Dr. Michael Evans Codernetic Ltd untangled.io Who Am I?! Worked with Web technologies since 1996 PhD, Patent

More information

Smashing Node.JS: JavaScript Everywhere

Smashing Node.JS: JavaScript Everywhere Smashing Node.JS: JavaScript Everywhere Rauch, Guillermo ISBN-13: 9781119962595 Table of Contents PART I: GETTING STARTED: SETUP AND CONCEPTS 5 Chapter 1: The Setup 7 Installing on Windows 8 Installing

More information

Front End Nanodegree Syllabus

Front End Nanodegree Syllabus Front End Nanodegree Syllabus Build Stunning User Experiences Before You Start You've taken the first step toward becoming a web developer by choosing the Front End Nanodegree program. In order to succeed,

More information

How are Developers Treating License Inconsistency Issues? A Case Study on License Inconsistency Evolution in FOSS Projects

How are Developers Treating License Inconsistency Issues? A Case Study on License Inconsistency Evolution in FOSS Projects How are Developers Treating License Inconsistency Issues? A Case Study on License Inconsistency Evolution in FOSS Projects Yuhao Wu 1(B), Yuki Manabe 2, Daniel M. German 3, and Katsuro Inoue 1 1 Graduate

More information

Rearranging the Order of Program Statements for Code Clone Detection

Rearranging the Order of Program Statements for Code Clone Detection Rearranging the Order of Program Statements for Code Clone Detection Yusuke Sabi, Yoshiki Higo, Shinji Kusumoto Graduate School of Information Science and Technology, Osaka University, Japan Email: {y-sabi,higo,kusumoto@ist.osaka-u.ac.jp

More information

Enterprise Web Development

Enterprise Web Development Enterprise Web Development Yakov Fain, Victor Rasputnis, Anatole Tartakovsky, and Viktor Gamov Beijing Cambridge Farnham Koln Sebastopol Tokyo O'REILLY Table of Contents Preface Introduction xi xxiii Part

More information

Jeff Saenz Front End Web Developer

Jeff Saenz Front End Web Developer Jeff Saenz Front End Web Developer jsaenzsweng@gmail.com RESUME Well rounded and talented web developer that is self-motivated, experienced with multiple UI technologies and frameworks and enjoys working

More information

On Refactoring Support Based on Code Clone Dependency Relation

On Refactoring Support Based on Code Clone Dependency Relation On Refactoring Support Based on Code Dependency Relation Norihiro Yoshida 1, Yoshiki Higo 1, Toshihiro Kamiya 2, Shinji Kusumoto 1, Katsuro Inoue 1 1 Graduate School of Information Science and Technology,

More information

Quick Parser Development Using Modified Compilers and Generated Syntax Rules

Quick Parser Development Using Modified Compilers and Generated Syntax Rules Quick Parser Development Using Modified Compilers and Generated Syntax Rules KAZUAKI MAEDA Department of Business Administration and Information Science, Chubu University 1200 Matsumoto, Kasugai, Aichi,

More information

CoxR: Open Source Development History Search System

CoxR: Open Source Development History Search System CoxR: Open Source Development History Search System Makoto Matsushita, Kei Sasaki and Katsuro Inoue Graduate School of Information Science and Technology, Osaka University 1-3, Machikaneyama-cho, Toyonaka-shi,

More information

RubyMine, the most advanced Ruby and Rails IDE

RubyMine, the most advanced Ruby and Rails IDE RubyMine, the most advanced Ruby and Rails IDE JetBrains RubyMine is a powerful Integrated development environment (IDE) built specifically for Ruby and Rails developers. How does RubyMine match up against

More information

Lecture 25 Clone Detection CCFinder. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim

Lecture 25 Clone Detection CCFinder. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim Lecture 25 Clone Detection CCFinder Today s Agenda (1) Recap of Polymetric Views Class Presentation Suchitra (advocate) Reza (skeptic) Today s Agenda (2) CCFinder, Kamiya et al. TSE 2002 Recap of Polymetric

More information

Is the Web good enough for my app? François Daoust W3C Workshop HTML5 vs Native by software.brussels 4 December 2014

Is the Web good enough for my app? François Daoust W3C Workshop HTML5 vs Native by software.brussels 4 December 2014 Is the Web good enough for my app? François Daoust (@tidoust), W3C Workshop HTML5 vs Native by software.brussels 4 December 2014 A short history of the Web App platform Tim Berners Lee Olympic games opening

More information

CCFinderSW: Clone Detection Tool with Flexible Multilingual Tokenization

CCFinderSW: Clone Detection Tool with Flexible Multilingual Tokenization 2017 24th Asia-Pacific Software Engineering Conference CCFinderSW: Clone Detection Tool with Flexible Multilingual Tokenization Yuichi Semura, Norihiro Yoshida, Eunjong Choi and Katsuro Inoue Osaka University,

More information

Developing ASP.NET MVC Web Applications (486)

Developing ASP.NET MVC Web Applications (486) Developing ASP.NET MVC Web Applications (486) Design the application architecture Plan the application layers Plan data access; plan for separation of concerns, appropriate use of models, views, controllers,

More information

Finally JavaScript Is Easy, with Oracle JET! Geertjan Wielenga Product Manager Oracle Developer Tools

Finally JavaScript Is Easy, with Oracle JET! Geertjan Wielenga Product Manager Oracle Developer Tools Finally JavaScript Is Easy, with Oracle JET! Geertjan Wielenga Product Manager Oracle Developer Tools Oracle JET Customers Across Oracle Include... Internet of Things Mobile Cloud Service Developer

More information

MOdern Java(Script) Server Stack

MOdern Java(Script) Server Stack MOdern Java(Script) Server Stack Pratik Patel Pratik Patel CTO Triplingo JAVA CHAMPION PRESIDENT ATLANTA JUG POLYGLOT apple mac vintage 5" screen TURTLE MY FIRST PROGRAM TURING MY FIRST REAL PROGRAM JAVASCRIPT

More information

The Reverse Engineering in Oriented Aspect Detection of semantics clones

The Reverse Engineering in Oriented Aspect Detection of semantics clones International Journal of Scientific & Engineering Research Volume 3, Issue 5, May-2012 1 The Reverse Engineering in Oriented Aspect Detection of semantics clones Amel Belmabrouk, Belhadri Messabih Abstract-Attention

More information

Front End Nanodegree Syllabus

Front End Nanodegree Syllabus Front End Nanodegree Syllabus Build Stunning User Experiences Before You Start You've taken the first step toward becoming a web developer by choosing the Front End Nanodegree program. In order to succeed,

More information

Advance Mobile& Web Application development using Angular and Native Script

Advance Mobile& Web Application development using Angular and Native Script Advance Mobile& Web Application development using Angular and Native Script Objective:- As the popularity of Node.js continues to grow each day, it is highly likely that you will use it when you are building

More information

Front-End Web Developer Nanodegree Syllabus

Front-End Web Developer Nanodegree Syllabus Front-End Web Developer Nanodegree Syllabus Build Stunning User Experiences Before You Start You've taken the first step toward becoming a web developer by choosing the Front End Web Developer Nanodegree

More information

Advanced React JS + Redux Development

Advanced React JS + Redux Development Advanced React JS + Redux Development Course code: IJ - 27 Course domain: Software Engineering Number of modules: 1 Duration of the course: 40 astr. hours / 54 study 1 hours Sofia, 2016 Copyright 2003-2016

More information

PAPER Proposing and Evaluating Clone Detection Approaches with Preprocessing Input Source Files

PAPER Proposing and Evaluating Clone Detection Approaches with Preprocessing Input Source Files IEICE TRANS. INF. & SYST., VOL.E98 D, NO.2 FEBRUARY 2015 325 PAPER Proposing and Evaluating Clone Detection Approaches with Preprocessing Input Source Files Eunjong CHOI a), Nonmember, Norihiro YOSHIDA,

More information

Detection and Behavior Identification of Higher-Level Clones in Software

Detection and Behavior Identification of Higher-Level Clones in Software Detection and Behavior Identification of Higher-Level Clones in Software Swarupa S. Bongale, Prof. K. B. Manwade D. Y. Patil College of Engg. & Tech., Shivaji University Kolhapur, India Ashokrao Mane Group

More information

An Operating System History of Operating Systems. Operating Systems. Autumn CS4023

An Operating System History of Operating Systems. Operating Systems. Autumn CS4023 Operating Systems Autumn 2017-2018 Outline 1 2 What is an Operating System? From the user s point of view an OS is: A program that acts as an intermediary between a user of a computer and the computer

More information

Brunch Documentation. Release Brunch team

Brunch Documentation. Release Brunch team Brunch Documentation Release 1.2.2 Brunch team June 22, 2012 CONTENTS i ii Contents: CONTENTS 1 2 CONTENTS CHAPTER ONE FAQ 1.1 I want to start new project with Brunch. What s the workflow? Create new

More information

FRONT END WEB. {< Course Details >}

FRONT END WEB. {< Course Details >} FRONT END WEB {< Course Details >} centers@acadgild.com www.acadgild.com 90360 10796 css { } HTML JS { ; } centers@acadgild.com www.acadgild.com 90360 10796 Brief About the Course Our Front end development

More information

A Technique to Detect Multi-grained Code Clones

A Technique to Detect Multi-grained Code Clones Detection Time The Number of Detectable Clones A Technique to Detect Multi-grained Code Clones Yusuke Yuki, Yoshiki Higo, and Shinji Kusumoto Graduate School of Information Science and Technology, Osaka

More information

Extracting Code Clones for Refactoring Using Combinations of Clone Metrics

Extracting Code Clones for Refactoring Using Combinations of Clone Metrics Extracting Code Clones for Refactoring Using Combinations of Clone Metrics Eunjong Choi 1, Norihiro Yoshida 2, Takashi Ishio 1, Katsuro Inoue 1, Tateki Sano 3 1 Graduate School of Information Science and

More information

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Jadson Santos Department of Informatics and Applied Mathematics Federal University of Rio Grande do Norte, UFRN Natal,

More information

Token based clone detection using program slicing

Token based clone detection using program slicing Token based clone detection using program slicing Rajnish Kumar PEC University of Technology Rajnish_pawar90@yahoo.com Prof. Shilpa PEC University of Technology Shilpaverma.pec@gmail.com Abstract Software

More information

DrupalCon Barcelona Preston So September 22, 2015

DrupalCon Barcelona Preston So September 22, 2015 DrupalCon Barcelona 2015 Preston So September 22, 2015 Preston So (@prestonso) has designed websites since 2001 and built them in Drupal since 2007. He is Development Manager of Acquia Labs at Acquia and

More information

ANGULAR 2.X,4.X + TYPESRCIPT by Sindhu

ANGULAR 2.X,4.X + TYPESRCIPT by Sindhu ANGULAR 2.X,4.X + TYPESRCIPT by Sindhu GETTING STARTED WITH TYPESCRIPT Installing TypeScript Compiling the code Building a simple demo. UNDERSTANDING CLASSES Building a class Adding properties Demo of

More information

"Charting the Course... Comprehensive Angular. Course Summary

Charting the Course... Comprehensive Angular. Course Summary Description Course Summary Angular is a powerful client-side JavaScript framework from Google that supports simple, maintainable, responsive, and modular applications. It uses modern web platform capabilities

More information

Strategies for Selecting the Right Open Source Framework for Cross- Browser Testing

Strategies for Selecting the Right Open Source Framework for Cross- Browser Testing W13 Test Frameworks Wednesday, October 17th, 2018 3:00 PM Strategies for Selecting the Right Open Source Framework for Cross- Browser Testing Presented by: Eran Kinsbruner Brought to you by: 350 Corporate

More information

Refactoring Support Based on Code Clone Analysis

Refactoring Support Based on Code Clone Analysis Refactoring Support Based on Code Clone Analysis Yoshiki Higo 1,Toshihiro Kamiya 2, Shinji Kusumoto 1 and Katsuro Inoue 1 1 Graduate School of Information Science and Technology, Osaka University, Toyonaka,

More information

J, K, L. Node.js require() method, 403 package.json, 401 streams functionality, 401 task() method, 401 use strict statement, 403

J, K, L. Node.js require() method, 403 package.json, 401 streams functionality, 401 task() method, 401 use strict statement, 403 Index A Abstract factory pattern, 122 126 Adapter pattern, 137 139 Apply and call methods, 15 16 Architectural patterns MVC (see Model-View-Controller (MVC)) MVP (see Model-View-Presenter (MVP) pattern)

More information

code pattern analysis of object-oriented programming languages

code pattern analysis of object-oriented programming languages code pattern analysis of object-oriented programming languages by Xubo Miao A thesis submitted to the School of Computing in conformity with the requirements for the degree of Master of Science Queen s

More information

Piotr Donicz. Profile. Education. Technical Skills. Date of birth: 11th April Mobile phone:

Piotr Donicz. Profile. Education. Technical Skills. Date of birth: 11th April Mobile phone: Piotr Donicz Date of birth: 11th April 1984 Nationality: Polish Home address Parkstr. 89C 13086 Berlin Mobile phone: +48 882 000 586 E-mail: Piotr.donicz@gmail.com Profile Highly motivated software developer

More information

Index. Backbone.js app, 274 Behavior-driven development (BDD) language, 252 bodyparser() method, 257

Index. Backbone.js app, 274 Behavior-driven development (BDD) language, 252 bodyparser() method, 257 Index A Abstraction dirname global variable, 159 middleware, 155, 158 module.exports, 160 query string parameter, 158 routes, 156, 158 AngelList API, 278 app.configure() method, 47 application.js modules,

More information

PHP + ANGULAR4 CURRICULUM 6 WEEKS

PHP + ANGULAR4 CURRICULUM 6 WEEKS PHP + ANGULAR4 CURRICULUM 6 WEEKS Hands-On Training In this course, you develop PHP scripts to perform a variety to takes, culminating in the development of a full database-driven Web page. Exercises include:

More information

Web Application Development (WAD) V th Sem BBAITM(Unit-1) By: Binit Patel

Web Application Development (WAD) V th Sem BBAITM(Unit-1) By: Binit Patel Web Application Development (WAD) V th Sem BBAITM(Unit-1) By: Binit Patel Introduction: PHP (Hypertext Preprocessor) was invented by Rasmus Lerdorf in 1994. First it was known as Personal Home Page. Later

More information

Web Development for Dinosaurs An Introduction to Modern Web Development

Web Development for Dinosaurs An Introduction to Modern Web Development Web Development for Dinosaurs An Introduction to Modern Web Development 1 / 53 Who Am I? John Cleaver Development Team Lead at Factivity, Inc. An Introduction to Modern Web Development - PUG Challenge

More information

Four Components of a Computer System

Four Components of a Computer System Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources

More information

Welcome. Quick Introductions

Welcome. Quick Introductions AEK Introduction Welcome Quick Introductions "The AEK"? Application Extension Kit Technique for delivering cross-platform application screens via a webview A development framework that provides a responsive

More information

Extracting a Unified Directory Tree to Compare Similar Software Products

Extracting a Unified Directory Tree to Compare Similar Software Products Extracting a Unified Directory Tree to Compare Similar Software Products Yusuke Sakaguchi, Takashi Ishio, Tetsuya Kanda, Katsuro Inoue Graduate School of Information Science and Technology, Osaka University,

More information

70-486: Developing ASP.NET MVC Web Applications

70-486: Developing ASP.NET MVC Web Applications 70-486: Developing ASP.NET MVC Web Applications Candidates for this exam are professional developers who use Microsoft Visual Studio 20120157 and Microsoft.NET FrameworkASP.NET to design and develop web

More information

Assertion with Aspect

Assertion with Aspect Assertion with Aspect Takashi Ishio, Toshihiro Kamiya, Shinji Kusumoto, Katsuro Inoue Graduate School of Engineering Science, PRESTO, Japan Science and Technology Agency Osaka University 1-3 Machikaneyama-cho,

More information

Modern Web Application Development. Sam Hogarth

Modern Web Application Development. Sam Hogarth Modern Web Application Development Sam Hogarth Some History Early Web Applications Server-side scripting only e.g. PHP/ASP Basic client-side scripts JavaScript/JScript/VBScript Major differences in browser

More information

Full Stack Developer with Java

Full Stack Developer with Java Full Stack Developer with Java Full Stack Developer (Java) MVC, Databases and ORMs, API Backend Frontend Fundamentals - HTML, CSS, JS Unit Testing Advanced Full Stack Developer (Java) UML, Distributed

More information

Deep Dive on How ArcGIS API for JavaScript Widgets Were Built

Deep Dive on How ArcGIS API for JavaScript Widgets Were Built Deep Dive on How ArcGIS API for JavaScript Widgets Were Built Matt Driscoll @driskull JC Franco @arfncode Agenda Prerequisites How we got here Our development lifecycle Widget development tips Tools we

More information

Duplication de code: un défi pour l assurance qualité des logiciels?

Duplication de code: un défi pour l assurance qualité des logiciels? Duplication de code: un défi pour l assurance qualité des logiciels? Foutse Khomh S.W.A.T http://swat.polymtl.ca/ 2 JHotDraw 3 Code duplication can be 4 Example of code duplication Duplication to experiment

More information

Webpack 2 The last bundler you would need in Vijay Dharap, Principal Architect, Infosys

Webpack 2 The last bundler you would need in Vijay Dharap, Principal Architect, Infosys Webpack 2 The last bundler you would need in 2017 Vijay Dharap, Principal Architect, Infosys Speaker Bio 14+ Years of experience Principal Architect in Infosys Passionate about delightful UX Open Source

More information

Introduction to Sencha Ext JS

Introduction to Sencha Ext JS Introduction to Sencha Ext JS Olga Petrova olga@sencha.com Sales Engineer EMEA Agenda Use Case How It Works Advantages Demo Use case Ext JS a Javascript framework for building enterprise data-intensive

More information

Third party software. 1. node.js. 2. node.js apps. 3. Node-RED

Third party software. 1. node.js. 2. node.js apps. 3. Node-RED Third party software The software contains components which are licensed as Open Source software. Their use is subject to a special additional usage rights agreements. The components to which this relates

More information

COS 333: Advanced Programming Techniques

COS 333: Advanced Programming Techniques COS 333: Advanced Programming Techniques how to find me bwk@cs.princeton.edu 311 Computer Science, 609-258-2089 TA's: Christopher Moretti (moretti), Taewook Oh (twoh), Xin Jin (xinjin), Raghav Sethi (raghavs),

More information

Latest releases: 5.3, The most popular of the *BSDs. Historically aimed for maximum. performance on X86. Now supports most of the popular

Latest releases: 5.3, The most popular of the *BSDs. Historically aimed for maximum. performance on X86. Now supports most of the popular Short history Based on: http://www.levenez.com/unix/ 1978 BSD (Barkeley software distribution) Based on unix system developed by Bell. 1991 386BSD BSD port to Intel (Based on 4.3BSD). 1991 Linux based

More information

Front End. Presentation Layer. UI (User Interface) User <==> Data access layer

Front End. Presentation Layer. UI (User Interface) User <==> Data access layer Angular 2 S1ngS1ng Front End UI (User Interface) User Data access layer Presentation Layer Architecture Conventional VS SPA Angular 1 Framework! Framework! Framework! MVVM (MV*) Modulization Two-way

More information

gzip middleware, Mach compressed response headers, 268 Content-Type headers, 268 Mach.gzip, 269 Vary header, 269

gzip middleware, Mach compressed response headers, 268 Content-Type headers, 268 Mach.gzip, 269 Vary header, 269 Index A AMD See Asynchronous module definition (AMD) AngularJS tool Angular Directives creation, 161 factory function, 161 newly defined directive, 162 prototypal inheritance, 160 controllers manipulating

More information

.., 2017. 09.03.01,.....,,,,,..,.., 2017 .................................... 4 1......... 6 2.......................... 8 2.1................... 8 2.2................... 9 2.2.1...........................

More information

An investigation into the impact of software licenses on copy-and-paste reuse among OSS projects

An investigation into the impact of software licenses on copy-and-paste reuse among OSS projects An investigation into the impact of software licenses on copy-and-paste reuse among OSS projects Yu Kashima, Yasuhiro Hayase, Norihiro Yoshida, Yuki Manabe, Katsuro Inoue Graduate School of Information

More information

Treating Framework Fatigue With JavaScript

Treating Framework Fatigue With JavaScript Treating Framework Fatigue With JavaScript Tim Doherty Software Architect /in/timdoherty timdoherty.net ??? Hey, this one looks cool! You May Suffer From Framework Fatigue Symptoms Confusion One-way reactive

More information

Index. Bare-bones connect application, 125 Binary JSON (BSON), 171. Callback functions asynchronous code ifelse, 199 loops,

Index. Bare-bones connect application, 125 Binary JSON (BSON), 171. Callback functions asynchronous code ifelse, 199 loops, Index A Amazon Web Services (AWS) console, 260 261 EBS, 262 EC2 Amazon Linux AMI, 262, 265 connect script and sample usage, 271 dashboard and Launch Instance, 265 global package installation, 273 hard

More information

Chapter 1: Introduction Operating Systems MSc. Ivan A. Escobar

Chapter 1: Introduction Operating Systems MSc. Ivan A. Escobar Chapter 1: Introduction Operating Systems MSc. Ivan A. Escobar What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system

More information

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code. 20480C: Programming in HTML5 with JavaScript and CSS3 Course Code: 20480C; Duration: 5 days; Instructor-led WHAT YOU WILL LEARN This course provides an introduction to HTML5, CSS3, and JavaScript. This

More information

update-nodejs-and-nodered 11/15/16, 11:37 AM

update-nodejs-and-nodered 11/15/16, 11:37 AM pi@emonpi(rw):~$ update-nodejs-and-nodered This script will remove the pre-installed versions of node.js and Node-RED and replace them with node.js 4.x LTS (argon) and the latest Node-RED from Npm. To

More information

Chapter. Focus of the Course. Object-Oriented Software Development. program design, implementation, and testing

Chapter. Focus of the Course. Object-Oriented Software Development. program design, implementation, and testing Introduction 1 Chapter 5 TH EDITION Lewis & Loftus java Software Solutions Foundations of Program Design 2007 Pearson Addison-Wesley. All rights reserved Focus of the Course Object-Oriented Software Development

More information

A Motivating Example: Building a Static Website

A Motivating Example: Building a Static Website A Motivating Example: Building a Static Adolfo Villafiorita For more info: http://www.spmbook.com Types of s Static: content is fixed. Layout and some content might be modified on the client side by Javascript.

More information

Lab 6: Testing. Software Studio DataLab, CS, NTHU

Lab 6: Testing. Software Studio DataLab, CS, NTHU Lab 6: Testing Software Studio DataLab, CS, NTHU Notice This lab is about software development good practices Interesting for those who like software development and want to go deeper Good to optimize

More information

A Mechanism for Runtime Evolution of Objects

A Mechanism for Runtime Evolution of Objects A Mechanism for Runtime Evolution of Objects Yasuhiro Sugiyama Department of Computer Science Nihon University Koriyama, Japan sugiyama@ce.nihon-u.ac.jp 1. Runtime Version Management of Objects for Software

More information

DETECTING SIMPLE AND FILE CLONES IN SOFTWARE

DETECTING SIMPLE AND FILE CLONES IN SOFTWARE DETECTING SIMPLE AND FILE CLONES IN SOFTWARE *S.Ajithkumar, P.Gnanagurupandian, M.Senthilvadivelan, Final year Information Technology **Mr.K.Palraj ME, Assistant Professor, ABSTRACT: The objective of this

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

Automatic Mining of Functionally Equivalent Code Fragments via Random Testing. Lingxiao Jiang and Zhendong Su

Automatic Mining of Functionally Equivalent Code Fragments via Random Testing. Lingxiao Jiang and Zhendong Su Automatic Mining of Functionally Equivalent Code Fragments via Random Testing Lingxiao Jiang and Zhendong Su Cloning in Software Development How New Software Product Cloning in Software Development Search

More information

Keywords Code cloning, Clone detection, Software metrics, Potential clones, Clone pairs, Clone classes. Fig. 1 Code with clones

Keywords Code cloning, Clone detection, Software metrics, Potential clones, Clone pairs, Clone classes. Fig. 1 Code with clones Volume 4, Issue 4, April 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Detection of Potential

More information

A Guide to Liv-ex Software Development Kit (SDK)

A Guide to Liv-ex Software Development Kit (SDK) A Guide to Liv-ex Software Development Kit (SDK) Document revision: 1.0 Date of Issue: 9 May 2018 Date of revision: Contents 1. Overview... 3 2. What you can do with the Liv-ex SDK... 3 3. The Liv-ex SDK

More information

55249: Developing with the SharePoint Framework Duration: 05 days

55249: Developing with the SharePoint Framework Duration: 05 days Let s Reach For Excellence! TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC Address: 103 Pasteur, Dist.1, HCMC Tel: 08 38245819; 38239761 Email: traincert@tdt-tanduc.com Website: www.tdt-tanduc.com; www.tanducits.com

More information

React(.js) the Domino Way High-Performance Client for Domino. Knut Herrmann

React(.js) the Domino Way High-Performance Client for Domino. Knut Herrmann React(.js) the Domino Way High-Performance Client for Domino Knut Herrmann CollabSphere 2018 Sponsors Knut Herrmann Senior Software Architect Leonso GmbH Notes Domino developer since version 2 Web application

More information

Angular 2 Programming

Angular 2 Programming Course Overview Angular 2 is the next iteration of the AngularJS framework. It promises better performance. It uses TypeScript programming language for type safe programming. Overall you should see better

More information

Dr. Sushil Garg Professor, Dept. of Computer Science & Applications, College City, India

Dr. Sushil Garg Professor, Dept. of Computer Science & Applications, College City, India Volume 3, Issue 11, November 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Study of Different

More information

"Charting the Course... MOC A: Developing with the SharePoint Framework. Course Summary

Charting the Course... MOC A: Developing with the SharePoint Framework. Course Summary Course Summary Description This five-day instructor-led course is intended for developers who want to be able to create client-side applications with SharePoint Framework. In this course, students will

More information

Documentation External Synchronization FirstSpirit

Documentation External Synchronization FirstSpirit Documentation External Synchronization FirstSpirit 2018-10 Status RELEASED Department Copyright FS-Core 2018 e-spirit AG File name SYNC_EN_FirstSpirit_External_Synchronization e-spirit AG Stockholmer Allee

More information