• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/17

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

17 Cards in this Set

  • Front
  • Back

What is a software?

Set of tools or computer programs which converts data into information, to fulfill some user requirement

third gen languages?

High level languages which are hardware indepndent. One line of third gen is about many lines of 1st gen and 2nd gen.


code may not make the best use of processor specific features unlike 1st and 2nd gen





fourth generation languages?

Declarative languages.


CSS,MYSQL,XUL

What is a unit?

Smallest TESTABLE part of a software application. A code fragment, method, class, module.

Benefits of unit testing

Early Detection,test cases for all functions so faults caused by change are quickly identified
help in documentation and design


Types of unit tests

Interface test:


check inflow and outflow of information


Local Datastructures: Test Local Datastructures


Boundary Conditions:


Check boundary limits


Independent Paths:


Error Handling paths

Common Terms of version controlling

Repository: set of files under version control


Check-out/clonning: save copy on local machine


Commit: save working copy back to repo


Branch: copy of repo, moving seperately from other branches


Head: latest commit


Revision: single change


change list: list of changes

Branching and merging?

Save master branch


create new branch


checkout new branch


make changes


commit changes


when changes are stable merge the master


unless there is a conflict then it requires manual reconcilliation

Centralized version control?

Client server


everything resides on server


single point failure (bad)


can be slow


branching and merging is difficult

distribted version control?

A network of individual repositories


every user has a copy


GIT and Mercurial


Less conflicts


no server necessary


Branching is merging is flexible


it is fast

what does profiler calculate?

memory usage


time complexity


execution path


frequency calls

Flat profiler?

average call times from calls.


do not break down call times based on the callee or context

Call graph profiler?

show the call times


frequencies of the functions


call chains involved based on callee

Input sensitive profiler?

add a further dimension to flat or call-graph profilers by relating performance measures to features of the input workloads such as input size or values

profiler types?

Event Based/tracing profilers?
collects data on event from an events set.
break points and exceptions
Statistical/Sampling profilers:
Collects data periodically
create samples: less data & less profiling over heads


Features of Build Automation?

Compiling source code into binary code


packaging binary code


running automated tests


deploying to production systems


creating documentation or release notes.

Lecture 1 slide 57 onwards

lecture 1 slides 57 onwards