The$credit$for$crea-ng$these$slides$belongs$to$ Fall$2014$CS$521/621$students.$$Student$names$ have$been$removed$per$ferpa$regula-ons.
|
|
- George Eaton
- 5 years ago
- Views:
Transcription
1 The$credit$for$crea-ng$these$slides$belongs$to$ Fall$2014$CS$521/621$students.$$Student$names$ have$been$removed$per$ferpa$regula-ons.$
2 Refactoring With Synthesis
3 Refactoring and Synthesis Refactoring - restructuring existing code without changing the behavior of the code Synthesis - combining two different things to form one Code Synthesis - have software complete a piece of the code for you. Combines manually written and computer generated code for a finished product.
4 Motivation Refactoring is a key part to software engineering and agile software development techniques. It was conceived as a manual activity but soon tools have become available to help automate refactorings.
5 Motivation Tools are available to help with refactorings, but 90% are still done manually. Poor discoverability. A developer must know the refactoring by name and select it from a menu/use a known keyboard shortcut. Complex user interface for some refactorings.
6 Research Questions 1. Could a unified interface be devised that simplified the usage of automatic refactoring tools for complex refactorings? 2. Given such a tool, would developers choose to use it over performing the refactorings manually?
7 Contributions 1. A new technique, based on extending a small set of manual changes, implemented in a tool called RESYNTH 2. A user study of RESYNTH to determine its usefulness to experienced and inexperienced programmers
8 Proposed Simpler Interface 1. Press a Start Refactoring button, indicating the program whose semantics should be preserved. 2. Manually perform a few actions of the desired refactoring, resulting in another program. 3. Click a Complete button. The tool will attempt to find a sequence of refactorings from the initial program, that when applied includes the edits made in step 2.
9 Advantages of This Interface Developer doesn t have to remember menu items or keyboard shortcuts Adding a new refactoring doesn t clutter the refactoring interface Applying a sequence of refactorings becomes easier - the tool discovers the sequence for the developer Performing a set of related refactorings is easier - they can be done as a unit
10 RESYNTH 1. Program entities not edited by the user are discarded - narrows the search space 2. A* search is performed over this smaller search space to find refactoring sequences 3. Attempts to execute discovered sequences of refactorings on the entire program
11 RESYNTH The manual changes are compared to the initial program to determine a small set of desired edits (stored as a tree) Local versions of each refactoring are performed on the modified areas of the original program, generating successors A* search is used to navigate this space, finding a set of local refactorings that produce the edits
12 RESYNTH Once the desired edits are found through local refactorings, attempt to apply the full versions to the entire program If the full refactorings generate errors, continue searching Otherwise, report the refactorings to the user
13 Examples - Single Refactorings Rename - A method, field, or local variable can be renamed by editing its declaration or any reference to use the new name Initial: int x = 0; x += 5; return x; Manual Edit: int x = 0; y += 5; return x; Result: int y = 0; y += 5; return y; RESYNTH finds Rename accomplishes the local edit, applies it globally.
14 Examples - Single Refactorings Inline Local - Deleting a local variable declaration will cause its value to be inlined Initial: int x = getvalue(); return x; Manual Edit: int x = getvalue(); return x; Result: return getvalue(); RESYNTH finds Inline Local accomplishes the local edit, applies it globally.
15 Examples - Complex Refactoring Swap Fields - Switching the names of two fields will cause the appropriate renames Initial: int x = 5; int y = 15; x += 3; y *= 10; return x / y; Manual Edit: int x = 5; int y = 15; x += 3; y *= 10; return y / x; Result: int y = 5; int x = 15; y += 3; x *= 10; return y / x; RESYNTH finds three uses of Rename accomplish local edits, applies them globally. This requires Rename(x, tmp), Rename(y, x), Rename(tmp, y)
16 Adding Refactorings to RESYNTH For RESYNTH to use a refactoring tool, it must be modified to include a successors function successors takes a current program state as input and returns a finite set of possible successors after applying the refactoring locally These successors are added to the A* search space
17 Evaluation - Single Refactorings RESYNTH includes implementations of 5 common refactorings that are frequently used. Rename Inline Local Inline Method Extract Local Extract Method With Holes
18 Evaluation - Complex Refactorings These complex refactorings can be accomplished using a sequence of the single refactorings that were implemented
19 Evaluation - Timing Benchmarks Search space was limited to 20,000 trees Synthetic examples were more challenging on average than real examples In both, the time to search for a refactoring + the time for Eclipse to apply the full refactoring was relatively low
20 Evaluation - User Study 6 participants were asked to complete 3 refactoring tasks using RESYNTH, Eclipse s built in refactorings, or manual editing. In one task RESYNTH cannot come up with the correct solution. Only 2 noticed that the solution given was not exactly the expected solution 4 of the participants found the tool useful
21 Discussion 1. Previous work found that most refactorings are performed by hand?. Do you use built in refactoring tools when programming, or prefer to do the edits yourself? Why??: Negara, S., Chen, N., Vakilian, M.m Johnson, R. E., and Dig, D. A Comparative Study of Manual and Automated Refactorings. In ECOOP (2013)
22 Discussion 2. The group used to evaluate RESYNTH was extremely small and only ⅔ of the participants found it useful. Would you consider these results to be positive? How could RESYNTH be improved to be more useful?
23 Discussion 3. Some of the users forgot to activate RESYNTH when they wanted to mark an edit. Do you think RESYNTH could benefit from speculative analysis to infer when a user was performing a refactoring? What could the pros and cons be?
24 Discussion 4. Can you think of any other applications of the search technique implemented in RESYNTH? Debugging?
25 Discussion 5. RESYNTH uses an A* search in its implementation. How would you expect the average timing and deviation of times needed to come up with a solution to differ if the implementation used a breadth first or depth first search?
26 Discussion 6. RESYNTH may potentially fail to find a refactoring if the user does not do a correct manual edit. Does this seem like a major flaw? How could it be corrected?
Refactoring with Eclipse
Refactoring with Eclipse Seng 371 Lab 8 By Bassam Sayed Based on IBM article Explore refactoring functions in Eclipse JDT by Prashant Deva Code Refactoring Code refactoring is a disciplined way to restructure
More informationRefactoring Practice: How it is and How it Should be Supported
Refactoring Practice: How it is and How it Should be Supported Zhenchang Xing and EleniStroulia Presented by: Sultan Almaghthawi 1 Outline Main Idea Related Works/Literature Alignment Overview of the Case
More informationDesigning with patterns - Refactoring. What is Refactoring?
Designing with patterns - Refactoring Bottom up based application of patterns Improving the design after it has been written What is Refactoring? Two definitions, the object and act of change in software
More informationRefactoring. Refactoring Techniques
Refactoring Refactoring Techniques Code Quality is Important! Refactoring is... A disciplined technique for restructuring an existing body of code, altering its internal structure without changing its
More informationXcode Tricks. ios App Development Fall 2010 Lecture 13
Xcode Tricks ios App Development Fall 2010 Lecture 13 Questions? Announcements Reminder: Assignment #3 due Monday, October 18 th by 11:59pm Today s Topics Building & Running Code Troubleshooting Debugging
More informationCOURSE 11 DESIGN PATTERNS
COURSE 11 DESIGN PATTERNS PREVIOUS COURSE J2EE Design Patterns CURRENT COURSE Refactoring Way refactoring Some refactoring examples SOFTWARE EVOLUTION Problem: You need to modify existing code extend/adapt/correct/
More informationChapter 2 XML, XML Schema, XSLT, and XPath
Summary Chapter 2 XML, XML Schema, XSLT, and XPath Ryan McAlister XML stands for Extensible Markup Language, meaning it uses tags to denote data much like HTML. Unlike HTML though it was designed to carry
More information4HOnline HelpSheet. Using and Creating Reports. Top two reminders: Understanding & navigating the reports screen
Using and Creating Reports Top two reminders: 1. Printing labels (from any report format) will only work correctly if you remember to change Page Scaling to none on the printer setup dialog box. 2. If
More informationUser Testing & Automated Evaluation. Product Hall of Shame! User Testing & Automated Evaluation. Visual Design Review. Outline. Visual design review
landay 1 USER INTERFACE DESIGN + PROTOTYPING + EVALUATION Product Hall of Fame or Shame? User Testing & Automated Evaluation Prof. James A. Landay University of Washington Apple One Button Mouse Autumn
More informationLaboratory 1: Eclipse and Karel the Robot
Math 121: Introduction to Computing Handout #2 Laboratory 1: Eclipse and Karel the Robot Your first laboratory task is to use the Eclipse IDE framework ( integrated development environment, and the d also
More informationFileMaker, Inc. All Rights Reserved. Document Version 2.0 FileMaker, Inc Patrick Henry Drive Santa Clara, California FileMaker
User s Guide 2003-2004 FileMaker, Inc. All Rights Reserved. Document Version 2.0 FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc., registered
More informationPOC Evaluation Guide May 09, 2017
POC Evaluation Guide May 09, 2017 This page intentionally left blank P r o p r i e t a r y a n d C o n f i d e n t i a l. 2 0 1 7 R F P M o n k e y. c o m L L C Page 2 CONTENTS Read Me First... 4 About
More informationCSCE 548 Building Secure Software Software Analysis Basics
CSCE 548 Building Secure Software Software Analysis Basics Professor Lisa Luo Spring 2018 Previous Class Ø Android Background Ø Two Android Security Problems: 1. Android App Repackaging o Very easy to
More informationTest-Driven Development (TDD)
Test-Driven Development (TDD) CS 4501 / 6501 Software Testing [Lasse Koskela, Test Driven, Chapters 2-3] 1 Agile Airplane Testing Test harness: Appearance matches Color coding in place Fly 6ft (or 2m)
More informationUG4 Honours project selection: Talk to Vijay or Boris if interested in computer architecture projects
Announcements UG4 Honours project selection: Talk to Vijay or Boris if interested in computer architecture projects Inf3 Computer Architecture - 2017-2018 1 Last time: Tomasulo s Algorithm Inf3 Computer
More informationSoftware Design COSC 4353/6353 D R. R A J S I N G H
Software Design COSC 4353/6353 D R. R A J S I N G H Week 5 Refactoring What is Refactoring? Code Smells Why Refactoring? Techniques IDEs What is Refactoring? Art of improving the design of existing code
More informationNoopur Gupta Eclipse JDT/UI Committer IBM India
Noopur Gupta Eclipse JDT/UI Committer IBM India noopur_gupta@in.ibm.com 1 2 3 Show Workspace Location in the Title Bar (-showlocation) OR 4 Show Workspace Name in the Title Bar (Window > Preferences >
More informationPointers, Arrays and Parameters
Pointers, Arrays and Parameters This exercise is different from our usual exercises. You don t have so much a problem to solve by creating a program but rather some things to understand about the programming
More informationHeuristic Evaluation of NUIG Participate Module 1
Heuristic Evaluation of NUIG Participate Module 1 Nielsen s 10 Usability Heuristics (Nielsen & Mack, 1994) 1. Aesthetic & Minimalist Design Pages should not contain information which is irrelevant or rarely
More informationRefactorPad: Editing Source Code on Touchscreens
RefactorPad: Editing Source Code on Touchscreens Felix Raab University of Regensburg Chair for Media Informatics felix.raab@ur.de Christian Wolff University of Regensburg Chair for Media Informatics christian.wolff@ur.de
More information4HOnline has a powerful report system that allows you to take an existing report, customize it to suit your needs, and then save it to use again.
4HOnline USING AND CREATING REPORTS Created: October 14, 2013 OVERVIEW 4HOnline has a powerful report system that allows you to take an existing report, customize it to suit your needs, and then save it
More information1.7 Limit of a Function
1.7 Limit of a Function We will discuss the following in this section: 1. Limit Notation 2. Finding a it numerically 3. Right and Left Hand Limits 4. Infinite Limits Consider the following graph Notation:
More informationObjectives: On completion of this project the student should be able to:
ENGI-0655/5232 Software Construction and Evolution Project 1 Reverse Engineering Refactoring & Object Oriented Design Due date November 10, 2009-4:00 pm 1. Aims The aim of this project is to give you more
More informationBut before understanding the Selenium WebDriver concept, we need to know about the Selenium first.
As per the today s scenario, companies not only desire to test software adequately, but they also want to get the work done as quickly and thoroughly as possible. To accomplish this goal, organizations
More informationCS161: Introduction to Computer Science Homework Assignment 10 Due: Monday 11/28 by 11:59pm
CS161: Introduction to Computer Science Homework Assignment 10 Due: Monday 11/28 by 11:59pm Many cable packages come with a search interface that let s you search for a show or movie by typing the name
More informationFor Volunteers An Elvanto Guide
For Volunteers An Elvanto Guide www.elvanto.com Volunteers are what keep churches running! This guide is for volunteers who use Elvanto. If you re in charge of volunteers, why not check out our Volunteer
More informationChoosing an Intellectual Property Core
Choosing an Intellectual Property Core MIPS Technologies, Inc. June 2002 One of the most important product development decisions facing SOC designers today is choosing an intellectual property (IP) core.
More informationMaciej Sobieraj. Lecture 1
Maciej Sobieraj Lecture 1 Outline 1. Introduction to computer programming 2. Advanced flow control and data aggregates Your first program First we need to define our expectations for the program. They
More informationRetaining Comments when Refactoring Code or
Retaining Comments when Refactoring Code or Why and how we build Refactoring Eclipse plug-ins for several non-java languages Prof. Peter Sommerlad IFS Institute for Software HSR Rapperswil, Switzerland
More informationSchedule Builder Agency User Guide
Schedule Builder Page 1 of 19 Table of Contents Introduction... 3 Creating a new Schedule... 4 Revalidate... 6 Copying Lines... 7 Deleting Lines... 7 Visual Tools... 8 Actions... 8 Layout Manager... 9
More informationAutodesk Inventor Tips & Tricks Placing Features On
1 Autodesk Inventor Tips & Tricks Placing Features On Cylindrical Shapes The adoption of parametric, feature based solid modeling will present many challenges to the new user as they are confronted for
More informationChapter 2 Web Development Overview
Chapter 2 Web Development Overview Presented by Thomas Powell Slides adopted from HTML & XHTML: The Complete Reference, 4th Edition 2003 Thomas A. Powell Five Pillars of Sites Web sites have five aspects
More informationChapter 2 The SAS Environment
Chapter 2 The SAS Environment Abstract In this chapter, we begin to become familiar with the basic SAS working environment. We introduce the basic 3-screen layout, how to navigate the SAS Explorer window,
More informationUsing Microsoft Excel
Using Microsoft Excel Introduction This handout briefly outlines most of the basic uses and functions of Excel that we will be using in this course. Although Excel may be used for performing statistical
More informationRefactoring. Paul Jackson. School of Informatics University of Edinburgh
Refactoring Paul Jackson School of Informatics University of Edinburgh Refactoring definition Refactoring (noun) is a change made to the internal structure of software to make it easier to understand,
More informationStarting to Program in C++ (Basics & I/O)
Copyright by Bruce A. Draper. 2017, All Rights Reserved. Starting to Program in C++ (Basics & I/O) On Tuesday of this week, we started learning C++ by example. We gave you both the Complex class code and
More informationUnderstanding prototype fidelity What is Digital Prototyping? Introduction to various digital prototyping tools
HCI and Design Today Assignment 1 is graded Assignment 3 is posted Understanding prototype fidelity What is Digital Prototyping? Introduction to various digital prototyping tools Reminder: What is a prototype?
More informationErrors and Exceptions. EECS 230 Winter 2018
Errors and Exceptions EECS 230 Winter 2018 2 Kinds of errors Static (compile-time) errors Syntax errors Semantic (type) errors Linker errors Dynamic (run-time) errors Logic errors (bugs) User and environment
More informationRecommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto
Recommed Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto DISCLAIMER: The information contained in this document does NOT contain
More informationTeiid Designer User Guide 7.5.0
Teiid Designer User Guide 1 7.5.0 1. Introduction... 1 1.1. What is Teiid Designer?... 1 1.2. Why Use Teiid Designer?... 2 1.3. Metadata Overview... 2 1.3.1. What is Metadata... 2 1.3.2. Editing Metadata
More informationCost Models. Chapter Twenty-One Modern Programming Languages, 2nd ed. 1
Cost Models Chapter Twenty-One Modern Programming Languages, 2nd ed. 1 Which Is Faster? Y=[1 X] append(x,[1],y) Every experienced programmer has a cost model of the language: a mental model of the relative
More informationCHAPTER 1 COPYRIGHTED MATERIAL. Finding Your Way in the Inventor Interface
CHAPTER 1 Finding Your Way in the Inventor Interface COPYRIGHTED MATERIAL Understanding Inventor s interface behavior Opening existing files Creating new files Modifying the look and feel of Inventor Managing
More informationGoal of the course: The goal is to learn to design and analyze an algorithm. More specifically, you will learn:
CS341 Algorithms 1. Introduction Goal of the course: The goal is to learn to design and analyze an algorithm. More specifically, you will learn: Well-known algorithms; Skills to analyze the correctness
More informationDAT159 Refactoring (Introduction)
DAT159 Refactoring (Introduction) Volker Stolz 1, with contributions by: Larissa Braz 2, Anna M. Eilertsen 3, Fernando Macías 1, Rohit Gheyi 2 Western Norway University of Applied Sciences, Universidade
More informationIndex. Symbols. /**, symbol, 73 >> symbol, 21
17_Carlson_Index_Ads.qxd 1/12/05 1:14 PM Page 281 Index Symbols /**, 73 @ symbol, 73 >> symbol, 21 A Add JARs option, 89 additem() method, 65 agile development, 14 team ownership, 225-226 Agile Manifesto,
More informationNew Visual Design for IRON HQ Release Notes
New Visual Design for IRON HQ Release Notes Based on customer feedback, NetSuite, our platform for HQ, has improved key areas of the user interface including readability, navigation, data entry, and dashboard
More informationHCI and Design SPRING 2016
HCI and Design SPRING 2016 Topics for today Heuristic Evaluation 10 usability heuristics How to do heuristic evaluation Project planning and proposals Usability Testing Formal usability testing in a lab
More informationDigital Design and Computer Architecture
Digital Design and Computer Architecture Introduction Lab 4: Thunderbird Turn Signal In this lab, you will design a finite state machine in SystemVerilog to control the taillights of a 1965 Ford Thunderbird
More informationCascade: A Universal Programmer-assisted Type Qualifier Inference Tool
Cascade: A Universal Programmer-assisted Type Qualifier Inference Tool Mohsen Vakilian* Amarin Phaosawasdi* Michael D. Ernst Ralph E. Johnson* *University of Illinois at Urbana-Champaign University of
More informationCrab Shack Kitchen Web Application
Crab Shack Kitchen Web Application EVALUATION ASSIGNMENT 2 HEURISTIC EVALUATION Author: Sachin FERNANDES Graduate 8 Undergraduate Team 2 Instructor: Dr. Robert PASTEL February 16, 2016 LIST OF FIGURES
More informationUntangling: A Slice Extraction Refactoring
Untangling: A Slice Extraction Refactoring Ran Ettinger and Mathieu Verbaere Programming Tools Group Computing Laboratory University of Oxford Thanks to our supervisor Oege de Moor Supported by an Eclipse
More informationTutorial 1 Answers. Question 1
Tutorial 1 Answers Question 1 Complexity Software in it what is has to do, is often essentially complex. We can think of software which is accidentally complex such as a large scale e-commerce system (simple
More informationExcel Basics: Working with Spreadsheets
Excel Basics: Working with Spreadsheets E 890 / 1 Unravel the Mysteries of Cells, Rows, Ranges, Formulas and More Spreadsheets are all about numbers: they help us keep track of figures and make calculations.
More informationHelping Developers Find Useful Tools
Emerson Murphy-Hill North Carolina State University Helping Developers Find Useful Tools Developer Liberation Front Helping Developers Find Useful Tools Helping Developers Find Useful Tools http://www.flickr.com/photos/kakutani/2761992149
More informationAutomated Unit Testing A Practitioner's and Teacher's Perspective
Automated Unit Testing A Practitioner's and Teacher's Perspective Prof. Peter Sommerlad HSR - Hochschule für Technik Rapperswil Institute for Software Oberseestraße 10, CH-8640 Rapperswil peter.sommerlad@hsr.ch
More informationPrivate/Public Saved Searches
Private/Public Saved Searches Learning Objectives In this Job Aid, you will learn how to: 1 Save a private/public search page 3 2 Save a search template page 5 3 Access private and public saved searches
More informationComputers for Beginners
Computers for Beginners Class Objective: This class will familiarize you with using computers. By the end of the session you will be familiar with: Starting programs Quitting programs Saving files Opening
More informationEvolving Software. CMSC 433 Programming Language Technologies and Paradigms Spring Example. Some Motivations for This Refactoring
CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Refactoring April 24, 2007 Lots of material taken from Fowler, Refactoring: Improving the Design of Existing Code 1 Evolving Software
More informationCS 553: Algorithmic Language Compilers (PLDI) Graduate Students and Super Undergraduates... Logistics. Plan for Today
Graduate Students and Super Undergraduates... CS 553: Algorithmic Language Compilers (PLDI) look for other sources of information make decisions, because all research problems are under-specified evaluate
More informationCollaborative Programming: Pair Programming and Reviews CSE 403
Collaborative Programming: Pair Programming and Reviews CSE 403 Pair programming pair programming: 2 people, 1 computer take turns driving rotate pairs often pair people of different experience levels
More informationHow We Refactor, and How We Know It
Emerson Murphy-Hill, Chris Parnin, Andrew P. Black How We Refactor, and How We Know It Urs Fässler 30.03.2010 Urs Fässler () How We Refactor, and How We Know It 30.03.2010 1 / 14 Refactoring Definition
More informationCharlotte Housing Authority Applicant Portal Overview
Topic Charlotte Housing Authority Table of Contents Page Login Page 3 Forgot Password 4 Registering- Currently on waiting list 6-10 Home Screen 11 Wait Listing Information Basic Details 12-13 Waiting List
More informationALTIRIS Console 6.5 Overview
ALTIRIS Console 6.5 Overview Document Version: 1.0 The information contained in the Altiris Knowledgebase is subject to the Terms of Use as outlined at http://www.altiris.com/legal/termsofuse.asp. History
More informationImage-Based Rendering. Johns Hopkins Department of Computer Science Course : Rendering Techniques, Professor: Jonathan Cohen
Image-Based Rendering Image-Based Rendering What is it? Still a difficult question to answer Uses images (photometric( info) as key component of model representation What s Good about IBR Model acquisition
More informationM.CS201 Programming language
Power Engineering School M.CS201 Programming language Lecture 4 Lecturer: Prof. Dr. T.Uranchimeg Agenda How a Function Works Function Prototype Structured Programming Local Variables Return value 2 Function
More informationA few more things about Agile and SE. Could help in interviews, but don t try to bluff your way through
A few more things about Agile and SE Could help in interviews, but don t try to bluff your way through 1 Refactoring How to do it, where it fits in http://www.cse.ohio-state.edu/~crawfis/cse3902/index.htm
More informationAdministrivia. Programming Language Fall Example. Evolving Software. Project 3 coming out Midterm October 28. Refactoring October 14, 2004
CMSC 433 Programming Language Fall 2004 Project 3 coming out Midterm October 28 Administrivia Refactoring October 14, 2004 Lots of material taken from Fowler, Refactoring: Improving the Design of Existing
More informationRefactoring (guest lecture)
Refactoring (guest lecture) Question: Is there anything wrong with this code? char b[2][10000],*s,*t=b,*d,*e=b+1,**p;main(int c,char**v) {int n=atoi(v[1]);strcpy(b,v[2]);while(n--){for(s=t,d=e;*s;s++)
More informationid Marking US Page 1
id Marking So you ve bought the 3M Dynatel EMS id Marking System! As a utility owner, or service provider, you have purchased the id markers and probably a piece of equipment that will find the marker
More informationModule 10A Lecture - 20 What is a function? Why use functions Example: power (base, n)
Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute of Technology, Madras Module 10A Lecture - 20 What is a function?
More informationThe Haskell Refactorer, HaRe, and its API
LDTA 2005 Preliminary Version The Haskell Refactorer, HaRe, and its API Huiqing Li a,1 Simon Thompson a,1 Claus Reinke b,1 a Computing Laboratory, University of Kent, Canterbury, UK b Canterbury, UK Abstract
More informationUsability: An Ultimate Journey of Experience STC-2013
1 Usability: An Ultimate Journey of Experience STC-2013 Kanika Chugh QA InfoTech Pvt. Ltd. - B-8, Sector 59, Noida - A-19, Sector 59, Noida - Plot 190, NSEZ, Phase II, Noida, - Tower C, 3rd Floor, DLF
More informationER Modeling Data Modeling and the Entity-Relationship (ER) Diagram Pg 1
ER Modeling Data Modeling and the Entity-Relationship (ER) Diagram Pg 1 Data Modeling and the Entity-Relationship (ER) Diagram Ray Lockwood Points: The Entity-Relationship (ER) Diagram is seen by various
More informationBest Practices for. Membership Renewals
Best Practices for Membership Renewals For many associations, it s easy to get caught up in the marketing efforts associated with attracting new members. But as important as membership growth is, renewal
More informationNavigating in SPSS. C h a p t e r 2 OBJECTIVES
C h a p t e r 2 Navigating in SPSS 2.1 Introduction and Objectives As with any new software program you may use, it is important that you are able to move around the screen with the mouse and that you
More informationMTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45
MTAT.03.094 Software Engineering Written Exam 17 January 2014 Start: 9:15 End: 11:45 Important Notes: The exam is open book and open laptop. Web browsing is allowed, but you are not allowed to use e mail
More information} Evaluate the following expressions: 1. int x = 5 / 2 + 2; 2. int x = / 2; 3. int x = 5 / ; 4. double x = 5 / 2.
Class #10: Understanding Primitives and Assignments Software Design I (CS 120): M. Allen, 19 Sep. 18 Java Arithmetic } Evaluate the following expressions: 1. int x = 5 / 2 + 2; 2. int x = 2 + 5 / 2; 3.
More informationCS50 Supersection (for those less comfortable)
CS50 Supersection (for those less comfortable) Friday, September 8, 2017 3 4pm, Science Center C Maria Zlatkova, Doug Lloyd Today s Topics Setting up CS50 IDE Variables and Data Types Conditions Boolean
More informationCreating Reports using Report Designer Part 1. Training Guide
Creating Reports using Report Designer Part 1 Training Guide 2 Dayforce HCM Creating Reports using Report Designer Part 1 Contributors We would like to thank the following individual who contributed to
More information5 Google Drive tips you'll kick yourself for not knowing
5 Google Drive tips you'll kick yourself for not knowing Take your Google Drive experience to the next level with these five handy tips. Are you getting the most out of Google Drive? If you don't know,
More informationProgramming Assignment IV
Programming Assignment IV 1 Introduction In this assignment, you will implement the static semantics of Cool. You will use the abstract syntax trees (AST) built by the parser to check that a program conforms
More informationExpressions and Casting. Data Manipulation. Simple Program 11/5/2013
Expressions and Casting C# Programming Rob Miles Data Manipulation We know that programs use data storage (variables) to hold values and statements to process the data The statements are obeyed in sequence
More informationProgramming Languages
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Programming Languages Concurrency: Atomic Executions, Locks and Monitors Dr. Michael Petter Winter term 2016 Atomic Executions, Locks and Monitors
More informationAd Muncher's New Interface Layout
Ad Muncher's New Interface Layout We are currently working on a new layout for Ad Muncher's configuration window. This page will document the new layout. Interface Layout Objectives The ability to modify
More informationNational Documentation Centre Open access in Cultural Heritage digital content
National Documentation Centre Open access in Cultural Heritage digital content Haris Georgiadis, Ph.D. Senior Software Engineer EKT hgeorgiadis@ekt.gr The beginning.. 42 institutions documented & digitalized
More informationAdmin console design changes
Admin console design changes New icons and navigation for the toolbar Settings open in card view Managing your users Managing user accounts inline Managing multiple users Filtering your organization units
More informationExpressions and Casting
Expressions and Casting C# Programming Rob Miles Data Manipulation We know that programs use data storage (variables) to hold values and statements to process the data The statements are obeyed in sequence
More informationprintf( Please enter another number: ); scanf( %d, &num2);
CIT 593 Intro to Computer Systems Lecture #13 (11/1/12) Now that we've looked at how an assembly language program runs on a computer, we're ready to move up a level and start working with more powerful
More informationExtension Web Publishing 3 Lecture # 1. Chapter 6 Site Types and Architectures
Chapter 6 Site Types and Architectures Site Types Definition: A public Web site, an Internet Web site, an external Web site or simply a Web site is one that is not explicitly restricted to a particular
More informationDetailed Guide to Office Word
Detailed Guide to Office 2010 - Word Microsoft Word is many different things to many different people. It can be used for anything from creating a simple document to creating templates to creating forms.
More informationWith Dreamweaver CS4, Adobe has radically
Introduction to the Dreamweaver Interface With Dreamweaver CS4, Adobe has radically reengineered the Dreamweaver interface to provide a more unified experience across all of the Creative Suite applications.
More informationCS103 Handout 29 Winter 2018 February 9, 2018 Inductive Proofwriting Checklist
CS103 Handout 29 Winter 2018 February 9, 2018 Inductive Proofwriting Checklist In Handout 28, the Guide to Inductive Proofs, we outlined a number of specifc issues and concepts to be mindful about when
More informationWelcome to Mac OS X, the world s most advanced operating system. This book helps you start using Mac OS X. First install the software, then discover h
Welcome to Mac OS X Welcome to Mac OS X, the world s most advanced operating system. This book helps you start using Mac OS X. First install the software, then discover how easy it is to use. 2 Installing
More informationUnit 6 Chapter 15 EXAMPLES OF COMPLEXITY CALCULATION
DESIGN AND ANALYSIS OF ALGORITHMS Unit 6 Chapter 15 EXAMPLES OF COMPLEXITY CALCULATION http://milanvachhani.blogspot.in EXAMPLES FROM THE SORTING WORLD Sorting provides a good set of examples for analyzing
More informationTesting and Migration
Testing and Migration Tudor Gîrba www.tudorgirba.com Reengineering... is the examination and alteration of a subject system to reconstitute it in a new form and the subsequent implementation of the new
More informationAssignment 5 is posted! Heuristic evaluation and AB testing. Heuristic Evaluation. Thursday: AB Testing
HCI and Design Topics for today Assignment 5 is posted! Heuristic evaluation and AB testing Today: Heuristic Evaluation Thursday: AB Testing Formal Usability Testing Formal usability testing in a lab:
More informationObjects and Classes. Chapter 8
200 Chapter 8 Objects and Classes The style of programming we have seen so far is called procedural programming. This was the first programming paradigm, developed in the 1950 s and 1960 s alongside the
More informationExtreme Java Productivity with Spring Roo and Spring 3.0
Extreme Java Productivity with Spring Roo and Spring 3.0 Rod Johnson Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Agenda Motivation
More informationOpen and respond to this poll: PollEv.com/comp110. Calling Methods Mr. Roboto
Open and respond to this poll: PollEv.com/comp110 Lecture 1 Calling Methods Mr. Roboto Fall 2016 Special thanks to Dr. Andy van Dam, my grad school advisor, and Brown s CS15 course for this fantastic method
More informationProgramming Using C# QUEEN S UNIVERSITY BELFAST. Practical Week 7
Programming Using C# QUEEN S UNIVERSITY BELFAST Practical Week 7 Table of Contents PRACTICAL 7... 2 EXERCISE 1... 2 TASK 1: Zoo Park (Without Inheritance)... 2 TASK 2: Zoo Park with Inheritance... 5 TASK
More information