Reuse and Beyond: Innovative Software Retrieval Approaches

Size: px
Start display at page:

Download "Reuse and Beyond: Innovative Software Retrieval Approaches"

Transcription

1 Palladio Days 2012 Reuse and Beyond: Innovative Software Retrieval Approaches Oliver Hummel SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS sdq.ipd.kit.edu KIT University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association

2 Three Problems I ssdfsd I was having three problems: No job, no money, and no clue how to continue. Otto The Movie (1986) Photo: [Andreas Reiner, Wikipedia] Software Retrieval Beyond Reuse

3 Three Problems II Software reuse is the process of creating software systems from existing software rather than building software systems from scratch. [Krueger 92] A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties. [Szyperski 02] [ ] And there they were again, my three problems No repository structure, no reusable software, and no clue how to retrieve something. The Reuse Community (1999) Software Retrieval Beyond Reuse

4 Overview I m going to share some insights on software search & retrieval with you 1. Using the web as a reuse repository 2. How to build a software search engine with Lucene and how to use it 3. How to add functional semantics to software searches 4. A Word on proactive reuse recommendations in Eclipse 5. Can we utilize the wisdom of the crowd in software development? 6. Outlook, summary and conclusion Software Retrieval Beyond Reuse

5 Solution Idea I Using the Web (and Google) as a Reuse Repository (2006) with some additional keywords filetype:java class stack void push Object pop Stack +push(o:object):void +pop():object + simple, easy to use + no overhead + precise for simple requests - still too imprecise - dark web not covered anymore - no reliable API for IDE integration Software Retrieval Beyond Reuse

6 Solution Idea II Build a specialized software search engine (2008) with google-like interface and IDE integration and suport for programming languages, signatures, interfaces etc. Use Database or Lucene or both? relational model vs. field-based approach De-Normalizing allows effective software searches in Lucene Stack +push(o:object):void +pop():object name method method msign msign minter minter stack push pop 1_pt:object_rt:void 1_pt:void_rt:object 1_mn:push_pt:object_rt:void 1_mn:pop_pt:void_rt:object 10 million files (~40 GB) in < 3 seconds with.com Software Retrieval Beyond Reuse

7 Simple Applications What can we do with such a software search engine? Keyword Searches Calculator lang:java Name Matching method:push Signature Matching $(float,float):float; Interface Matching isleapyear(int):boolean; Open Source Lookup java.util.stack Library Identification findjar:org.apache.lucene.search.query Software Retrieval Beyond Reuse

8 Simple Applications II Searches for full object interfaces are also possible even in Java/C# syntax public class Matrix { public Matrix add(matrix) {} public Matrix multiply(matrix) {} } Only test cases refuse to deliver test cases..? import junit.framework.testcase; public class CalculatorTest extends TestCase { public void testadd() { Calculator calc = new Calculator(); assertequals(calc.add(2, 1), 3); } } Software Retrieval Beyond Reuse

9 Precision from a Reuse Perspective Preliminary comparison of retrieval approaches has shown limited top 25 precision results for 13 method queries even a full syntax matching is not precise enough how can we support semantics in searches? Software Retrieval Beyond Reuse

10 Semantic Software Retrieval And what about contractually specified interfaces? [Hummel, 2008] and a seamless integration in modern development processes and tools? Test-Driven Reuse test-driven development candidate selection based on interface of C.U.T. assessment of semantics based on test cases very precise more candidates by ignoring names in interface expensive, but still precise Software Retrieval Beyond Reuse

11 Success Examples & Discussion [Hummel, 2008] Software Retrieval Beyond Reuse

12 Eclipse Integration Precise reuse recommendations on the fly [CodeConjurer.org] Software Retrieval Beyond Reuse

13 The Wisdom of the Crowd Book Amazon API Recommendations with ParseWeb (Thummalapenta & Xie, 2007) Software Retrieval Beyond Reuse

14 The Wisdom of the Crowd Developers who have coded a Stack have implemented a push, pop and isempty method Towards crowd-based design recommendations (2010) via intersecting interfaces of search result or attributes or dependencies etc Software Retrieval Beyond Reuse

15 Ongoing & Future Work Component recognition tracing dependencies -> e.g. delivered a full-grown FTP Client goal is to get this into the Merobase index [Kakarontzas & Stamelos] have been working on Facade detection in Open SME EU project [Janjic & Atkinson subm.] Test case recommendation Software Retrieval Beyond Reuse

16 Conclusion Numerous applications for software retrieval beyond reuse Code Recommendations Design Recommendations explorative searches Snippet Reuse Component Reuse Library Reuse Back-to-Back Testing Test Recommendation Libray Lookup Open Source Lookup concrete searches Defect information Impact Analysis Program Understanding Software Retrieval Beyond Reuse [Janjic et al., 2010]

17 The End. Thank you for your attention! Time for some questions? or maybe you want to contact me later Software Retrieval Beyond Reuse

18 References C. Atkinson, O. Hummel, W. Janjic, "Search-enhanced testing: NIER track", in Software Engineering (ICSE), rd International Conference on, p O. Hummel, C. Atkinson, "Extreme harvesting: Test driven discovery and reuse of software components", in Information Reuse and Integration, IRI Proceedings of the 2004 IEEE International Conference on, p O. Hummel, C. Atkinson, "Using the web as a reuse repository", Reuse of Off-the-Shelf Components, p O. Hummel, W. Janjic, C. Atkinson, Evaluating the Efficiency of Retrieval Methods for Component Repositories, Proceedings of the Int. Conf on Software Engineering & Knowledge Engineering, O. Hummel, W. Janjic, C. Atkinson, "Code conjurer: Pulling reusable software out of thin air", IEEE Software, vol. 25, no. 5 p O.Hummel, Semantic Component Retrieval in Software Engineering, PhD thesis, University of Mannheim, O. Hummel, W. Janjic, C. Atkinson, "Proposing software design recommendations based on component interface intersecting", in Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering, p W. Janjic, O. Hummel, C. Atkinson, "More archetypal usage scenarios for software search engines", in Proceedings of 2010 ICSE Workshop on Search-driven Development: Users, Infrastructure, Tools and Evaluation, p G. Kakarontzas, I. Stamelos, S. Skalistis, A. Naskos, "Extracting Components from Open Source: The Component Adaptation Environment (COPE) Approach", in Software Engineering and Advanced Applications (SEAA), th EUROMICRO Conference on, p S. Thummalapenta, T. Xie, "Parseweb: a programmer assistant for reusing open source code on the web", in Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, p Software Retrieval Beyond Reuse

19 Three Problems Again Otto: There they were again, my three problems. Sylvia: Are you going to make me happy tonight?" Otto: Yeah." Sylvia: Are you going to make me happy twice? Otto: Yeah. Sylvia: Even three times? Otto: There they were again, my three problems Software Retrieval Beyond Reuse

Continuous the research Software Engineering. Cycle through Test-Driven Search the teaching

Continuous the research Software Engineering. Cycle through Test-Driven Search the teaching Overview 1 1. Find out why software engineering is important see some software engineering failures 2. Integrating Get acquainted with Reuse into the Rapid, the Chair of Software Engineering Continuous

More information

Recommending Source Code for Rapid Software Prototypes

Recommending Source Code for Rapid Software Prototypes Recommending Source Code for Rapid Software Prototypes Collin McMillan 1 Nikki Hariri 2 Denys Poshyvanyk 1 Jane Cleland Huang 2 Bamshad Mobasher 2 1 College of William & Mary 2 DePaul University You own

More information

Detecting Return Value Mismatch during Component Adaptation with Concern of System Performance

Detecting Return Value Mismatch during Component Adaptation with Concern of System Performance I.J. Information Engineering and Electronic Business, 14, 2, 41-46 Published Online April 14 in MECS (http://www.mecs-press.org/) DOI: 1.5815/ijieeb.14.2.5 Detecting Return Value Mismatch during Component

More information

A SEMI-AUTOMATED PROCESS FOR OPEN SOURCE CODE REUSE *

A SEMI-AUTOMATED PROCESS FOR OPEN SOURCE CODE REUSE * A SEMI-AUTOMATED PROCESS FOR OPEN SOURCE CODE REUSE * Apostolos Kritikos, George Kakarontzas and Ioannis Stamelos Computer Science Department, Aristotle University of Thessaloniki, 54124 Thessaloniki,

More information

Extensible Graphical Editors for Palladio

Extensible Graphical Editors for Palladio Extensible Graphical Editors for Palladio Misha Strittmatter, Michael Junker, Kiana Rostami, Sebastian Lehrig, Amine Kechaou, Bo Liu and Robert Heinrich 7th Symposium on Software Performance, Kiel 2016

More information

Integration of Existing Software Artifacts into a View- and Change-Driven Development Approach

Integration of Existing Software Artifacts into a View- and Change-Driven Development Approach Integration of Existing Software Artifacts into a View- and Change-Driven Development Approach Sven Leonhardt, Johannes Hoor, Benjamin Hettwer, Michael Langhammer 21.07.2015 SOFTWARE DESIGN AND QUALITY

More information

Workload Characterization using the TAU Performance System

Workload Characterization using the TAU Performance System Workload Characterization using the TAU Performance System Sameer Shende, Allen D. Malony, and Alan Morris Performance Research Laboratory, Department of Computer and Information Science University of

More information

A Generic Microservice Architecture for Environmental Data Management

A Generic Microservice Architecture for Environmental Data Management A Generic Microservice Architecture for Environmental Data Management Clemens Düpmeier, Eric Braun, Thorsten Schlachter, Karl-Uwe Stucky, Wolfgang Suess KIT The Research University in the Helmholtz Association

More information

Handling Cyclic Execution Paths in Timing Analysis of Component-based Software

Handling Cyclic Execution Paths in Timing Analysis of Component-based Software Handling Cyclic Execution Paths in Timing Analysis of Component-based Software Luka Lednicki, Jan Carlson Mälardalen Real-time Research Centre Mälardalen University Västerås, Sweden Email: {luka.lednicki,

More information

An Approach to Software Component Specification

An Approach to Software Component Specification Page 1 of 5 An Approach to Software Component Specification Jun Han Peninsula School of Computing and Information Technology Monash University, Melbourne, Australia Abstract. Current models for software

More information

A Mashup-Based Strategy for Migration to Web 2.0

A Mashup-Based Strategy for Migration to Web 2.0 A Mashup-Based Strategy for Migration to Web 2.0 Dr. Semih Çetin A Mashup-Based Strategy for Migration to Web 2.0 1 Content Statement of the problem and motivation Existing technologies and approaches

More information

A Framework for Reliability Assessment of Software Components

A Framework for Reliability Assessment of Software Components A Framework for Reliability Assessment of Software Components Rakesh Shukla, Paul Strooper, and David Carrington School of Information Technology and Electrical Engineering, The University of Queensland,

More information

CoDocent: Support API Usage with Code Example and API Documentation

CoDocent: Support API Usage with Code Example and API Documentation CoDocent: Support API Usage with Code Example and API Documentation Ye-Chi Wu Lee Wei Mar Hewijin Christine Jiau Institute of Computer and Communication Engineering Department of Electrical Engineering

More information

Leveraging State to Facilitate Separation of Concerns in Reuse-oriented Performance Models

Leveraging State to Facilitate Separation of Concerns in Reuse-oriented Performance Models Leveraging State to Facilitate Separation of Concerns in Reuse-oriented Performance Models Dominik Werle, Stephan Seifermann, Sebastian D. Krach 8th Symposium on Software Performance 2017 ARCHITECTURE-DRIVEN

More information

Actionable User Intentions for Real-Time Mobile Assistant Applications

Actionable User Intentions for Real-Time Mobile Assistant Applications Actionable User Intentions for Real-Time Mobile Assistant Applications Thimios Panagos, Shoshana Loeb, Ben Falchuk Applied Research, Telcordia Technologies One Telcordia Drive, Piscataway, New Jersey,

More information

Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures

Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures Dietmar Schreiner 1,2 and Karl M. Göschka 1 1 Vienna University of Technology Institute of Information

More information

Software Reuse and Component-Based Software Engineering

Software Reuse and Component-Based Software Engineering Software Reuse and Component-Based Software Engineering Minsoo Ryu Hanyang University msryu@hanyang.ac.kr Contents Software Reuse Components CBSE (Component-Based Software Engineering) Domain Engineering

More information

AMASS. Architecture-driven, Multi-concern and Seamless Assurance and

AMASS. Architecture-driven, Multi-concern and Seamless Assurance and AMASS Architecture-driven, Multi-concern and Seamless Assurance and Architecture-driven, Multi-concern and Seamless Assurance and Certification of Cyber-Physical Systems AMASS Usage Scenario 2: Process

More information

Integration Unit Testing on SAP NetWeaver Application Server

Integration Unit Testing on SAP NetWeaver Application Server Applies To: This technical article applies to the SAP (Java), SAP NetWeaver Developer Studio, Unit Testing, Integration Unit Testing, JUnit, and JUnitEE. Summary Unit testing is an excellent way to improve

More information

Leveraging the Social Web for Situational Application Development and Business Mashups

Leveraging the Social Web for Situational Application Development and Business Mashups Leveraging the Social Web for Situational Application Development and Business Mashups Stefan Tai stefan.tai@kit.edu www.kit.edu About the Speaker: Stefan Tai Professor, KIT (Karlsruhe Institute of Technology)

More information

Towards Compositional Domain Specific Languages

Towards Compositional Domain Specific Languages Andreas Horst, Bernhard Rumpe Software Engineering RWTH Aachen University, Germany http://www.se-rwth.de/ 1 Introduction The deployment of Domain Specific Languages (DSL) and in particular Domain Specific

More information

Automated Assessment of Security Risks for Mobile Applications

Automated Assessment of Security Risks for Mobile Applications Automated Assessment of Security Risks for Mobile Applications Rahul Pandita, Xusheng Xiao, Wei Yang, William Enck, and Tao Xie Department of Computer Science North Carolina State University Lookout Mobile

More information

Moving Beyond Sockets

Moving Beyond Sockets Moving Beyond Sockets Architecture and Observations Tommy Pauly (tpauly@apple.com) TAPS IETF 97, November 2016, Seoul 1 Context TAPS is about providing easier ways to use various transport protocols, and

More information

Minsoo Ryu. College of Information and Communications Hanyang University.

Minsoo Ryu. College of Information and Communications Hanyang University. Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based

More information

Ontology Engineering for Product Development

Ontology Engineering for Product Development Ontology Engineering for Product Development Henson Graves Lockheed Martin Aeronautics Company Fort Worth Texas, USA henson.graves@lmco.com Abstract. This analysis is to identify requirements for a Description

More information

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect How to Harvest Reusable Components in Existing Software Nikolai Mansurov Chief Scientist & Architect Overview Introduction Reuse, Architecture and MDA Option Analysis for Reengineering (OAR) Architecture

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2005 Vol. 4, No. 3 Special issue: 6th GPCE Young Researchers Workshop 2004 Feature

More information

RESTful Web Service Composition with JOpera

RESTful Web Service Composition with JOpera RESTful Web Service Composition with JOpera Cesare Pautasso Faculty of Informatics University of Lugano (USI), Switzerland http://www.pautasso.info 1 University of Lugano, Switzerland Faculty of Informatics

More information

HOW THE RIGHT CMS MAKES CONTENT AVAILABLE WHEN AND WHERE CUSTOMERS NEED IT

HOW THE RIGHT CMS MAKES CONTENT AVAILABLE WHEN AND WHERE CUSTOMERS NEED IT HOW THE RIGHT CMS MAKES CONTENT AVAILABLE WHEN AND WHERE CUSTOMERS NEED IT We have never lived in a more oversaturated content environment than we do now. We have images and hashtags and blog posts demanding

More information

JAVASCRIPT CHARTING. Scaling for the Enterprise with Metric Insights Copyright Metric insights, Inc.

JAVASCRIPT CHARTING. Scaling for the Enterprise with Metric Insights Copyright Metric insights, Inc. JAVASCRIPT CHARTING Scaling for the Enterprise with Metric Insights 2013 Copyright Metric insights, Inc. A REVOLUTION IS HAPPENING... 3! Challenges... 3! Borrowing From The Enterprise BI Stack... 4! Visualization

More information

CSE 332: Data Abstractions. Ruth Anderson Spring 2014 Lecture 1

CSE 332: Data Abstractions. Ruth Anderson Spring 2014 Lecture 1 CSE 332: Data Abstractions Ruth Anderson Spring 2014 Lecture 1 Welcome! We have 10 weeks to learn fundamental data structures and algorithms for organizing and processing information Classic data structures

More information

AZURE CONTAINER INSTANCES

AZURE CONTAINER INSTANCES AZURE CONTAINER INSTANCES -Krunal Trivedi ABSTRACT In this article, I am going to explain what are Azure Container Instances, how you can use them for hosting, when you can use them and what are its features.

More information

Exceptions and Design

Exceptions and Design Exceptions and Exceptions and Table of contents 1 Error Handling Overview Exceptions RuntimeExceptions 2 Exceptions and Overview Exceptions RuntimeExceptions Exceptions Exceptions and Overview Exceptions

More information

INTEGRATING DESIGN RATIONALE WITH A PROCESS MODEL

INTEGRATING DESIGN RATIONALE WITH A PROCESS MODEL INTEGRATING DESIGN RATIONALE WITH A PROCESS MODEL J. E. BURGE, D. C. BROWN AI in Research Group Department of Computer Science WPI, 100 Institute Road Worcester, MA 01609, USA Abstract. One goal for having

More information

Collaborative enterprise knowledge mashup

Collaborative enterprise knowledge mashup Collaborative enterprise knowledge mashup Devis Bianchini, Valeria De Antonellis, Michele Melchiori Università degli Studi di Brescia Dip. di Ing. dell Informazione Via Branze 38 25123 Brescia (Italy)

More information

Incorporating applications to a Service Oriented Architecture

Incorporating applications to a Service Oriented Architecture Proceedings of the 5th WSEAS Int. Conf. on System Science and Simulation in Engineering, Tenerife, Canary Islands, Spain, December 16-18, 2006 401 Incorporating applications to a Service Oriented Architecture

More information

Quis Custodiet Ipsos Custodes The Java memory model

Quis Custodiet Ipsos Custodes The Java memory model Quis Custodiet Ipsos Custodes The Java memory model Andreas Lochbihler funded by DFG Ni491/11, Sn11/10 PROGRAMMING PARADIGMS GROUP = Isabelle λ β HOL α 1 KIT 9University Oct 2012 of the Andreas State of

More information

Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis

Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis Henning Schulz, Albert Flaig, Alexander Wert and André van Hoorn Symposium on Software Performance 2014 28.11.2014

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

Basic Concepts of the Energy Lab 2.0 Co-Simulation Platform

Basic Concepts of the Energy Lab 2.0 Co-Simulation Platform Basic Concepts of the Energy Lab 2.0 Co-Simulation Platform Jianlei Liu KIT Institute for Applied Computer Science (Prof. Dr. Veit Hagenmeyer) KIT University of the State of Baden-Wuerttemberg and National

More information

Study of Component Based Software Engineering

Study of Component Based Software Engineering Study of Based Software Ishita Verma House No.4, Village Dayalpur Karawal Nagar Road Delhi-110094, India ish.v.16@gmail.com Abstract based engineering is an approach of development that emphasizes the

More information

Cloud Essentials for Architects using OpenStack

Cloud Essentials for Architects using OpenStack Cloud Essentials for Architects using OpenStack Course Overview Start Date 5th March 2015 Duration 2 Days Location Dublin Course Code SS15-13 Programme Overview Cloud Computing is gaining increasing attention

More information

ASSESSING INVARIANT MINING TECHNIQUES FOR CLOUD-BASED UTILITY COMPUTING SYSTEMS

ASSESSING INVARIANT MINING TECHNIQUES FOR CLOUD-BASED UTILITY COMPUTING SYSTEMS ASSESSING INVARIANT MINING TECHNIQUES FOR CLOUD-BASED UTILITY COMPUTING SYSTEMS ABSTRACT Likely system invariants model properties that hold in operating conditions of a computing system. Invariants may

More information

Christoph Treude. Bimodal Software Documentation

Christoph Treude. Bimodal Software Documentation Christoph Treude Bimodal Software Documentation Software Documentation [1985] 2 Software Documentation is everywhere [C Parnin and C Treude Measuring API Documentation on Web Web2SE 11: 2nd Int l Workshop

More information

Sketch-based Metamodel Construction. Research Internship II Lucas Heer

Sketch-based Metamodel Construction. Research Internship II Lucas Heer Sketch-based Metamodel Construction Research Internship II Lucas Heer lucas.heer@student.uantwerpen.be 31.01.2018 Motivation 2 Motivation 3 Solution What if we start from instance models? 4 Solution 5

More information

SourcererCC -- Scaling Code Clone Detection to Big-Code

SourcererCC -- Scaling Code Clone Detection to Big-Code SourcererCC -- Scaling Code Clone Detection to Big-Code What did this paper do? SourcererCC a token-based clone detector, that can detect both exact and near-miss clones from large inter project repositories

More information

TECHNIQUES FOR COMPONENT REUSABLE APPROACH

TECHNIQUES FOR COMPONENT REUSABLE APPROACH TECHNIQUES FOR COMPONENT REUSABLE APPROACH Sukanay.M 1, Biruntha.S 2, Dr.Karthik.S 3, Kalaikumaran.T 4 1 II year M.E SE, Department of Computer Science & Engineering (PG) sukanmukesh@gmail.com 2 II year

More information

Developing Solutions for Google Cloud Platform (CPD200) Course Agenda

Developing Solutions for Google Cloud Platform (CPD200) Course Agenda Developing Solutions for Google Cloud Platform (CPD200) Course Agenda Module 1: Developing Solutions for Google Cloud Platform Identify the advantages of Google Cloud Platform for solution development

More information

A Study on a Development Environment for Software Traceability Management

A Study on a Development Environment for Software Traceability Management 1,a) 1,b) 1,c) TERAS A Study on a Development Environment for Software Traceability Management NORITOSHI ATSUMI 1,a) TAKASHI KOBAYASHI 1,b) HIROAKI TAKADA 1,c) Abstract: Software traceability management

More information

Wireless Environments

Wireless Environments A Cyber Physical Systems Architecture for Timely and Reliable Information Dissemination in Mobile, Aniruddha Gokhale Vanderbilt University EECS Nashville, TN Wireless Environments Steven Drager, William

More information

Before you start with this tutorial, you need to know basic Java programming.

Before you start with this tutorial, you need to know basic Java programming. JDB Tutorial 1 About the Tutorial The Java Debugger, commonly known as jdb, is a useful tool to detect bugs in Java programs. This is a brief tutorial that provides a basic overview of how to use this

More information

Simple and Efficient Construction of Static Single Assignment Form

Simple and Efficient Construction of Static Single Assignment Form Simple and Efficient Construction of Static Single Assignment Form saarland university Matthias Braun, Sebastian Buchwald, Sebastian Hack, Roland Leißa, Christoph Mallon and Andreas Zwinkau computer science

More information

Active Directory Domain Add-on for Wyse 5070 Thin Client Version

Active Directory Domain Add-on for Wyse 5070 Thin Client Version Rev. A00 2018-09 Active Directory Domain Add-on for Wyse 5070 Thin Client Version 1.0.0.1 Software releases are created to correct defects, make enhancements, or add new features. These releases are tested

More information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain

More information

TIBCO Spotfire Statement of Direction. Spotfire Product Management

TIBCO Spotfire Statement of Direction. Spotfire Product Management TIBCO Spotfire Statement of Direction Spotfire Product Management CONFIDENTIALITY The following information is confidential information of TIBCO Software Inc. Use, duplication, transmission, or republication

More information

Context-aware Services for UMTS-Networks*

Context-aware Services for UMTS-Networks* Context-aware Services for UMTS-Networks* * This project is partly financed by the government of Bavaria. Thomas Buchholz LMU München 1 Outline I. Properties of current context-aware architectures II.

More information

TempWeb rd Temporal Web Analytics Workshop

TempWeb rd Temporal Web Analytics Workshop TempWeb 2013 3 rd Temporal Web Analytics Workshop Stuff happens continuously: exploring Web contents with temporal information Omar Alonso Microsoft 13 May 2013 Disclaimer The views, opinions, positions,

More information

A data-driven framework for archiving and exploring social media data

A data-driven framework for archiving and exploring social media data A data-driven framework for archiving and exploring social media data Qunying Huang and Chen Xu Yongqi An, 20599957 Oct 18, 2016 Introduction Social media applications are widely deployed in various platforms

More information

warwick.ac.uk/lib-publications

warwick.ac.uk/lib-publications Original citation: Zhao, Lei, Lim Choi Keung, Sarah Niukyun and Arvanitis, Theodoros N. (2016) A BioPortalbased terminology service for health data interoperability. In: Unifying the Applications and Foundations

More information

Empowering People with Knowledge the Next Frontier for Web Search. Wei-Ying Ma Assistant Managing Director Microsoft Research Asia

Empowering People with Knowledge the Next Frontier for Web Search. Wei-Ying Ma Assistant Managing Director Microsoft Research Asia Empowering People with Knowledge the Next Frontier for Web Search Wei-Ying Ma Assistant Managing Director Microsoft Research Asia Important Trends for Web Search Organizing all information Addressing user

More information

Visualisation : Lecture 1. So what is visualisation? Visualisation

Visualisation : Lecture 1. So what is visualisation? Visualisation So what is visualisation? UG4 / M.Sc. Course 2006 toby.breckon@ed.ac.uk Computer Vision Lab. Institute for Perception, Action & Behaviour Introducing 1 Application of interactive 3D computer graphics to

More information

F. Tip and M. Weintraub FUNCTIONAL TESTING

F. Tip and M. Weintraub FUNCTIONAL TESTING F. Tip and M. Weintraub FUNCTIONAL TESTING ACKNOWLEDGEMENTS Thanks go to Andreas Zeller for allowing incorporation of his materials 2 HOW TO TELL IF A SYSTEM MEETS EXPECTATIONS? Two options: 1. testing:

More information

J2EE Application Development : Conversion and Beyond Osmond Ng

J2EE Application Development : Conversion and Beyond Osmond Ng IBM Software Group J2EE Application Development : Conversion and Beyond Osmond Ng IBM Software Group Practitioner View Point IBM Rational Application Developer J2EE/EJB Tooling J2EE construction tools

More information

[2:3] Linked Lists, Stacks, Queues

[2:3] Linked Lists, Stacks, Queues [2:3] Linked Lists, Stacks, Queues Helpful Knowledge CS308 Abstract data structures vs concrete data types CS250 Memory management (stack) Pointers CS230 Modular Arithmetic !!!!! There s a lot of slides,

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

Models versus Ontologies - What's the Difference and where does it Matter?

Models versus Ontologies - What's the Difference and where does it Matter? Models versus Ontologies - What's the Difference and where does it Matter? Colin Atkinson University of Mannheim Presentation for University of Birmingham April 19th 2007 1 Brief History Ontologies originated

More information

feature Despite steady advancement in the state of the art, software engineering remains development tools Recommendation

feature Despite steady advancement in the state of the art, software engineering remains development tools Recommendation feature development tools Recommendation Systems for Software Engineering Martin P. Robillard, McGill University Robert J. Walker, University of Calgary Thomas Zimmermann, Microsoft Research Recommendation

More information

Progress DataDirect For Business Intelligence And Analytics Vendors

Progress DataDirect For Business Intelligence And Analytics Vendors Progress DataDirect For Business Intelligence And Analytics Vendors DATA SHEET FEATURES: Direction connection to a variety of SaaS and on-premises data sources via Progress DataDirect Hybrid Data Pipeline

More information

Search Engine Architecture. Hongning Wang

Search Engine Architecture. Hongning Wang Search Engine Architecture Hongning Wang CS@UVa CS@UVa CS4501: Information Retrieval 2 Document Analyzer Classical search engine architecture The Anatomy of a Large-Scale Hypertextual Web Search Engine

More information

Test Driven Development with Oracles and Formal Specifications

Test Driven Development with Oracles and Formal Specifications Test Driven Development with Oracles and Formal Specifications Shadi Alawneh and Dennis Peters Faculty of Engineering and Applied Science Memorial University, St.John s, NL Canada A1B 3X5 {shadi.alawneh,dpeters}@mun.ca

More information

Making Business Process Implementations Flexible and Robust: Error Handling in the AristaFlow BPM Suite

Making Business Process Implementations Flexible and Robust: Error Handling in the AristaFlow BPM Suite Making Business Process Implementations Flexible and Robust: Error Handling in the AristaFlow BPM Suite Andreas Lanz, Manfred Reichert, and Peter Dadam Institute of Databases and Information Systems, University

More information

CACAO PROJECT AT THE 2009 TASK

CACAO PROJECT AT THE 2009 TASK CACAO PROJECT AT THE TEL@CLEF 2009 TASK Alessio Bosca, Luca Dini Celi s.r.l. - 10131 Torino - C. Moncalieri, 21 alessio.bosca, dini@celi.it Abstract This paper presents the participation of the CACAO prototype

More information

CSE 70 Final Exam Fall 2009

CSE 70 Final Exam Fall 2009 Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15

More information

Language engineering and Domain Specific Languages

Language engineering and Domain Specific Languages Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh Plan 1. Defining languages 2. General purpose languages vs domain specific languages 3.

More information

Build Meeting Room Management Website Using BaaS Framework : Usergrid

Build Meeting Room Management Website Using BaaS Framework : Usergrid Build Meeting Room Management Website Using BaaS Framework : Usergrid Alvin Junianto Lan 13514105 Informatics, School of Electrical Engineering and Informatics Bandung Institute of Technology Bandung,

More information

High Availability Distributed (Micro-)services. Clemens Vasters Microsoft

High Availability Distributed (Micro-)services. Clemens Vasters Microsoft High Availability Distributed (Micro-)services Clemens Vasters Microsoft Azure @clemensv ice Microsoft Azure services I work(-ed) on. Notification Hubs Service Bus Event Hubs Event Grid IoT Hub Relay Mobile

More information

COPYRIGHTED MATERIAL. Introducing the Project: The SmartCA Application. The Problem

COPYRIGHTED MATERIAL. Introducing the Project: The SmartCA Application. The Problem Introducing the Project: The SmartCA Application The project for this book is based on a real application for a real company. The names of the company and the application have been changed for privacy

More information

Organizing and Managing Grassroots Enterprise Mashup Environments. Doctorial Thesis, 24 th June, Volker Hoyer

Organizing and Managing Grassroots Enterprise Mashup Environments. Doctorial Thesis, 24 th June, Volker Hoyer Organizing and Managing Grassroots Enterprise Mashup Environments Doctorial Thesis, 24 th June, 2010 Volker Hoyer Motivation and Research Questions Research Design Results Conclusion Motivation and Research

More information

Stephan Fuchs, Ramona Wander, Tatyana Rogozina, Stephan Hilgert (KIT) Armin Canzler, Bernd Lehmkuhl, Heiko Keifenheim (COS)

Stephan Fuchs, Ramona Wander, Tatyana Rogozina, Stephan Hilgert (KIT) Armin Canzler, Bernd Lehmkuhl, Heiko Keifenheim (COS) MoRE Application Stephan Fuchs, Ramona Wander, Tatyana Rogozina, Stephan Hilgert (KIT) Armin Canzler, Bernd Lehmkuhl, Heiko Keifenheim (COS) INSTITUTE FOR WATER AND RIVER BASIN MANAGEMENT, DEPARTMENT OF

More information

RDMG Research Data Management Group at Freiburg University

RDMG Research Data Management Group at Freiburg University RDMG Research Data Management Group at Freiburg University Round Table RDM, Academy of Sciences in Heidelberg 13/07/2018 Dirk von Suchodoletz, escience dept. of the Computer Center Institutional RDM Rising

More information

Ranked Retrieval. Evaluation in IR. One option is to average the precision scores at discrete. points on the ROC curve But which points?

Ranked Retrieval. Evaluation in IR. One option is to average the precision scores at discrete. points on the ROC curve But which points? Ranked Retrieval One option is to average the precision scores at discrete Precision 100% 0% More junk 100% Everything points on the ROC curve But which points? Recall We want to evaluate the system, not

More information

Identifier-Based Context-Dependent API Method Recommendation

Identifier-Based Context-Dependent API Method Recommendation Identifier-Based Context-Dependent API Method Recommendation Lars Heinemann Veronika Bauer Markus Herrmannsdoerfer Benjamin Hummel Technische Universität München, Germany {heineman, bauerv, herrmama, hummelb}@in.tum.de

More information

Towards xmof: Executable DSMLs based on fuml www.modelexecution.org Tanja Mayerhofer, Philip Langer, Manuel Wimmer Business Informatics Group Institute of Software Technology and Interactive Systems Vienna

More information

Data Centers and Cloud Computing

Data Centers and Cloud Computing Data Centers and Cloud Computing CS677 Guest Lecture Tim Wood 1 Data Centers Large server and storage farms 1000s of servers Many TBs or PBs of data Used by Enterprises for server applications Internet

More information

Data Centers and Cloud Computing. Slides courtesy of Tim Wood

Data Centers and Cloud Computing. Slides courtesy of Tim Wood Data Centers and Cloud Computing Slides courtesy of Tim Wood 1 Data Centers Large server and storage farms 1000s of servers Many TBs or PBs of data Used by Enterprises for server applications Internet

More information

FedX: A Federation Layer for Distributed Query Processing on Linked Open Data

FedX: A Federation Layer for Distributed Query Processing on Linked Open Data FedX: A Federation Layer for Distributed Query Processing on Linked Open Data Andreas Schwarte 1, Peter Haase 1,KatjaHose 2, Ralf Schenkel 2, and Michael Schmidt 1 1 fluid Operations AG, Walldorf, Germany

More information

What if annotations were reusable: a preliminary discussion

What if annotations were reusable: a preliminary discussion What if annotations were reusable: a preliminary discussion Nikos Manouselis 1, Riina Vuorikari 2 1 Greek Research & Technology Network 56 Messogion Str. Athens, Greece {nikosm}@ieee.org 2 European Schoolnet,

More information

Introduction to Web 2.0 Data Mashups

Introduction to Web 2.0 Data Mashups Lecture Notes on Web Data Management Birzeit University, Palestine 2013 Introduction to Web 2.0 Data Mashups Dr. Mustafa Jarrar University of Birzeit mjarrar@birzeit.edu www.jarrar.info Jarrar 2013 1 Watch

More information

2. The Proposed Process Model of CBD Main phases of CBD process model are shown, in figure Introduction

2. The Proposed Process Model of CBD Main phases of CBD process model are shown, in figure Introduction Survey-Based Analysis of the Proposed Component-Based Development Process M. Rizwan Jameel Qureshi Dept. of Computer Science, COMSATS Institute of Information Technology, Lahore anriz@hotmail.com Ph #

More information

Improving Software Reliability and Productivity via Mining Program Source Code

Improving Software Reliability and Productivity via Mining Program Source Code Improving Software Reliability and Productivity via Mining Program Source Code Tao Xie, Mithun Acharya, Suresh Thummalapenta, Kunal Taneja Department of Computer Science North Carolina State University

More information

Data Centers and Cloud Computing. Data Centers

Data Centers and Cloud Computing. Data Centers Data Centers and Cloud Computing Slides courtesy of Tim Wood 1 Data Centers Large server and storage farms 1000s of servers Many TBs or PBs of data Used by Enterprises for server applications Internet

More information

Overview. Data-mining. Commercial & Scientific Applications. Ongoing Research Activities. From Research to Technology Transfer

Overview. Data-mining. Commercial & Scientific Applications. Ongoing Research Activities. From Research to Technology Transfer Data Mining George Karypis Department of Computer Science Digital Technology Center University of Minnesota, Minneapolis, USA. http://www.cs.umn.edu/~karypis karypis@cs.umn.edu Overview Data-mining What

More information

B2DROP The EUDAT Personal Cloud Storage

B2DROP The EUDAT Personal Cloud Storage Mitglied der Helmholtz-Gemeinschaft B2DROP The EUDAT Personal Cloud Storage 31.01.2017 Benedikt von St. Vieth, Thijs Cobben, Sander Apweiler, Mikael Karlsson The EUDAT project(s) data services EUDAT 2011-2015

More information

Data as a Service Models and Engineering

Data as a Service Models and Engineering Advanced Services Engineering, Summer 2016 Lecture 4 Data as a Service Models and Engineering Hong-Linh Truong Distributed Systems Group, Vienna University of Technology truong@dsg.tuwien.ac.at http://dsg.tuwien.ac.at/staff/truong

More information

CS-201 Introduction to Programming with Java

CS-201 Introduction to Programming with Java CS-201 Introduction to Programming with Java California State University, Los Angeles Computer Science Department Lecture IX: Methods Introduction method: construct for grouping statements together to

More information

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language Plan Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh 1. Defining languages 2. General purpose languages vs domain specific languages 3.

More information

Modularizing Web Services Management with AOP

Modularizing Web Services Management with AOP Modularizing Web Services Management with AOP María Agustina Cibrán, Bart Verheecke { Maria.Cibran, Bart.Verheecke@vub.ac.be System and Software Engineering Lab Vrije Universiteit Brussel 1. Introduction

More information

Software Testing Workshop 2014 Introduction

Software Testing Workshop 2014 Introduction Software Testing Workshop 2014 Introduction May 3 rd 2014. FAST, Islamabad. About Us Majd Uddin 15+ years of experience with a decade in software testing Promoting software quality: M.Sc. (CS) from PUCIT,

More information

ICSA 2017 Tutorial Runtime Modeling and Visualization -- Introduction to Palladio

ICSA 2017 Tutorial Runtime Modeling and Visualization -- Introduction to Palladio DFG Priority Programme 1593 Design For Future - Managed Software Evolution ICSA 2017 Tutorial Runtime Modeling and Visualization -- Introduction to Palladio R. Heinrich ICSA 2017 Tutorial Introduction

More information

Lesson 14 SOA with REST (Part I)

Lesson 14 SOA with REST (Part I) Lesson 14 SOA with REST (Part I) Service Oriented Architectures Security Module 3 - Resource-oriented services Unit 1 REST Ernesto Damiani Università di Milano Web Sites (1992) WS-* Web Services (2000)

More information