Re-engineering Software Variants into Software Product Line

Size: px
Start display at page:

Download "Re-engineering Software Variants into Software Product Line"

Transcription

1 Re-engineering Software Variants into Software Product Line Présentation extraite de la soutenance de thèse de M. Ra'Fat AL-Msie'Deen University of Montpellier

2 Software product variants 1. Software product variants Are similar software o o o Share mandatory features Differ in optional features Developed via clone-and-own approach Examples o Linux kernel « o Mobile media « o ArgoUML « 2

3 Software product Line 2. Software product Line Software-intensive systems come in many variants Motivations: o o Reduce cost and time of software development reuse, etc. Software Product Line Engineering Feature Model F1 FM F0 F2 Product Configuration e.g., Source code Domain Engineering Application Engineering 3

4 Software product Line Instance-1 Instance-2 4

5 Problem ü Software product variants Difficulties for: o Reuse... Feature (mandatory, optional)?... Feature Name and description?... Feature dependencies (feature model)? o Maintenance o Program understanding (comprehension) ü Software Product Line Design from scratch is a hard task 5

6 Goal ü Reverse engineering FM from the source code of software product variants Strategy Feature model mining (reverse engineering step): ü Mining functional features ü Documenting mined feature implementations ü Mining feature dependencies (require, exclude, group of features: xor, or,and) 6

7 Process Extracting Features Feature Implementations Software Variants Source Code 1 Product-by-Feature Matrix Feature Names Documenting Features 2 Identifying cross-tree constraints Identifying groups of features (and, or and xor) Building the Feature Model 3 7

8 Proposal Input Output Software-1 REVPLINE Feature-1 Software-2 Feature-2 Software_A Software_B Implementation Space I 1 I 2 I 1 I3 Software-N Feature-N Implementation Space Feature Space Feature Space F 1 F2 F 1 F 3 8

9 Contribution We exploit commonality and variability across the source code of software variants, to apply IR methods in an efficient way We rely on lexical and structural similarity to mine feature implementation Variability at different levels of source code elements The REVPLINE feature location approach uses two techniques: FCA and LSI 9

10 Used Technique Formal Concept Analysis (FCA) ü «objects + attributes classified concepts» The Formal Context and AOC-poset for Text Editor software Variants 10

11 Used Technique Latent Semantic Indexing (LSI) ü IR technique ü Computes textual similarity among different documents ü If two documents share a large number of terms, those documents are similar LSI 11

12 Key Ideas A Feature has the same implementation in all product variants where it is present Feature are implemented as OBEs: package, class, attribute, method, etc. Junction = overlap of feature implementations software-1 software-2 software-1 Search Space All OBEs OBEs-1 OBEs-3 OBEs-4 Structural Link Lexical Link Fi-1 Fi-2 12

13 OBE to Feature Mapping Model 13

14 Lexical Versus Structural Similarity Between OBEs Lexical Similarity Query o LSI method Document Structural Similarity o We consider five dependencies "coupling between OBEs: inheritance, method invocation, composition, attribute access and combined coupling 14

15 Process Implementation Space P1 P2 P n Static Analysis OBEs Commonalities and variabilities computation 1 2 Legend: Process Output 1 2 (Block of Variation) N Common Block Block Software variants Variable OBEs Variable OBEs Variable OBE Common OBE n Common OBE n Common OBE 3 Feature Space Feature Atomic Block Clustering Similarity Matrix Lexical similarity computation Feature Atomic Block Clustering The Combined Matrix Lexical and structural similarity computation Feature implementation

16 Example An Illustrative Example: Drawing Shapes Software Variants Features Software 16

17 Example A formal context describing drawing shapes software variants by their OBEs OBEs Software 17

18 Example Common block Blocks of variation The AOC-poset 18

19 Measuring OBEs Similarity Based on Lexical Similarity

20 Measuring OBEs Similarity Based on Lexical & Structural Similarity

21 Outline Documenting the Mined Feature Implementation 21

22 Proposal???? Mined Feature Implementation Feature Documentation Inputs Output Usecase Feature Name Description REVPLINE Use-case Diagrams Mined Feature Implementation- N Feature Description 22

23 State of the Art 1. Single software system = labels / names / topics / code summarization 2. Software variants = manually assign feature names to mined feature implementations ü Feature documentation = giving a name / description for the mined feature implementation ü The mined feature implementation must be documented o For the purpose of constructing a FM 23

24 Contribution We exploit commonality and variability across software variants, at feature implementation and use-cases levels, to apply IR methods in an efficient way Our approach gives each feature implementation a name and description based on the usecase name and description Feature documentation = Names of the OBE when use-cases are missing The REVPLINE documentation approach uses three techniques: FCA, LSI and RCA 24

25 25 Context Problem Goal Process Feature Location Feature Documentation Reverse Engineering FM Experimentation Threats to Validity Conclusion Future Directions Used Technique Relational Concept Analysis (RCA) ü «Objects (in categories) + attributes + relations classified concepts in several categories» Relational Context Family Concept Lattice Family

26 Key Ideas In our work, each use-case represents a feature All feature implementations All use-cases search space HB-1 HB-3 HB-4 Use-case Feature implementation Lexical link FD-1 FD-2 26

27 Process Input The Feature Documentation Process View map Description To RCA Tables 1 RCA Object - Attribute Tables U Use-case diagrams P P P X Concept Lattice Family Filtering (Hybrid block) i 2 Use-case Diagrams public.. ( ) {.... } Feature Implementations U Feature implementations F F X P P P X X Object - Object Table F F F U X X public.. ( ) {.... } LSI View map Lexical Similarity Computation 3 Output U X X Cosine similarity matrix Feature Name FCA 4 Documents F1 F2 Clustering Queries U U Feature Description 27 Feature Documentation Legend Process Technique Output

28 Example Mobile Tourist Guide (MTG) Software Variants Use-cases Mined Feature Implementations Software Software The use-case diagrams of the second and fourth MTG software variants 28

29 Example 29

30 Example The concept lattice family of relational context family 30

31 Example Exploring and filtering the hybrid blocks CLF to identify features documentation 31

32 Example Hybrid Block_i public viewmap(){ int a = 0; while (a > 5) { if (a!= 20) { } else { a = 30; }}} View Map Documents (Feature Implementations) Queries (use-cases) View Map Implementation View Map viewmap a The tourist can view maps via mobile device... 32

33 Example

34 Example Features Software 34

35 Using Identifier Names Naming Feature Implementation Based on OBE Names: 1. Extracting and tokenizing OBE names from the identified feature implementation 2. Weighting tokens 3. Constructing the feature name ü The proposed name = StreetShowView 35

36 Reverse Engineering Feature Models from Software Configurations 36

37 Proposal Reverse Engineering Reverse Engineering FMs Feature implementation and documentation Synthesis Inputs Output Source code Software Configurations Feature model variant 1 variant 2 F-1 F-2 F-3 S-1 x x S-2 x x S-3 x x Product-by-feature matrix REVPLINE 37

38 Contribution o o Automatic approach to organize the mined and documented features into a FM Features are organized in a tree which highlights ü ü ü ü Mandatory features Optional features Feature groups (and, or, xor groups) cross-tree constraints: require and exclude constraints o o We rely on FCA and software configurations The FMs are generated in very short time 38

39 Key Ideas All Feature The common feature set Mandatory Features The optional feature set Optional Features Identify all kinds of constraints between the optional features Group of features Cross-tree constraints 39

40 Process FM Reverse Engineering Process The Common Feature Set Product-by-Feature matrix 2 Extracting Root Feature 3 Extracting Mandatory Features 1 Analysis Formal Context The AOC-poset The Optional Feature Set Synthesize FM 4 Extracting Atomic Sets of Features 5 Extracting Inclusive-Or 6 Extracting Exclusive-Or 7 Extracting Require Constraints 8 Extracting Exclude Constraints 40

41 Example Legend: Mandatory Cell_Phone Optional Or Alternative Wireless Accu_Cell Display Games Infrared Bluetooth Strong Medium Weak Multi_Player Single_Player excludes requires requires Existing Cell phone SPL FM Artificial_Opponent 41

42 Example 42

43 Example The top concept The root feature The Base feature 43

44 Example The AND feature 44

45 Example The XOR feature Minimum concepts 45

46 Example The OR feature 46

47 Example 47

48 Example The OR feature 48

49 The mined FM Cell_Phone Base AND XOR OR Accu_ Artificial_ Single_ Multi_ Display Games Strong Medium Weak Wireless Bluetooth Infrared Cell Opponent Player Player 49

50 FM Evaluation «In our approach, feature selection constraints are not detected» 50

51 Experimentation and Threats to Validity 51

52 Experimentation ü ArgoUML-SPL = real SPL, 10 products, large systems, Java, well documented ü Health complaint-spl = real SPL, 10 products, medium systems, Java, well documented ü Mobile Media = real software variants, 4 products, small systems, Java, well documented Ø Evaluation Metrics: precision, recall and F-Measure 52

53 ArgoUML SPL ArgoUML screenshot 53

54 Health Complaint SPL Health Complaint screenshot 54

55 Mobile Media software product variants Mobile Media screenshots 55

56 Feature Location o Results show that the precision metric appears high o Results show that the recall metric appears so high o We cannot use a fixed number of topics for LSI ArgoUML-SPL Health complaint-spl Mobile Media 20 0 Precision Recall F-Measure Average of evaluation metrics for feature location 56

57 Feature Location ü The lexical and structural similarity approach gives better results than the lexical approach alone Part of the sequence diagram feature implementation 57

58 Feature Documentation o Results show that recall value in all cases is 100% o Results show that precision value either 100% or 50% o Number of topics for LSI = # of feature implementations ArgoUML-SPL Health complaint-spl Mobile Media 20 0 Precision Recall F-Measure Average of evaluation metrics for Feature Documentation 58

59 Feature Documentation Examples (Feature Name and Description) ü Use-case diagram: "a use-case is a set of scenarios that describes an interaction between a user and a system. A use-case diagram displays the relationship among actors and use-cases. The two main components of a use-case diagram are use-cases and actors" ü View sorted photos: "the device sorts the photos based on the number of times photo has been viewed" ü Specify food complaint: "this use case allows a citizen to register a food complaint. The food complaint has the following information: food complaint data, description and observations" 59

60 FM Reverse Engineering o o Considering the recall metric, it is value is 100% for all case studies Results show that precision appears to be not very high for all case studies ArgoUML-SPL Health complaint-spl Mobile Media 20 0 Precision Recall F-Measure Evaluation metrics for FM Reverse Engineering 60

61 FM Reverse Engineering

62 Reverse Engineering FMs from Samples of Program Configurations 62

63 Threats to validity 1. Lexical similarity 2. We consider junction as feature implementations 3. Dynamic analysis techniques 4. There is a limitation of using FCA as clustering technique 5. Each use-case represents a single feature 6. The mined FM defines more configurations than the initial FM 63

Mining Features from the Object-Oriented Source Code of a Collection of Software Variants Using Formal Concept Analysis and Latent Semantic Indexing

Mining Features from the Object-Oriented Source Code of a Collection of Software Variants Using Formal Concept Analysis and Latent Semantic Indexing Mining Features from the Object-Oriented Source Code of a Collection of Software Variants Using Formal Concept Analysis and Latent Semantic Indexing R. AL-msie deen 1, A.-D. Seriai 1, M. Huchard 1, C.

More information

Mining Features from the Object-Oriented Source Code of Software Variants by Combining Lexical and Structural Similarity

Mining Features from the Object-Oriented Source Code of Software Variants by Combining Lexical and Structural Similarity Mining Features from the Object-Oriented Source Code of Software Variants by Combining Leical and Structural Similarity Ra Fat Ahmad Al-Msie Deen, Abdelhak-Djamel Seriai, Marianne Huchard, Christelle Urtado,

More information

Where Should the Bugs Be Fixed?

Where Should the Bugs Be Fixed? Where Should the Bugs Be Fixed? More Accurate Information Retrieval-Based Bug Localization Based on Bug Reports Presented by: Chandani Shrestha For CS 6704 class About the Paper and the Authors Publication

More information

TopicViewer: Evaluating Remodularizations Using Semantic Clustering

TopicViewer: Evaluating Remodularizations Using Semantic Clustering TopicViewer: Evaluating Remodularizations Using Semantic Clustering Gustavo Jansen de S. Santos 1, Katyusco de F. Santos 2, Marco Tulio Valente 1, Dalton D. S. Guerrero 3, Nicolas Anquetil 4 1 Federal

More information

A Tree Kernel Based Approach for Clone Detection

A Tree Kernel Based Approach for Clone Detection A Tree Kernel Based Approach for Clone Detection Anna Corazza 1, Sergio Di Martino 1, Valerio Maggio 1, Giuseppe Scanniello 2 1) University of Naples Federico II 2) University of Basilicata Outline Background

More information

Usage Scenarios for Feature Model Synthesis.

Usage Scenarios for Feature Model Synthesis. Usage Scenarios for Feature Model Synthesis Steven She, Krzysztof Czarnecki, Andrzej Wasowski University of Waterloo IT University of Copenhagen September 30, 2012 Why Synthesize a Feature Model? Variability

More information

Introduction p. 1 What is the World Wide Web? p. 1 A Brief History of the Web and the Internet p. 2 Web Data Mining p. 4 What is Data Mining? p.

Introduction p. 1 What is the World Wide Web? p. 1 A Brief History of the Web and the Internet p. 2 Web Data Mining p. 4 What is Data Mining? p. Introduction p. 1 What is the World Wide Web? p. 1 A Brief History of the Web and the Internet p. 2 Web Data Mining p. 4 What is Data Mining? p. 6 What is Web Mining? p. 6 Summary of Chapters p. 8 How

More information

Chapter 6: Information Retrieval and Web Search. An introduction

Chapter 6: Information Retrieval and Web Search. An introduction Chapter 6: Information Retrieval and Web Search An introduction Introduction n Text mining refers to data mining using text documents as data. n Most text mining tasks use Information Retrieval (IR) methods

More information

Part I: Data Mining Foundations

Part I: Data Mining Foundations Table of Contents 1. Introduction 1 1.1. What is the World Wide Web? 1 1.2. A Brief History of the Web and the Internet 2 1.3. Web Data Mining 4 1.3.1. What is Data Mining? 6 1.3.2. What is Web Mining?

More information

Mining Reusable Software Components from Object-Oriented Source Code of a Set of Similar Software

Mining Reusable Software Components from Object-Oriented Source Code of a Set of Similar Software Mining Reusable Software Components from Object-Oriented Source Code of a Set of Similar Software Anas Shatnawi, Abdelhak-Djamel Seriai UMR CNRS 5506, LIRMM Université Montpellier 2 Sciences et Techniques

More information

Content-based Dimensionality Reduction for Recommender Systems

Content-based Dimensionality Reduction for Recommender Systems Content-based Dimensionality Reduction for Recommender Systems Panagiotis Symeonidis Aristotle University, Department of Informatics, Thessaloniki 54124, Greece symeon@csd.auth.gr Abstract. Recommender

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

Program Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008.

Program Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008. Program Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008. Outline. Abstractions for telling a computer how to do things. Computational Paradigms. Language Definition, Translation.

More information

Bing Liu. Web Data Mining. Exploring Hyperlinks, Contents, and Usage Data. With 177 Figures. Springer

Bing Liu. Web Data Mining. Exploring Hyperlinks, Contents, and Usage Data. With 177 Figures. Springer Bing Liu Web Data Mining Exploring Hyperlinks, Contents, and Usage Data With 177 Figures Springer Table of Contents 1. Introduction 1 1.1. What is the World Wide Web? 1 1.2. A Brief History of the Web

More information

Social Behavior Prediction Through Reality Mining

Social Behavior Prediction Through Reality Mining Social Behavior Prediction Through Reality Mining Charlie Dagli, William Campbell, Clifford Weinstein Human Language Technology Group MIT Lincoln Laboratory This work was sponsored by the DDR&E / RRTO

More information

Visualization and text mining of patent and non-patent data

Visualization and text mining of patent and non-patent data of patent and non-patent data Anton Heijs Information Solutions Delft, The Netherlands http://www.treparel.com/ ICIC conference, Nice, France, 2008 Outline Introduction Applications on patent and non-patent

More information

TypeChef: Towards Correct Variability Analysis of Unpreprocessed C Code for Software Product Lines

TypeChef: Towards Correct Variability Analysis of Unpreprocessed C Code for Software Product Lines TypeChef: Towards Correct Variability Analysis of Unpreprocessed C Code for Software Product Lines Paolo G. Giarrusso 04 March 2011 Software product lines (SPLs) Feature selection SPL = 1 software project

More information

CONCEPTUAL DESIGN FOR SOFTWARE PRODUCTS: SERVICE REQUEST PORTAL. Tyler Munger Subhas Desa

CONCEPTUAL DESIGN FOR SOFTWARE PRODUCTS: SERVICE REQUEST PORTAL. Tyler Munger Subhas Desa CONCEPTUAL DESIGN FOR SOFTWARE PRODUCTS: SERVICE REQUEST PORTAL Tyler Munger Subhas Desa Real World Problem at Cisco Systems Smart Call Home (SCH) is a component of Cisco Smart Services that offers proactive

More information

Software Features Extraction from Object-Oriented Source Code Using an Overlapping Clustering Approach

Software Features Extraction from Object-Oriented Source Code Using an Overlapping Clustering Approach Informatica 40 (2016) 245 255 245 Software Features Extraction from Object-Oriented Source Code Using an Overlapping Clustering Approach Imad Eddine Araar Department of Mathematics and Computer Science

More information

A Text Retrieval Approach to Recover Links among s and Source Code Classes

A Text Retrieval Approach to Recover Links among  s and Source Code Classes 318 A Text Retrieval Approach to Recover Links among E-Mails and Source Code Classes Giuseppe Scanniello and Licio Mazzeo Universitá della Basilicata, Macchia Romana, Viale Dell Ateneo, 85100, Potenza,

More information

Java Archives Search Engine Using Byte Code as Information Source

Java Archives Search Engine Using Byte Code as Information Source Java Archives Search Engine Using Byte Code as Information Source Oscar Karnalim School of Electrical Engineering and Informatics Bandung Institute of Technology Bandung, Indonesia 23512012@std.stei.itb.ac.id

More information

Improving perception of intersecting 2D scalar fields. Mark Robinson Advisor: Dr. Kay Robbins

Improving perception of intersecting 2D scalar fields. Mark Robinson Advisor: Dr. Kay Robbins Improving perception of intersecting 2D scalar fields Mark Robinson Advisor: Dr. Kay Robbins Outline of Presentation 1. Definition 2. 2D, 3D visualization techniques 3. Description of stratification 4.

More information

METHOD CHUNK FEDERATION ISABELLE MIRBEL EMMSAD 2006

METHOD CHUNK FEDERATION ISABELLE MIRBEL EMMSAD 2006 METHOD CHUNK FEDERATION ISABELLE MIRBEL EMMSAD 2006 LABORATOIRE I3S Route des Lucioles, BP 121 06903 Sophia Antipolis, Cedex France isabelle.mirbel@unice.fr OUTLINE 1. INTRODUCTION 2. MAKING PROJECT-SPECIFIC

More information

Deckard: Scalable and Accurate Tree-based Detection of Code Clones. Lingxiao Jiang, Ghassan Misherghi, Zhendong Su, Stephane Glondu

Deckard: Scalable and Accurate Tree-based Detection of Code Clones. Lingxiao Jiang, Ghassan Misherghi, Zhendong Su, Stephane Glondu Deckard: Scalable and Accurate Tree-based Detection of Code Clones Lingxiao Jiang, Ghassan Misherghi, Zhendong Su, Stephane Glondu The Problem Find similar code in large code bases, often referred to as

More information

A Heuristic-based Approach to Identify Concepts in Execution Traces

A Heuristic-based Approach to Identify Concepts in Execution Traces A Heuristic-based Approach to Identify Concepts in Execution Traces Fatemeh Asadi * Massimiliano Di Penta ** Giuliano Antoniol * Yann-Gaël Guéhéneuc ** * Ecole Polytechnique de Montréal, Canada ** Dept.

More information

Software Design Fundamentals. CSCE Lecture 11-09/27/2016

Software Design Fundamentals. CSCE Lecture 11-09/27/2016 Software Design Fundamentals CSCE 740 - Lecture 11-09/27/2016 Today s Goals Define design Introduce the design process Overview of design criteria What results in a good design? Gregory Gay CSCE 740 -

More information

Reading part: Design-Space Exploration with Alloy

Reading part: Design-Space Exploration with Alloy Reading part: Design-Space Exploration with Alloy Ing. Ken Vanherpen Abstract In the growing world of MDE many tools are offered to describe a (part of a) system, constrain it, and check some properties

More information

A Category-Theoretic Approach to Syntactic Software Merging

A Category-Theoretic Approach to Syntactic Software Merging A Category-Theoretic Approach to Syntactic Software Merging Nan Niu, Steve Easterbrook, and Mehrdad Sabetzadeh Department of Computer Science University of Toronto, Canada Email: {nn, sme, mehrdad}@cs.toronto.edu

More information

Similarities in Source Codes

Similarities in Source Codes Similarities in Source Codes Marek ROŠTÁR* Slovak University of Technology in Bratislava Faculty of Informatics and Information Technologies Ilkovičova 2, 842 16 Bratislava, Slovakia rostarmarek@gmail.com

More information

Matrix Co-factorization for Recommendation with Rich Side Information HetRec 2011 and Implicit 1 / Feedb 23

Matrix Co-factorization for Recommendation with Rich Side Information HetRec 2011 and Implicit 1 / Feedb 23 Matrix Co-factorization for Recommendation with Rich Side Information and Implicit Feedback Yi Fang and Luo Si Department of Computer Science Purdue University West Lafayette, IN 47906, USA fangy@cs.purdue.edu

More information

Part I Basic Concepts 1

Part I Basic Concepts 1 Introduction xiii Part I Basic Concepts 1 Chapter 1 Integer Arithmetic 3 1.1 Example Program 3 1.2 Computer Program 4 1.3 Documentation 5 1.4 Input 6 1.5 Assignment Statement 7 1.5.1 Basics of assignment

More information

Feature Modeling. Krzysztof Czarnecki & Simon Helsen University of Waterloo

Feature Modeling. Krzysztof Czarnecki & Simon Helsen University of Waterloo Feature Modeling Krzysztof Czarnecki & Simon Helsen University of Waterloo czarnecki@acm.org www.generative-programming.org Overview Basic Feature Modeling Concepts Exercise AmiEddi-XML 1.3 Captain Feature

More information

A Modular Approach to Document Indexing and Semantic Search

A Modular Approach to Document Indexing and Semantic Search Wright State University CORE Scholar Kno.e.sis Publications The Ohio Center of Excellence in Knowledge- Enabled Computing (Kno.e.sis) 7-2005 A Modular Approach to Document Indexing and Semantic Search

More information

IMPROVING INFORMATION RETRIEVAL BASED ON QUERY CLASSIFICATION ALGORITHM

IMPROVING INFORMATION RETRIEVAL BASED ON QUERY CLASSIFICATION ALGORITHM IMPROVING INFORMATION RETRIEVAL BASED ON QUERY CLASSIFICATION ALGORITHM Myomyo Thannaing 1, Ayenandar Hlaing 2 1,2 University of Technology (Yadanarpon Cyber City), near Pyin Oo Lwin, Myanmar ABSTRACT

More information

Ra Fat AL-msie deen Department of Information Technology, Mutah University, Al-Karak, Jordan

Ra Fat AL-msie deen Department of Information Technology, Mutah University, Al-Karak, Jordan (IJCSIS) International Journal of Computer Science and Information Security, Visualizing Object-oriented Software for Understanding and Documentation Ra Fat AL-msie deen Department of Information Technology,

More information

Integrated Impact Analysis for Managing Software Changes. Malcom Gethers, Bogdan Dit, Huzefa Kagdi, Denys Poshyvanyk

Integrated Impact Analysis for Managing Software Changes. Malcom Gethers, Bogdan Dit, Huzefa Kagdi, Denys Poshyvanyk Integrated Impact Analysis for Managing Software Changes Malcom Gethers, Bogdan Dit, Huzefa Kagdi, Denys Poshyvanyk Change Impact Analysis Software change impact analysis aims at estimating the potentially

More information

Extracting Executable Architecture from Legacy Code using Static Reverse Engineering. REHMAN ARSHAD The University of Manchester, UK

Extracting Executable Architecture from Legacy Code using Static Reverse Engineering. REHMAN ARSHAD The University of Manchester, UK Extracting Executable Architecture from Legacy Code using Static Reverse Engineering REHMAN ARSHAD The University of Manchester, UK Research Context Research Product Line Engineering Reverse Engineering

More information

CS473: Course Review CS-473. Luo Si Department of Computer Science Purdue University

CS473: Course Review CS-473. Luo Si Department of Computer Science Purdue University CS473: CS-473 Course Review Luo Si Department of Computer Science Purdue University Basic Concepts of IR: Outline Basic Concepts of Information Retrieval: Task definition of Ad-hoc IR Terminologies and

More information

User Intent Discovery using Analysis of Browsing History

User Intent Discovery using Analysis of Browsing History User Intent Discovery using Analysis of Browsing History Wael K. Abdallah Information Systems Dept Computers & Information Faculty Mansoura University Mansoura, Egypt Dr. / Aziza S. Asem Information Systems

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

FCA for Software Product Lines Representation: Mixing Configuration and Feature Relationships in a Unique Canonical Representation

FCA for Software Product Lines Representation: Mixing Configuration and Feature Relationships in a Unique Canonical Representation FCA for Software Product Lines Representation: Mixing Configuration and Feature Relationships in a Unique Canonical Representation Jessie Carbonnel 1, Karell Bertet 2, Marianne Huchard 1 and Clémentine

More information

MSc(IT) Program. MSc(IT) Program Educational Objectives (PEO):

MSc(IT) Program. MSc(IT) Program Educational Objectives (PEO): MSc(IT) Program Master of Science (Information Technology) is an intensive program designed for students who wish to pursue a professional career in Information Technology. The courses have been carefully

More information

Bibliometrics: Citation Analysis

Bibliometrics: Citation Analysis Bibliometrics: Citation Analysis Many standard documents include bibliographies (or references), explicit citations to other previously published documents. Now, if you consider citations as links, academic

More information

Basic Tokenizing, Indexing, and Implementation of Vector-Space Retrieval

Basic Tokenizing, Indexing, and Implementation of Vector-Space Retrieval Basic Tokenizing, Indexing, and Implementation of Vector-Space Retrieval 1 Naïve Implementation Convert all documents in collection D to tf-idf weighted vectors, d j, for keyword vocabulary V. Convert

More information

Semantic text features from small world graphs

Semantic text features from small world graphs Semantic text features from small world graphs Jurij Leskovec 1 and John Shawe-Taylor 2 1 Carnegie Mellon University, USA. Jozef Stefan Institute, Slovenia. jure@cs.cmu.edu 2 University of Southampton,UK

More information

Using Formal Concept Analysis for discovering knowledge patterns

Using Formal Concept Analysis for discovering knowledge patterns Using Formal Concept Analysis for discovering knowledge patterns Mohamed Rouane-Hacene 1, Marianne Huchard 2, Amedeo Napoli 3, and Petko Valtchev 1 1 Dépt. informatique, UQAM, C.P. 8888, Succ. CV, Montréal,

More information

Inheritance Usage Patterns in Open-Source Systems. Jamie Stevenson and Murray Wood. University of Strathclyde, Glasgow, UK

Inheritance Usage Patterns in Open-Source Systems. Jamie Stevenson and Murray Wood. University of Strathclyde, Glasgow, UK Inheritance Usage Patterns in Open-Source Systems Jamie Stevenson and Murray Wood University of Strathclyde, Glasgow, UK Aims of Study: To investigate how inheritance is used in practice To close the gap

More information

ON AUTOMATICALLY DETECTING SIMILAR ANDROID APPS. By Michelle Dowling

ON AUTOMATICALLY DETECTING SIMILAR ANDROID APPS. By Michelle Dowling ON AUTOMATICALLY DETECTING SIMILAR ANDROID APPS By Michelle Dowling Motivation Searching for similar mobile apps is becoming increasingly important Looking for substitute apps Opportunistic code reuse

More information

Domain-specific Concept-based Information Retrieval System

Domain-specific Concept-based Information Retrieval System Domain-specific Concept-based Information Retrieval System L. Shen 1, Y. K. Lim 1, H. T. Loh 2 1 Design Technology Institute Ltd, National University of Singapore, Singapore 2 Department of Mechanical

More information

An Overview of Techniques for Detecting Software Variability Concepts in Source Code

An Overview of Techniques for Detecting Software Variability Concepts in Source Code 1/30 An Overview of Techniques for Detecting Software Variability Concepts in Source Code Angela Lozano Université catholique de Louvain, Belgium 2/30 Variability Customized and Affordable Maximize reuse

More information

Patent documents usecases with MyIntelliPatent. Alberto Ciaramella IntelliSemantic 25/11/2012

Patent documents usecases with MyIntelliPatent. Alberto Ciaramella IntelliSemantic 25/11/2012 Patent documents usecases with MyIntelliPatent Alberto Ciaramella IntelliSemantic 25/11/2012 Objectives and contents of this presentation This presentation: identifies and motivates the most significant

More information

Graphical Notation for Topic Maps (GTM)

Graphical Notation for Topic Maps (GTM) Graphical Notation for Topic Maps (GTM) 2005.11.12 Jaeho Lee University of Seoul jaeho@uos.ac.kr 1 Outline 2 Motivation Requirements for GTM Goals, Scope, Constraints, and Issues Survey on existing approaches

More information

DR. JIVRAJ MEHTA INSTITUTE OF TECHNOLOGY

DR. JIVRAJ MEHTA INSTITUTE OF TECHNOLOGY DR. JIVRAJ MEHTA INSTITUTE OF TECHNOLOGY Subject Name: - DISTRIBUTED SYSTEMS Semester :- 8 th Subject Code: -180701 Branch :- Computer Science & Engineering Department :- Computer Science & Engineering

More information

Grundlagen methodischen Arbeitens Informationsvisualisierung [WS ] Monika Lanzenberger

Grundlagen methodischen Arbeitens Informationsvisualisierung [WS ] Monika Lanzenberger Grundlagen methodischen Arbeitens Informationsvisualisierung [WS0708 01 ] Monika Lanzenberger lanzenberger@ifs.tuwien.ac.at 17. 10. 2007 Current InfoVis Research Activities: AlViz 2 [Lanzenberger et al.,

More information

Web Service Matchmaking Using Web Search Engine and Machine Learning

Web Service Matchmaking Using Web Search Engine and Machine Learning International Journal of Web Engineering 2012, 1(1): 1-5 DOI: 10.5923/j.web.20120101.01 Web Service Matchmaking Using Web Search Engine and Machine Learning Incheon Paik *, Eigo Fujikawa School of Computer

More information

GRAF: Graph-based Runtime Adaptation Framework

GRAF: Graph-based Runtime Adaptation Framework GRAF: Graph-based Runtime Adaptation Framework SEAMS 2011 Waikiki, Honolulu, Hawaii, USA Mahdi Derakhshanmanesh1, Mehdi Amoui2, Greg O Grady2 Jürgen Ebert1, Ladan Tahvildari2 1 Institute for Software Technology,

More information

Introduction to Lexical Analysis

Introduction to Lexical Analysis Introduction to Lexical Analysis Outline Informal sketch of lexical analysis Identifies tokens in input string Issues in lexical analysis Lookahead Ambiguities Specifying lexers Regular expressions Examples

More information

Event Detection through Differential Pattern Mining in Internet of Things

Event Detection through Differential Pattern Mining in Internet of Things Event Detection through Differential Pattern Mining in Internet of Things Authors: Md Zakirul Alam Bhuiyan and Jie Wu IEEE MASS 2016 The 13th IEEE International Conference on Mobile Ad hoc and Sensor Systems

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

Software Clone Detection. Kevin Tang Mar. 29, 2012

Software Clone Detection. Kevin Tang Mar. 29, 2012 Software Clone Detection Kevin Tang Mar. 29, 2012 Software Clone Detection Introduction Reasons for Code Duplication Drawbacks of Code Duplication Clone Definitions in the Literature Detection Techniques

More information

Reverse Engineering Feature Models From Software Variants to Build Software Product Lines REVPLINE Approach

Reverse Engineering Feature Models From Software Variants to Build Software Product Lines REVPLINE Approach Reverse Engineering Feature Models From Software Variants to Build Software Product Lines REVPLINE Approach Ra Fat Ahmad Al-Msie Deen To cite this version: Ra Fat Ahmad Al-Msie Deen. Reverse Engineering

More information

Exam IST 441 Spring 2011

Exam IST 441 Spring 2011 Exam IST 441 Spring 2011 Last name: Student ID: First name: I acknowledge and accept the University Policies and the Course Policies on Academic Integrity This 100 point exam determines 30% of your grade.

More information

MATRIX BASED INDEXING TECHNIQUE FOR VIDEO DATA

MATRIX BASED INDEXING TECHNIQUE FOR VIDEO DATA Journal of Computer Science, 9 (5): 534-542, 2013 ISSN 1549-3636 2013 doi:10.3844/jcssp.2013.534.542 Published Online 9 (5) 2013 (http://www.thescipub.com/jcs.toc) MATRIX BASED INDEXING TECHNIQUE FOR VIDEO

More information

Enabling Flexibility in Process-Aware

Enabling Flexibility in Process-Aware Manfred Reichert Barbara Weber Enabling Flexibility in Process-Aware Information Systems Challenges, Methods, Technologies ^ Springer Part I Basic Concepts and Flexibility Issues 1 Introduction 3 1.1 Motivation

More information

Key Properties for Comparing Modeling Languages and Tools: Usability, Completeness and Scalability

Key Properties for Comparing Modeling Languages and Tools: Usability, Completeness and Scalability Key Properties for Comparing Modeling Languages and Tools: Usability, Completeness and Scalability Timothy C. Lethbridge Department of Electrical Engineering and Computer Science, University of Ottawa

More information

VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING QUESTION BANK VII SEMESTER

VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING QUESTION BANK VII SEMESTER VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING QUESTION BANK VII SEMESTER CS6007-INFORMATION RETRIEVAL Regulation 2013 Academic Year 2018

More information

Data and Process Modelling

Data and Process Modelling Data and Process Modelling 8a. BPMN - Basic Modelling Marco Montali KRDB Research Centre for Knowledge and Data Faculty of Computer Science Free University of Bozen-Bolzano A.Y. 2014/2015 Marco Montali

More information

Software Engineering

Software Engineering Software Engineering chap 4. Software Reuse 1 SuJin Choi, PhD. Sogang University Email: sujinchoi@sogang.ac.kr Slides modified, based on original slides by Ian Sommerville (Software Engineering 10 th Edition)

More information

Search Engines. Information Retrieval in Practice

Search Engines. Information Retrieval in Practice Search Engines Information Retrieval in Practice All slides Addison Wesley, 2008 Classification and Clustering Classification and clustering are classical pattern recognition / machine learning problems

More information

Non-negative Matrix Factorization for Multimodal Image Retrieval

Non-negative Matrix Factorization for Multimodal Image Retrieval Non-negative Matrix Factorization for Multimodal Image Retrieval Fabio A. González PhD Bioingenium Research Group Computer Systems and Industrial Engineering Department Universidad Nacional de Colombia

More information

Most keyword search tools would place a capacitive touch panel further down the results list.

Most keyword search tools would place a capacitive touch panel further down the results list. IHS Goldfire Quick Start Guide to Researcher and Innovation Trend Analysis Greg Dance, Technical Account Manager 2014 Background Goldfire provides the ability to research a complete concept found in one

More information

The Goal of this Document. Where to Start?

The Goal of this Document. Where to Start? A QUICK INTRODUCTION TO THE SEMILAR APPLICATION Mihai Lintean, Rajendra Banjade, and Vasile Rus vrus@memphis.edu linteam@gmail.com rbanjade@memphis.edu The Goal of this Document This document introduce

More information

Chrome based Keyword Visualizer (under sparse text constraint) SANGHO SUH MOONSHIK KANG HOONHEE CHO

Chrome based Keyword Visualizer (under sparse text constraint) SANGHO SUH MOONSHIK KANG HOONHEE CHO Chrome based Keyword Visualizer (under sparse text constraint) SANGHO SUH MOONSHIK KANG HOONHEE CHO INDEX Proposal Recap Implementation Evaluation Future Works Proposal Recap Keyword Visualizer (chrome

More information

Empirical Analysis of Single and Multi Document Summarization using Clustering Algorithms

Empirical Analysis of Single and Multi Document Summarization using Clustering Algorithms Engineering, Technology & Applied Science Research Vol. 8, No. 1, 2018, 2562-2567 2562 Empirical Analysis of Single and Multi Document Summarization using Clustering Algorithms Mrunal S. Bewoor Department

More information

IMPROVING FEATURE LOCATION BY COMBINING DYNAMIC ANALYSIS AND STATIC INFERENCES

IMPROVING FEATURE LOCATION BY COMBINING DYNAMIC ANALYSIS AND STATIC INFERENCES IMPROVING FEATURE LOCATION BY COMBINING DYNAMIC ANALYSIS AND STATIC INFERENCES Meghan Revelle Advisor: David Coppit Department of Computer Science The College of William and Mary Williamsburg, Virginia

More information

Week. Lecture Topic day (including assignment/test) 1 st 1 st Introduction to Module 1 st. Practical

Week. Lecture Topic day (including assignment/test) 1 st 1 st Introduction to Module 1 st. Practical Name of faculty: Gaurav Gambhir Discipline: Computer Science Semester: 6 th Subject: CSE 304 N - Essentials of Information Technology Lesson Plan Duration: 15 Weeks (from January, 2018 to April, 2018)

More information

A Model-Based Development Method for Device Drivers

A Model-Based Development Method for Device Drivers A Model-Based Development Method for Device Drivers Michael Kersten Siemens AG Otto-Hahn-Ring 6 D-81739 München Ulrich Margull 1 mal 1 Software GmbH Maxstr. 31 D-90762 Fürth Nikolaus Regnat Siemens AG

More information

Principles of Computer Game Design and Implementation. Revision Lecture

Principles of Computer Game Design and Implementation. Revision Lecture Principles of Computer Game Design and Implementation Revision Lecture Introduction Brief history; game genres Game structure A series of interesting choices Series of convexities Variable difficulty increase

More information

DEPARTMENT OF COMPUTER SCIENCE

DEPARTMENT OF COMPUTER SCIENCE Department of Computer Science 1 DEPARTMENT OF COMPUTER SCIENCE Office in Computer Science Building, Room 279 (970) 491-5792 cs.colostate.edu (http://www.cs.colostate.edu) Professor L. Darrell Whitley,

More information

Knowledge Engineering in Search Engines

Knowledge Engineering in Search Engines San Jose State University SJSU ScholarWorks Master's Projects Master's Theses and Graduate Research Spring 2012 Knowledge Engineering in Search Engines Yun-Chieh Lin Follow this and additional works at:

More information

On partial order semantics for SAT/SMT-based symbolic encodings of weak memory concurrency

On partial order semantics for SAT/SMT-based symbolic encodings of weak memory concurrency On partial order semantics for SAT/SMT-based symbolic encodings of weak memory concurrency Alex Horn and Daniel Kroening University of Oxford April 30, 2015 Outline What s Our Problem? Motivation and Example

More information

Pre-Requisites: CS2510. NU Core Designations: AD

Pre-Requisites: CS2510. NU Core Designations: AD DS4100: Data Collection, Integration and Analysis Teaches how to collect data from multiple sources and integrate them into consistent data sets. Explains how to use semi-automated and automated classification

More information

Multidimensional Indexing The R Tree

Multidimensional Indexing The R Tree Multidimensional Indexing The R Tree Module 7, Lecture 1 Database Management Systems, R. Ramakrishnan 1 Single-Dimensional Indexes B+ trees are fundamentally single-dimensional indexes. When we create

More information

iserver Free Archimate ArchiMate 1.0 Template Stencil: Getting from Started Orbus Guide Software Thanks for Downloading the Free ArchiMate Template! Orbus Software have created a set of Visio ArchiMate

More information

Information Retrieval: Retrieval Models

Information Retrieval: Retrieval Models CS473: Web Information Retrieval & Management CS-473 Web Information Retrieval & Management Information Retrieval: Retrieval Models Luo Si Department of Computer Science Purdue University Retrieval Models

More information

ADMINISTRATIVE MANAGEMENT COLLEGE

ADMINISTRATIVE MANAGEMENT COLLEGE First Semester ADMINISTRATIVE MANAGEMENT COLLEGE BACHELOR OF COMPUTER APPLICATION COURSE OUTCOME (CO) Problem solving techniques Using C CO 1: Understand the basic concepts of programming, software and

More information

Recommender Systems: Practical Aspects, Case Studies. Radek Pelánek

Recommender Systems: Practical Aspects, Case Studies. Radek Pelánek Recommender Systems: Practical Aspects, Case Studies Radek Pelánek 2017 This Lecture practical aspects : attacks, context, shared accounts,... case studies, illustrations of application illustration of

More information

SAS Visual Analytics 8.2: Working with Report Content

SAS Visual Analytics 8.2: Working with Report Content SAS Visual Analytics 8.2: Working with Report Content About Objects After selecting your data source and data items, add one or more objects to display the results. SAS Visual Analytics provides objects

More information

Chapter 6. Advanced Data Modeling. Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel

Chapter 6. Advanced Data Modeling. Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel Chapter 6 Advanced Data Modeling Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel 1 In this chapter, you will learn: About the extended entity relationship (EER)

More information

TagProp: Discriminative Metric Learning in Nearest Neighbor Models for Image Annotation

TagProp: Discriminative Metric Learning in Nearest Neighbor Models for Image Annotation TagProp: Discriminative Metric Learning in Nearest Neighbor Models for Image Annotation Matthieu Guillaumin, Thomas Mensink, Jakob Verbeek, Cordelia Schmid LEAR team, INRIA Rhône-Alpes, Grenoble, France

More information

LABORATORY 1 REVISION

LABORATORY 1 REVISION UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the

More information

5. Semantic Analysis. Mircea Lungu Oscar Nierstrasz

5. Semantic Analysis. Mircea Lungu Oscar Nierstrasz 5. Semantic Analysis Mircea Lungu Oscar Nierstrasz Thanks to Jens Palsberg and Tony Hosking for their kind permission to reuse and adapt the CS132 and CS502 lecture notes. http://www.cs.ucla.edu/~palsberg/

More information

Finding the Missing Eclipse Perspective: the Runtime Perspective. Andrew Giang Marwan Abi-Antoun Department of Computer Science

Finding the Missing Eclipse Perspective: the Runtime Perspective. Andrew Giang Marwan Abi-Antoun Department of Computer Science Finding the Missing Eclipse Perspective: the Runtime Perspective Andrew Giang Marwan Abi-Antoun Department of Computer Science 1 Outline Motivation For each feature in the Runtime Perspective, discuss:

More information

Introduction to Parsing. Lecture 5

Introduction to Parsing. Lecture 5 Introduction to Parsing Lecture 5 1 Outline Regular languages revisited Parser overview Context-free grammars (CFG s) Derivations Ambiguity 2 Languages and Automata Formal languages are very important

More information

Variability representation in product lines using concept lattices: feasibility study with descriptions from Wikipedia s product comparison matrices

Variability representation in product lines using concept lattices: feasibility study with descriptions from Wikipedia s product comparison matrices Variability representation in product lines using concept lattices: feasibility study with descriptions from Wikipedia s product comparison matrices Jessie Carbonnel, Marianne Huchard, and Alain Gutierrez

More information

Lecture 2 and 3: Fundamental Object-Oriented Concepts Kenneth M. Anderson

Lecture 2 and 3: Fundamental Object-Oriented Concepts Kenneth M. Anderson Lecture 2 and 3: Fundamental Object-Oriented Concepts Kenneth M. Anderson January 13, 2005 January 18, 2005 1 of 38 Lecture Goals Introduce the basic concepts of object-oriented analysis/design/programming

More information

Better Contextual Suggestions in ClueWeb12 Using Domain Knowledge Inferred from The Open Web

Better Contextual Suggestions in ClueWeb12 Using Domain Knowledge Inferred from The Open Web Better Contextual Suggestions in ClueWeb12 Using Domain Knowledge Inferred from The Open Web Thaer Samar 1, Alejandro Bellogín 2, and Arjen P. de Vries 1 1 Centrum Wiskunde & Informatica, {samar,arjen}@cwi.nl

More information

Software Synthesis from Dataflow Models for G and LabVIEW

Software Synthesis from Dataflow Models for G and LabVIEW Software Synthesis from Dataflow Models for G and LabVIEW Hugo A. Andrade Scott Kovner Department of Electrical and Computer Engineering University of Texas at Austin Austin, TX 78712 andrade@mail.utexas.edu

More information

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE Dave Clarke 1 THIS LECTURE At the end of this lecture you will know notations for expressing software architecture the design principles of cohesion

More information

Clustering Techniques

Clustering Techniques Clustering Techniques Bioinformatics: Issues and Algorithms CSE 308-408 Fall 2007 Lecture 16 Lopresti Fall 2007 Lecture 16-1 - Administrative notes Your final project / paper proposal is due on Friday,

More information