Analysing Structural Dependencies in Software Product Lines
|
|
- Octavia Sims
- 8 years ago
- Views:
Transcription
1 Analysing Structural Dependencies in Software Product Lines Using Distribution and Network Statistics by Sven Apel, Sergiy Kolnesikov, Stefan Sobernig; in cooperation with Jörg Liebig and Norbert Siegmund March 21, 2012 Structural Dependencies FOSD-Treffen 12 Sobernig 1 / 23
2 Structure of the talk 1. Motivation 2. Gathering syntactic reference data from Java-based SPLs (Fuji) 3. Notions of reference 4. Degree statistics over reference data Ufff! A false x-ray apparatus for SPLs? (Illustration adapted from Perelman (1913/2008): Physics for Entertainment, Fig. 95, p. 132) Structural Dependencies FOSD-Treffen 12 Sobernig 2 / 23
3 Data collection for Fuji-driven SPLs Composition spec Compilation units (*.java) ASTs Composed ASTs Processing SPL structure JastAddJ parser frontend Feature module composition Reference extraction aspl Introductions Base A.java References Consolidated References F1 A.java Introductions See [Kol11] for details on Fuji Structural Dependencies FOSD-Treffen 12 Sobernig 3 / 23
4 A generic notion of reference In the Fuji/Java context, relevant DeclExpressions are... Class declarations Constructor and initializer declarations Method declarations Field declarations RelevantUseExpressions are... t aref s Class-instance creation expressions Field access expressions Method invocation expressions DeclExpression UseExpression Structural Dependencies FOSD-Treffen 12 Sobernig 4 / 23
5 An extended notion of Fuji reference Base F1 A foo() aref bar() B bref α: B.bar() A foo() f: F1 C R : F A Γ F A Γ = (({f i,α m,τ},{f j,α n,τ}),) 1 i,j F, i j 1 m,n A, m n τ Γ :{type, field, method, constructor} Intra-module references, e.g.: aref ({Base,B.bar(),method},{Base,A.foo(),method}) Inter-module references, e.g.: bref ({Base,B.bar(),method},{F1,A.foo(),method}) Structural Dependencies FOSD-Treffen 12 Sobernig 5 / 23
6 Available reference data sets (SPLs) References and introductions data of 28 SPLs Feature modules: = 99 (BerkeleyDB) vs. δ = 5 (Raroscope) Introductions: = 9379 (BerkeleyDB) vs. δ = 43 (EPL) (Unique) references: = (BerkeleyDB) vs. δ = 80 (EPL) (Unique) inter-module references: = (BerkeleyDB) vs. δ = 51 (Raroscope) Structural Dependencies FOSD-Treffen 12 Sobernig 6 / 23
7 Fuji reference space The reference data can be sliced by pairs of syntactic categories: source target field method constructor type field method constructor type 4 4 = 16 subsets of reference data per SPL Column-wise aggregation: field accesses, method accesses... the level of abstraction: per-element vs. per-feature-module... the kind of reference: intra-module vs. inter-module... the reference direction: in- vs. outgoing... or any combination of the above! Structural Dependencies FOSD-Treffen 12 Sobernig 7 / 23
8 Degrees in reference networks α: B.bar() f: F1 For each possible reference-data slice, e.g.: method method per-element, intra- and inter-module references... d+ = 3 d- = 1... we can form a graphg R We can identify local properties of each node n (e.g., element, feature module), such as: out-degree d + (n) in-degree d (n)... as well as their relative forms and global, degree-based characteristics Average, minimum, and maximum degrees: φd + (G R ),φd (G R ), d + (G R ), d (G R ),δd + (G R ), δd (G R ) (In-/Out-) Degree distribution Structural Dependencies FOSD-Treffen 12 Sobernig 8 / 23
9 An exemplary out-degree distribution For the given example, the global, out-degree characteristics are: d+ = 0 α: B.bar() d+ = 0 d+ = 2 d+ = 1 d+ = 1 d+ =2 d+ = 3 d+ = 0 f: F1 d+ = 1 d+ = 1 d + (G R ) = 3 δd + (G R ) = 0 φd + (G R ) =? The distribution of out-degree frequencies in G R : out-degree frequency rel. frequency Example (method->method out-degrees) rel. frequency out-degree Structural Dependencies FOSD-Treffen 12 Sobernig 9 / 23
10 Do degrees follow a particular distribution? Random binominal distribution (p = 0.5) Random Poisson distribution (lambda = 2) Random geometric distribution (p = 0.5) rel. frequency rel. frequency rel. frequency out-degree out-degree out-degree Structural Dependencies FOSD-Treffen 12 Sobernig 10 / 23
11 Towards Smell Detection, Ex. 1 (1) A variant of a Feature Envy [Fow03]: Excessive Inter-Module Method Invocations 1. For a given SPL, choose the appropriate data slice: per-element, * method references, out-degrees, inter-module 2. Indicator measures: network density, strength distribution (skewness) Possible envies? Mostly ego-centric? d+ = 2 α: B.bar() f: F1 f: F3 α: D.daz() d+ = 3 d+ = 4 d+ = 2 d+ = 3 d+ = 3 f: F2 α: C.faz() d+ = 0 α: B.bar() f: F1 f: F3 α: D.daz() d+ = 0 d+ = 3 d+ = 1 d+ = 1 d+ = 0 f: F2 α: C.faz() density = 17/30 ~ 0.57 F = 6 density = 5/30 = 0.3 F = Left-skewed 0.5 Right-skewed rel. frequency rel. frequency out-degree out-degree 2 3 Structural Dependencies FOSD-Treffen 12 Sobernig 11 / 23
12 Towards Smell Detection, Ex. 1 (2) Can one observe method-level feature Envies in the TankWar Fuji-SPL?,-./ :;<:.3=4>:?1@74@-1;A.-3A8A7>B!"( 173"4E17F?7.@=!"'!"&!"%!"$ Positive skew (right-tailed), also heavy-tailed?!"#!"!! # $ Majority of self-sufficient (cohesive) elements % & ' ( 8-1C78>4D714>:?1@7 Hubs ) * + (Frequent?) outliers Structural Dependencies FOSD-Treffen 12 Sobernig 12 / 23
13 Research question(s): Are we looking at variants of a power-law distribution for our SPLs and for all/certain slices? Random Barabasi power-law distribution (n = 30, linear attachment) 0.5 rel. frequency out-degree Why would one expect to find such a degree distribution in a Fuji SPL? Structural Dependencies FOSD-Treffen 12 Sobernig 13 / 23
14 On Power Laws (or the like) Numerous reports for important OO program structures: Many hierarchical (ownership) and non-hierarchical (statements) relations within and between class boundaries; Qualitas Corpus [TSWW11]; also states the correspondence between overall connectivity and between-class connectivity. Classes and class relations such as inheritance and aggregation; JDK class libraries [WC03] Variable type annotations, object creation, and parameter passing; Squeak and VisualWorks Smalltalk [MPST04]. Global layout of 60 object graphs, extracted from object-object references from sources as diverse as C++ frontend to GCC, the Self runtime, and Java ArgoUML [PNFB05] Underlying forces (development processes and practises) Preferential attachment in the development process OO design patterns (e.g., template & hook methods, abstract class designs) Key classes Structural Dependencies FOSD-Treffen 12 Sobernig 14 / 23
15 Per-feature-module statistics α: B.bar() f: F1 Base F1 Only inter-module reference are considered Per-element references become aggregated/subsumed by per-module references (edge weights) Structural Dependencies FOSD-Treffen 12 Sobernig 15 / 23
16 Towards Smell Detection, Ex. 2 Direct Field Accesses vs. Feature-Module Boundaries [AKL + 12] 1. For a given SPL, choose the appropriate data slice: per-feature, * field references, out-degrees, inter-module 2. Indicator measures: network density, degree distribution (skewness) Relatively high coupling Relatively low coupling d+ = 2 d+ = 1 d+ = 3 d+ = 3 d+ = 2 d+ = 0 d+ = 0 d+ = 1 d+ = 0 d+ = 4 d+ = 3 d+ = 3 density = 17/30 ~ 0.57 F = 6 density = 5/30 = 0.17 F = Left-skewed 0.5 Right-skewed rel. frequency rel. frequency out-degree out-degree 2 3 Structural Dependencies FOSD-Treffen 12 Sobernig 16 / 23
17 Closing: Further directions of analysis 1. Short-term objectives (Stefan, Sven, Sergiy) Additional slicing dimensions: Incorporate co-occurrence dependencies between feature modules (never, always, optional) Usage frequencies of introductions Distribution statistics for field and method accesses per feature module Local/global characteristics of derivative features (Jörg) Detection/calibration of intrinsic (statistical) thresholds for degree and distribution statistics Input for Performance Prediction (see Norbert s and Sergiy s talks): Higher-Order (e.g., triangles) and Hot-Spot Features (hubs, betweeness) 2. Mid-term objectives Detection/calibration of extrinsic thresholds, by incorporating the non-functional data profiles of the SPLs (Sergiy, Norbert, Jörg) Weighted network statistics (Stefan, Sven, Jörg) Edge weights based on reference counts (per-element, per-feature) Attribute measures as edge weights (e.g., degrees of coupling and scattering,... )... Structural Dependencies FOSD-Treffen 12 Sobernig 17 / 23
18 Shooting time! What do you see through the walls of SPL code data? (Illustration adapted from Perelman (1913/2008): Physics for Entertainment, Fig. 95, p. 132) Structural Dependencies FOSD-Treffen 12 Sobernig 18 / 23
19 References Sergiy Kolesnikov. Ein erweiterbarer Compiler zum feature-orientierten Programmieren in Java. Talk at the FOSD Annual Meeting 2011, Dresden, März 2011 Craig Taube-Schock, Robert Walker, and Ian Witten. Can we avoid high coupling? In ECOOP 2011 Object-Oriented Programming, volume 6813 of Lecture Notes in Computer Science, pages Springer-Verlag, 2011 M. Marchesi, S. PINNA, N. SERRA, and S. Tuveri. Power laws in smalltalk. In Proceedings of the 12th Smalltalk Joint Event, 2004 Richard Wheeldon and Steve Counsell. Power Law Distributions in Class Relationships. Proceedings of the IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 03), pages 1 10, 2003 Sven Apel, Sergiy Kolesnikov, Jörg Liebig, Christian Kästner, Martin Kuhlemann, and Thomas Leich. Access control in feature-oriented programming. Science of Computer Programming, 77(3): , 2012 Martin Fowler. Refactoring Improving the Design of Existing Code. The Addison-Wesley object technology series. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2003 Lionel C. Briand, John W. Daly, and Jürgen K. Wüst. A Unified Framework for Coupling Measurement in Object-Oriented Systems. IEEE Transactions on Software Engineering, 25:91 121, 1999 Structural Dependencies FOSD-Treffen 12 Sobernig 19 / 23
20 Appendix Structural Dependencies FOSD-Treffen 12 Sobernig 20 / 23
21 Fuji-driven SPLs Composition spec Compilation units (*.java) ASTs Composed ASTs Product (bytecode) Processing SPL structure JastAddJ parser frontend Feature module composition JastAddJ compiler backend aspl Base A.java F1 A.java See [Kol11] for details on Fuji Structural Dependencies FOSD-Treffen 12 Sobernig 21 / 23
22 Feature-module composition Fuji composes feature modules using AST superimposition: Base F 1 Base F1 α: A τ: type A B α: B τ: type f: F1 α: A τ: type A C f: F1 α: C τ: type foo() bar() α: B.bar() f: F1 foo()... its introducing feature module f : Base,F1... its labelα: A,B,...,foo()... its syntactic categoryτ : type,method Each declaration element are identified by... Structural Dependencies FOSD-Treffen 12 Sobernig 22 / 23
23 Exploratory issue: Per-feature-module statistics (1) r1 fs s ft t f1 fn r2 cross-tabulation f1 fn rm Reference data (showing source and target feature per reference) Asymmetric feature-feature matrix Structural Dependencies FOSD-Treffen 12 Sobernig 23 / 23
International Journal of Web & Semantic Technology (IJWesT) Vol.3, No.3, July 2012. Vishnuvardhan Mannava 1 and T. Ramesh 2
COMPOSITE DESIGN PATTERN FOR FEATURE- ORIENTED SERVICE INJECTION AND COMPOSITION OF WEB SERVICES FOR DISTRIBUTED COMPUTING SYSTEMS WITH SERVICE ORIENTED ARCHITECTURE Vishnuvardhan Mannava 1 and T. Ramesh
More informationEmpirical study of software quality evolution in open source projects using agile practices
1 Empirical study of software quality evolution in open source projects using agile practices Alessandro Murgia 1, Giulio Concas 1, Sandro Pinna 1, Roberto Tonelli 1, Ivana Turnu 1, SUMMARY. 1 Dept. Of
More informationTowards Software Configuration Management for Test-Driven Development
Towards Software Configuration Management for Test-Driven Development Tammo Freese OFFIS, Escherweg 2, 26121 Oldenburg, Germany tammo.freese@offis.de Abstract. Test-Driven Development is a technique where
More informationAgile Software Development
Agile Software Development Lecturer: Raman Ramsin Lecture 13 Refactoring Part 3 1 Dealing with Generalization: Pull Up Constructor Body Pull Up Constructor Body You have constructors on subclasses with
More informationSafe Generation in Feature-Oriented Software Development Sven Apel
Safe Generation in Feature-Oriented Software Development Sven Apel Lehrstuhl für Programmierung Universität Passau Software Product Line Engineering OS FAME-DBMS BufferMgr Statistics Storage Domain Analysis
More informationBridging the Gap between Variability in Client Application and Database Schema
Bridging the Gap between Variability in Client Application and Database Schema Norbert Siegmund 1, Christian Kästner 1, Marko Rosenmüller 1, Florian Heidenreich 2, Sven Apel 3, and Gunter Saake 1 1 School
More informationColligens: A Tool to Support the Development of Preprocessor-based Software Product Lines in C
Colligens: A Tool to Support the Development of Preprocessor-based Software Product Lines in C Flávio Medeiros 1, Thiago Lima 2, Francisco Dalton 2, Márcio Ribeiro 2, Rohit Gheyi 1, Baldoino Fonseca 2
More informationClone Detection in a Product Line Context
Clone Detection in a Product Line Context Thilo Mende, Felix Beckwermert University of Bremen, Germany {tmende,beckwermert}@informatik.uni-bremen.de Abstract: Software Product Lines (SPL) can be used to
More informationObject Oriented Design
Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and
More informationRobbyDBMS A Case Study on Hardware/Software Product Line Engineering
RobbyDBMS A Case Study on Hardware/Software Product Line Engineering Jörg Liebig and Sven Apel and Christian Lengauer Department of Infmatics and Mathematics University of Passau, Germany {joliebig,apel,lengauer}@fim.uni-passau.de
More informationsql-schema-comparer: Support of Multi-Language Refactoring with Relational Databases
sql-schema-comparer: Support of Multi-Language Refactoring with Relational Databases Hagen Schink Institute of Technical and Business Information Systems Otto-von-Guericke-University Magdeburg, Germany
More informationAutomated Validation & Verification of Software Paper Presentation
Regression Test Selection for Java Software Salvador Valencia Rodríguez Automated Validation & Verification of Software Paper Presentation Paper authors Mary Jean Harrold James A. Jones Tongyu Li Donglin
More informationPractical Graph Mining with R. 5. Link Analysis
Practical Graph Mining with R 5. Link Analysis Outline Link Analysis Concepts Metrics for Analyzing Networks PageRank HITS Link Prediction 2 Link Analysis Concepts Link A relationship between two entities
More informationMeasuring the Coherence of Software Product Line Architectures
Measuring the Coherence of Software Product Line Architectures Vojislav B. Mišić 1 technical report TR 06/03 Department of Computer Science, University of Manitoba Winnipeg, Manitoba, Canada R3T 2N2 June
More informationRegression Test Selection for Java Software
Proc. of the ACM Conf. on OO Programming, Systems, Languages, and Applications (OOPSLA ), ACM Copyright. Regression Test Selection for Java Software Mary Jean Harrold harrold@cc.gatech.edu Alessandro Orso
More informationVisCG: Creating an Eclipse Call Graph Visualization Plug-in. Kenta Hasui, Undergraduate Student at Vassar College Class of 2015
VisCG: Creating an Eclipse Call Graph Visualization Plug-in Kenta Hasui, Undergraduate Student at Vassar College Class of 2015 Abstract Call graphs are a useful tool for understanding software; however,
More informationQuality Assurance by Means of Feature Models
Faculty of Computer Science, Institute of Software- and Multimedia-Technology, Chair for Software Technology Quality Assurance by Means of Feature Models David Gollasch FOSD Meeting 2014, Dagstuhl, 07.05.2014
More informationIMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS
IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS Edwin Hautus Compuware Europe P.O. Box 12933 The Netherlands edwin.hautus@nl.compuware.com Abstract Packages are an important mechanism to decompose
More informationComputer Network Topologies: Models and Generation Tools
Consiglio Nazionale delle Ricerche Technical Report n. 5/200 Computer Network Topologies: Models and Generation Tools Giuseppe Di Fatta, Giuseppe Lo Presti 2, Giuseppe Lo Re CE.R.E. Researcher 2 CE.R.E.,
More informationChapter 1 Fundamentals of Java Programming
Chapter 1 Fundamentals of Java Programming Computers and Computer Programming Writing and Executing a Java Program Elements of a Java Program Features of Java Accessing the Classes and Class Members The
More informationAn Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,
More informationRemix Your Data: Visualizing Library Instruction Statistics
Remix Your Data: Visualizing Library Instruction Statistics Brianna Marshall David Edward Ted Polley We will be handing out flash drives. If you would like to follow along, please install Sci2 and Gephi
More informationGeneral Network Analysis: Graph-theoretic. COMP572 Fall 2009
General Network Analysis: Graph-theoretic Techniques COMP572 Fall 2009 Networks (aka Graphs) A network is a set of vertices, or nodes, and edges that connect pairs of vertices Example: a network with 5
More informationThe Nature and Importance of a Programming Paradigm
Multiple Software Development Paradigms and Multi-Paradigm Software Development Valentino Vranić vranic@elf.stuba.sk Abstract: While OOP (including OOA/D) is reaching the level of maturity of structured
More informationSOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture
SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q Number: S90-03A Passing Score: 800 Time Limit: 120 min File Version: 14.5 http://www.gratisexam.com/ Exam Code: S90-03A Exam Name:
More informationFirst-Class Relationships for Object-Orientated Programming Languages
First-Class Relationships for Object-Orientated Programming Languages by Stephen Nelson A proposal submitted to the Victoria University of Wellington in fulfilment of the requirements for the degree of
More informationClustering Connectionist and Statistical Language Processing
Clustering Connectionist and Statistical Language Processing Frank Keller keller@coli.uni-sb.de Computerlinguistik Universität des Saarlandes Clustering p.1/21 Overview clustering vs. classification supervised
More informationVariability in Service-Oriented Systems: An Analysis of Existing Approaches
Variability in -Oriented Systems: An Analysis of Existing Approaches Holger Eichelberger and Christian Kröher and Klaus Schmid 1 Software Systems Engineering, Institute of Computer Science, University
More informationMasters of Science in Software & Information Systems
Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January
More informationRun-time Variability Issues in Software Product Lines
Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, alexandre.braganca@i2s.pt 2 Dep.
More informationSoftware Quality Factors OOA, OOD, and OOP Object-oriented techniques enhance key external and internal software quality factors, e.g., 1. External (v
Object-Oriented Design and Programming Deja Vu? In the past: Structured = Good Overview of Object-Oriented Design Principles and Techniques Today: Object-Oriented = Good e.g., Douglas C. Schmidt www.cs.wustl.edu/schmidt/
More informationNetwork Analysis. BCH 5101: Analysis of -Omics Data 1/34
Network Analysis BCH 5101: Analysis of -Omics Data 1/34 Network Analysis Graphs as a representation of networks Examples of genome-scale graphs Statistical properties of genome-scale graphs The search
More informationProgram Understanding in Software Engineering
Taming the complexity: The need for program understanding in software engineering Raghvinder S. Sangwan, Ph.D. Pennsylvania State University, Great Valley School of Graduate Professional Studies Robert
More informationGenerating Aspect Code from UML Models
Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,
More informationStructural Complexity Evolution in Free Software Projects: A Case Study
Structural Complexity Evolution in Free Software Projects: A Case Study Antonio Terceiro and Christina Chavez Computer Science Department Universidade Federal da Bahia {terceiro,flach}@dcc.ufba.br Abstract.
More informationTechnical Review. The Institution of Electronics and Telecommunication Engineers. www.ietejournals.org. Volume 26 No.
ISSN : 0256-4602 THE INSTITUTION OF IETE ELECTRONICS AND TELECOMMUNICATION ENGINEERS The Institution of Electronics and Telecommunication Engineers IETE Technical Review Volume 26 No. 5 Sep-Oct 2009 www.ietejournals.org
More informationlanguage 1 (source) compiler language 2 (target) Figure 1: Compiling a program
CS 2112 Lecture 27 Interpreters, compilers, and the Java Virtual Machine 1 May 2012 Lecturer: Andrew Myers 1 Interpreters vs. compilers There are two strategies for obtaining runnable code from a program
More informationPart 2: Community Detection
Chapter 8: Graph Data Part 2: Community Detection Based on Leskovec, Rajaraman, Ullman 2014: Mining of Massive Datasets Big Data Management and Analytics Outline Community Detection - Social networks -
More informationOverview. Elements of Programming Languages. Advanced constructs. Motivating inner class example
Overview Elements of Programming Languages Lecture 12: Object-oriented functional programming James Cheney University of Edinburgh November 6, 2015 We ve now covered: basics of functional and imperative
More informationEVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS
EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS Umamaheswari E. 1, N. Bhalaji 2 and D. K. Ghosh 3 1 SCSE, VIT Chennai Campus, Chennai, India 2 SSN College of
More informationMining Metrics to Predict Component Failures
Mining Metrics to Predict Component Failures Nachiappan Nagappan, Microsoft Research Thomas Ball, Microsoft Research Andreas Zeller, Saarland University Overview Introduction Hypothesis and high level
More informationObj ect-oriented Construction Handbook
Obj ect-oriented Construction Handbook Developing Application-Oriented Software with the Tools & Materials Approach Heinz Züllighoven IT'Workplace Solutions, Inc., and LJniversity of Hamburg, Germany as
More informationSoftware Refactoring using New Architecture of Java Design Patterns
Software Refactoring using New Architecture of Java Design Patterns Norddin Habti, Prashant 1, 1 Departement d informatique et de recherche operationnelle, Universite de Montreal, Quebec, Canada (Dated:
More informationPattern Languages for Architecture Visualization
Pattern Languages for Architecture Visualization YOUNGSU SON, NHN NEXT JIWON KIM, SAMSUNG ELECTRONICS SUNGWOO YU, NHN NEXT HYUNCHUL YANG, UNIVERSITY OF SEOUL HYESEONG OH, SEJONG UNIVERSITY SEUNGSU JEONG,
More informationTool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
More informationSocial Media Mining. Network Measures
Klout Measures and Metrics 22 Why Do We Need Measures? Who are the central figures (influential individuals) in the network? What interaction patterns are common in friends? Who are the like-minded users
More informationKITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php info@kitestechnology.com technologykites@gmail.com Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
More informationA Framework for Effective Object-Oriented Software Change Impact Analysis
I.J. Information Technology and Computer Science, 205, 04, 28-4 Published Online March 205 in MECS (http://www.mecs-press.org/) DOI: 0.585/ijitcs.205.04.03 A Framework for Effective Object-Oriented Software
More informationUniversity. Course Catalog. December 2009
University Course Catalog December 2009 Course Catalog December 2009 The Siperian Master Data Management (MDM) training courses address the needs of all core roles involved in implementing, developing,
More informationHabanero Extreme Scale Software Research Project
Habanero Extreme Scale Software Research Project Comp215: Java Method Dispatch Zoran Budimlić (Rice University) Always remember that you are absolutely unique. Just like everyone else. - Margaret Mead
More informationStructural Design Patterns Used in Data Structures Implementation
Structural Design Patterns Used in Data Structures Implementation Niculescu Virginia Department of Computer Science Babeş-Bolyai University, Cluj-Napoca email address: vniculescu@cs.ubbcluj.ro November,
More informationGenerative Software Product Line Development using Variability-Aware Design Patterns
Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Generative Software Product Line Development using Variability-Aware Design Patterns Christoph Seidl, Sven Schuster, Ina Schaefer May
More informationModeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *
for Domain-Specific Software Development * Hiroshi Wada Advisor: Junichi Suzuki Department of Computer Science University of Massachusetts, Boston hiroshi_wada@otij.org and jxs@cs.umb.edu Abstract. This
More informationData Exploration Data Visualization
Data Exploration Data Visualization What is data exploration? A preliminary exploration of the data to better understand its characteristics. Key motivations of data exploration include Helping to select
More informationBad code smells Refactoring Example
Bad code smells Refactoring Example Game Design Experience Professor Jim Whitehead January 26, 2009 Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0 Announcements Game concept document
More informationCompuScholar, Inc. Alignment to Utah's Computer Programming II Standards
CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards Course Title: TeenCoder: Java Programming Course ISBN: 978 0 9887070 2 3 Course Year: 2015 Note: Citation(s) listed may represent
More informationTechnical paper review. Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald.
Technical paper review Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald Garvit Pahal Indian Institute of Technology, Kanpur October 28, 2014 Garvit
More informationAn Automatic Reversible Transformation from Composite to Visitor in Java
An Automatic Reversible Transformation from Composite to Visitor in Java Akram To cite this version: Akram. An Automatic Reversible Transformation from Composite to Visitor in Java. CIEL 2012, P. Collet,
More informationTool Support for Inspecting the Code Quality of HPC Applications
Tool Support for Inspecting the Code Quality of HPC Applications Thomas Panas Dan Quinlan Richard Vuduc Center for Applied Scientific Computing Lawrence Livermore National Laboratory P.O. Box 808, L-550
More informationComponent visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University mcserep@caesar.elte.hu
More informationSPLConfig: Product Configuration in Software Product Line
SPLConfig: Product Configuration in Software Product Line Lucas Machado, Juliana Pereira, Lucas Garcia, Eduardo Figueiredo Department of Computer Science, Federal University of Minas Gerais (UFMG), Brazil
More informationAnalyzing data. Thomas LaToza. 05-899D: Human Aspects of Software Development (HASD) Spring, 2011. (C) Copyright Thomas D. LaToza
Analyzing data Thomas LaToza 05-899D: Human Aspects of Software Development (HASD) Spring, 2011 (C) Copyright Thomas D. LaToza Today s lecture Last time Why would you do a study? Which type of study should
More informationQuality prediction model for object oriented software using UML metrics
THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS TECHNICAL REPORT OF IEICE. UML Quality prediction model for object oriented software using UML metrics CAMARGO CRUZ ANA ERIKA and KOICHIRO
More informationLanguage-Independent Safe Decomposition of Legacy Applications into Features
Nr.: FIN-02-2008 Language-Independent Safe Decomposition of Legacy Applications into Features Christian Kästner, Sven Apel, Salvador Trujillo, Martin Kuhlemann, Don Batory Arbeitsgruppe Datenbanken Fakultät
More informationService Oriented Architectures
8 Service Oriented Architectures Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ The context for SOA A bit of history
More informationRemoving False Code Dependencies to Speedup Software Build Processes
Removing False Code Dependencies to Speedup Software Build Processes Yijun Yu Homy Dayani-Fard John Mylopoulos yijun@cs.toronto.edu homy@cs.toronto.edu jm@cs.toronto.edu University of Toronto IBM Canada
More informationAnalysis report examination with CUBE
Analysis report examination with CUBE Brian Wylie Jülich Supercomputing Centre CUBE Parallel program analysis report exploration tools Libraries for XML report reading & writing Algebra utilities for report
More informationIdea: Measuring the Effect of Code Complexity on Static Analysis Results
Idea: Measuring the Effect of Code Complexity on Static Analysis Results James Walden, Adam Messer, and Alex Kuhl Department of Computer Science Northern Kentucky University Highland Heights, KY 41099
More informationUnderstanding Software Static and Dynamic Aspects
Understanding Software Static and Dynamic Aspects Welf Löwe IPD, Universität Karlsruhe PF 6980, 76128 Karlsruhe Germany loewe@ira.uka.de Andreas Ludwig IPD, Universität Karlsruhe PF 6980, 76128 Karlsruhe
More informationConcepts and terminology in the Simula Programming Language
Concepts and terminology in the Simula Programming Language An introduction for new readers of Simula literature Stein Krogdahl Department of Informatics University of Oslo, Norway April 2010 Introduction
More informationLanguage Based Virtual Machines... or why speed matters. by Lars Bak, Google Inc
Language Based Virtual Machines... or why speed matters by Lars Bak, Google Inc Agenda Motivation for virtual machines HotSpot V8 Dart What I ve learned Background 25+ years optimizing implementations
More informationArchitecture. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/
Architecture Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Some slides were adapted from L. Osterweil, B. Meyer, and P. Müller material Reda Bendraou LI386-S1
More informationReactive Variability Realization with Test-Driven Development and Refactoring
Reactive Variability Realization with Test-Driven Development and Refactoring Glauco Silva Neves Informatics and Statistics Department - INE Federal University of Santa Catarina - UFSC Florianópolis, Brazil
More informationXFlash A Web Application Design Framework with Model-Driven Methodology
International Journal of u- and e- Service, Science and Technology 47 XFlash A Web Application Design Framework with Model-Driven Methodology Ronnie Cheung Hong Kong Polytechnic University, Hong Kong SAR,
More informationAIPLE-IS: An Approach to Develop Product Lines for Information Systems Using Aspects
SBCARS 2007 AIPLE-IS: An Approach to Develop Product Lines for Information Systems Using Aspects Rosana T. Vaccare Braga, Fernão S. Rodrigues Germano, Stanley F. Pacios, Paulo C. Masiero Instituto de Ciências
More informationThe Big Picture. Describing Data: Categorical and Quantitative Variables Population. Descriptive Statistics. Community Coalitions (n = 175)
Describing Data: Categorical and Quantitative Variables Population The Big Picture Sampling Statistical Inference Sample Exploratory Data Analysis Descriptive Statistics In order to make sense of data,
More informationImplementing a Bidirectional Model Transformation Language as an Internal DSL in Scala
Implementing a Bidirectional Model Transformation Language as an Internal DSL in Scala BX 14: 3rd International Workshop on Bidirectional Transformations @EDBT/ICDT 14, Athens, Greece Arif Wider Humboldt-University
More informationMulti-objective Design Space Exploration based on UML
Multi-objective Design Space Exploration based on UML Marcio F. da S. Oliveira, Eduardo W. Brião, Francisco A. Nascimento, Instituto de Informática, Universidade Federal do Rio Grande do Sul (UFRGS), Brazil
More informationExploiting Dynamic Information in IDEs Eases Software Maintenance
Exploiting Dynamic Information in IDEs Eases Software Maintenance David Röthlisberger Software Composition Group, University of Bern, Switzerland roethlis@iam.unibe.ch Abstract The integrated development
More informationFeature-Oriented Software Development
Feature-Oriented Software Development A Short Tutorial on Feature-Oriented Programming, Virtual Separation of Concerns, and Variability-Aware Analysis Christian Kästner 1 and Sven Apel 2 1 Philipps University
More informationFeatureIDE: An Extensible Framework for Feature-Oriented Software Development
FeatureIDE: An Extensible Framework for Feature-Oriented Software Development Thomas Thüm a, Christian Kästner b, Fabian Benduhn a, Jens Meinicke a, Gunter Saake a, Thomas Leich c a University of Magdeburg,
More informationModel-Driven Development - From Frontend to Code
Model-Driven Development - From Frontend to Code Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de Markus Völter voelter@acm.org www.voelter.de -1- Model Driven
More informationCore Issues Affecting Software Architecture in Enterprise Projects
Core Issues Affecting Software Architecture in Enterprise Projects Halûk Gümüşkaya Abstract In this paper we analyze the core issues affecting software architecture in enterprise projects where a large
More informationScalable Prediction of Non-functional Properties in Software Product Lines
Scalable Prediction of Non-functional Properties in Software Product Lines Norbert Siegmund, Marko Rosenmüller University of Magdeburg, Germany Christian Kästner, Paolo G. Giarrusso Phillips University
More informationInternational Journal of Software Engineering and Knowledge Engineering c World Scientific Publishing Company
International Journal of Software Engineering and Knowledge Engineering c World Scientific Publishing Company Rapid Construction of Software Comprehension Tools WELF LÖWE Software Technology Group, MSI,
More informationCSC408H Lecture Notes
CSC408H Lecture Notes These lecture notes are provided for the personal use of students taking Software Engineering course in the Summer term 2005 at the University of Toronto. Copying for purposes other
More informationCode Generation Tools for PDEs. Matthew Knepley PETSc Developer Mathematics and Computer Science Division Argonne National Laboratory
Code Generation Tools for PDEs Matthew Knepley PETSc Developer Mathematics and Computer Science Division Argonne National Laboratory Talk Objectives Introduce Code Generation Tools - Installation - Use
More informationPerspectives on Automated Testing of Aspect-Oriented Programs
Perspectives on Automated Testing of Aspect-Oriented Programs ABSTRACT Tao Xie Department of Computer Science North Carolina State University Raleigh, NC 27695 xie@csc.ncsu.edu Aspect-oriented software
More informationCase Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB
September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets
More informationGenerating Highly Customizable SQL Parsers
Generating Highly Customizable SQL Parsers Sagar Sunkle, Martin Kuhlemann, Norbert Siegmund, Marko Rosenmüller, Gunter Saake School of Computer Science University of Magdeburg 39106 Magdeburg, Germany
More informationInternational Journal of Advanced Research in Computer Science and Software Engineering
Volume 3, Issue 3, March 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Coupling and Cohesion
More informationVARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS
VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS Ashraf A. Shahin 1, 2 1 College of Computer and Information Sciences, Al Imam Mohammad Ibn Saud Islamic University (IMSIU) Riyadh, Kingdom of Saudi
More informationImplementation and Evaluation of Certificate Revocation List Distribution for Vehicular Ad-hoc Networks
Implementation and Evaluation of Certificate Revocation List Distribution for Vehicular Ad-hoc Networks Petra Ardelean advisor: Panos Papadimitratos January 2009 Abstract Vehicular Ad-hoc Networks (VANETs)
More informationSemantic Object Language Whitepaper Jason Wells Semantic Research Inc.
Semantic Object Language Whitepaper Jason Wells Semantic Research Inc. Abstract While UML is the accepted visual language for object-oriented system modeling, it lacks a common semantic foundation with
More informationJSClassFinder: A Tool to Detect Class-like Structures in JavaScript
JSClassFinder: A Tool to Detect Class-like Structures in JavaScript Leonardo Humberto Silva 1, Daniel Hovadick 2, Marco Tulio Valente 2, Alexandre Bergel 3,Nicolas Anquetil 4, Anne Etien 4 1 Department
More informationA Multi-layered Domain-specific Language for Stencil Computations
A Multi-layered Domain-specific Language for Stencil Computations Christian Schmitt, Frank Hannig, Jürgen Teich Hardware/Software Co-Design, University of Erlangen-Nuremberg Workshop ExaStencils 2014,
More informationOn the Statistical Distribution of Object-Oriented System Properties
On the Statistical Distribution of Object-Oriented System Properties Israel Herraiz Technical University of Madrid Madrid, Spain israel.herraiz@upm.es Daniel Rodriguez University of Alcala Alcala de Henares,
More informationThe Service Revolution software engineering without programming languages
The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)
More informationGoal Setting and the Software Design Process
Analysis of designers work Master s Thesis Joost Meijles Thursday, 2005 July 14 1 year Master Software Engineering Supervisors Universiteit van Amsterdam Prof. Dr. P. Klint Philips Medical Systems Ir.
More informationSoftware Metrics in Static Program Analysis
www.redlizards.com Software Metrics in Static Program Analysis ICFEM, 11/18/2010 Andreas Vogelsang 1, Ansgar Fehnker 2, Ralf Huuck 2, Wolfgang Reif 3 1 Technical University of Munich 2 NICTA, Sydney 3
More information