SlideShare a Scribd company logo
1 of 19
Software Tools 
-Dipali Khatri 
-Manish Joshi 
-Himanshu Patel 
-Ravindra Vekariya 
-Bhumit Kataria
DEFINITION 
 Software tool is system programs. 
 Interface a program with the entity generating is 
input data. Or 
 Interface the result of a program with the entity 
consuming them Or 
 Less obvious but vital role is played by programs 
that help in developing and using other 
programs. 
 in simple we can say that software through we 
make other programs .
 EX: 
 Show a schematic of a software tool. 
Originator 
Software tools Consumer 
s 
Raw Program 
or data 
Transformed 
Program or 
data
Explanation: 
 A file rewriting utility organizes the data in a file 
in a format suitable for processing by a program. 
 The file rewriting utility is a software tool 
according to our definition.
There are two kinds of software tools: 
 Software tools for program development 
 User interface
Software tools for program development: 
 The fundamental steps in program development 
are: 
 1) Program design ,coding & documentation 
 2)Preparation of program in machine readable 
form 
 3)Program translation linking & loading 
 4)Program testing and debugging 
 5)Performance tuning 
 6)Reformating the data.
1).Program design &coding: 
 Two categories of tools used in program design & 
coding are: 
 1)Program generators 
 2)Programming environments. 
 Program generators generator program and it 
performs a set of functions described in a specification. 
it also that what functions a program should perform 
rather then how the functions should be implemented. 
 A programming environment supports program coding 
by incorporating of the programming lang. syntax and 
semantics in the language editor.
2).Program entry and editing 
 These are text editors more sophisticated 
programs with text editor as front ends. Editor in 
two modes one is command mode and second is 
that data mode. 
 In such editor edit are command and data like 
mix up edit. 
 In the data mode the user keys in the text to be 
added to the file Failure to recognize the current 
mode of the editor can lead to mix up of command 
& data.
3). Program testing and debugging 
 In selection of testing data for the program, analysis 
of test results to detect errors and debugging. 
 Ex . localization and removal of errors. 
 Software tools to assist the programmer in these 
steps come in the following forms. 
1. Test data generators help the user in selecting 
test data for his program. It use through user get help 
and done thoroughly tested. 
2. Automated test drivers help in regression 
testing.
Þ These are given as inputs to the test driver. The 
driver subject one at time organizes execution of 
the program on the data. 
Þ Fig of process 
Sets of test data 
Test driver 
------------------------------- 
---- 
Programs 
under test 
Continue…
Continue… 
3. Debug monitors help in obtaining information for 
localization of errors. It show the local error for 
solving. 
4. Source code control systems help to keep track of 
modification in the source code. It men’s that it show the 
location of change for solving error. 
 Debug information:- 
=> Such information's Can be produced statically by 
analyzing the source program or dynamically during 
program execution.
4).Enhancement of program performance 
 Program performance depends on two factors 
- efficiency of the algorithm 
- efficiency of its coding. 
Þ An optimizing compiler can improve efficiency of the 
code but it can’t improve efficiency of the algorithm. 
It is better to focus on only those sections of a program 
which consume a considerable amount of execution 
time. 
Þ A profile monitor is software tools that collection 
information Regarding the execution behavior of a 
program. Ex:- computer graphics, computer performance.
5) Program documentation 
 Most programming project suffer from lack of up-to- 
date documentation. 
 Automatic documentation tools are motivated by 
the desire to overcome this deficiency. 
 These tools work on the source program to 
produce different forms of documentation. 
e.g. Flow charts, IO specifications showing files 
and their records, etc.
6) Design of Software Tools 
Program preprocessing and Instrumentation. 
1) Program preprocessing :- Program preprocessing 
techniques are used to support static analysis of programs. 
2) Instrumentation:- Program instrumentation 
implies insertion of statements in a program.
Continue… 
Program preprocessing and Instrumentation :- 
 The instrument program is translated using a standard 
translator. 
 During execution, the inserted statements perform a set 
of desired functions.
Continue… 
 Profile and debug monitors typically use this technique. 
 In a profile monitor, an inserted statement updates a 
counter indicating the number of times a statement is 
executed, whereas in debug monitors an inserted 
statement indicates that execution has reached a 
specific point in the source program.
Program interpretation and Program generation. 
Interpreter 
Generated 
Program 
Results 
Results 
Data 
Data 
Program 
Generator 
Task 
Specification 
Task 
Specification 
Figure shows the schematic of software tools using the 
techniques of interpretation & Program generation.
Program interpretation & Program generation. 
 Use of interpreters in software tools is motivated by the same reasons 
that motivate the use of interpreters in program development. 
 Most requirement met by software tools are ad hoc, it is useful to 
eliminate the translation phase. 
 However, interpreter based tools suffer from poor efficiency and poor 
probability, since an interpreter based tool is only as portable as the 
interpreter it uses. 
 A generated program is more efficient and can be made portable.
Debug monitors 
 Debug monitors provides the following facilities 
for dynamic debugging: 
 1)Setting breakpoints in the program 
 2)Initiating a debug conversation when control 
reaches a breakpoint 
 3)Displaying values of variables 
 4)Assigning new values to variables 
 5)Testing user defined assertions & predicates 
involving program variables.

More Related Content

What's hot

System software - macro expansion,nested macro calls
System software - macro expansion,nested macro callsSystem software - macro expansion,nested macro calls
System software - macro expansion,nested macro callsSARASWATHI S
 
source code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquessource code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquesSiva Priya
 
Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structuresNur Islam
 
Software components
Software componentsSoftware components
Software componentsAmir_Mukhtar
 
System Programming Unit II
System Programming Unit IISystem Programming Unit II
System Programming Unit IIManoj Patil
 
Chapter 5 software design
Chapter 5 software designChapter 5 software design
Chapter 5 software designdespicable me
 
Single pass assembler
Single pass assemblerSingle pass assembler
Single pass assemblerBansari Shah
 
Chap 1-language processor
Chap 1-language processorChap 1-language processor
Chap 1-language processorshindept123
 
Introduction to systems programming
Introduction to systems programmingIntroduction to systems programming
Introduction to systems programmingMukesh Tekwani
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costslalithambiga kamaraj
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteriaUmaselvi_R
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factorsNancyBeaulah_R
 
Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factorsNancyBeaulah_R
 

What's hot (20)

System software - macro expansion,nested macro calls
System software - macro expansion,nested macro callsSystem software - macro expansion,nested macro calls
System software - macro expansion,nested macro calls
 
System Programming Overview
System Programming OverviewSystem Programming Overview
System Programming Overview
 
source code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquessource code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniques
 
Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structures
 
Software components
Software componentsSoftware components
Software components
 
System programming
System programmingSystem programming
System programming
 
System Programming Unit II
System Programming Unit IISystem Programming Unit II
System Programming Unit II
 
Design techniques
Design techniquesDesign techniques
Design techniques
 
Chapter 5 software design
Chapter 5 software designChapter 5 software design
Chapter 5 software design
 
unit testing and debugging
unit testing and debuggingunit testing and debugging
unit testing and debugging
 
Compiler Chapter 1
Compiler Chapter 1Compiler Chapter 1
Compiler Chapter 1
 
Single pass assembler
Single pass assemblerSingle pass assembler
Single pass assembler
 
Chap 1-language processor
Chap 1-language processorChap 1-language processor
Chap 1-language processor
 
Introduction to systems programming
Introduction to systems programmingIntroduction to systems programming
Introduction to systems programming
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costs
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteria
 
System software
System softwareSystem software
System software
 
Language processors
Language processorsLanguage processors
Language processors
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
 
Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factors
 

Viewers also liked

CPU Scheduling algorithms
CPU Scheduling algorithmsCPU Scheduling algorithms
CPU Scheduling algorithmsShanu Kumar
 
Unix Operating System
Unix Operating SystemUnix Operating System
Unix Operating Systemsubhsikha
 
CPU scheduling algorithms in OS
CPU scheduling algorithms in OSCPU scheduling algorithms in OS
CPU scheduling algorithms in OSharini0810
 

Viewers also liked (7)

Editor structure
Editor structureEditor structure
Editor structure
 
CPU Scheduling algorithms
CPU Scheduling algorithmsCPU Scheduling algorithms
CPU Scheduling algorithms
 
Unix Operating System
Unix Operating SystemUnix Operating System
Unix Operating System
 
CPU scheduling algorithms in OS
CPU scheduling algorithms in OSCPU scheduling algorithms in OS
CPU scheduling algorithms in OS
 
Memory management
Memory managementMemory management
Memory management
 
Macro
MacroMacro
Macro
 
Memory management
Memory managementMemory management
Memory management
 

Similar to Software tools

Chapter 11 Metrics for process and projects.ppt
Chapter 11  Metrics for process and projects.pptChapter 11  Metrics for process and projects.ppt
Chapter 11 Metrics for process and projects.pptssuser3f82c9
 
software development and programming languages
software development and programming languages software development and programming languages
software development and programming languages PraShant Kumar
 
SPCC:System programming and compiler construction
SPCC:System programming and compiler constructionSPCC:System programming and compiler construction
SPCC:System programming and compiler constructionmohdumaira1
 
Software Process and Requirement
Software Process and RequirementSoftware Process and Requirement
Software Process and Requirementcricket2ime
 
1.7 selection and use of appropriate software
1.7 selection and use of appropriate software1.7 selection and use of appropriate software
1.7 selection and use of appropriate softwaremrmwood
 
Software Engineering tools
Software Engineering tools Software Engineering tools
Software Engineering tools imran khan
 
Software development slides
Software development slidesSoftware development slides
Software development slidesiarthur
 
Overview of c++
Overview of c++Overview of c++
Overview of c++geeeeeet
 

Similar to Software tools (20)

Sepm t1
Sepm t1Sepm t1
Sepm t1
 
System software
System softwareSystem software
System software
 
Chapter 11 Metrics for process and projects.ppt
Chapter 11  Metrics for process and projects.pptChapter 11  Metrics for process and projects.ppt
Chapter 11 Metrics for process and projects.ppt
 
computer software
computer softwarecomputer software
computer software
 
SE-Unit I.pptx
SE-Unit I.pptxSE-Unit I.pptx
SE-Unit I.pptx
 
software development and programming languages
software development and programming languages software development and programming languages
software development and programming languages
 
Types of system software
Types of system softwareTypes of system software
Types of system software
 
SPCC:System programming and compiler construction
SPCC:System programming and compiler constructionSPCC:System programming and compiler construction
SPCC:System programming and compiler construction
 
SE_Unit 2.pptx
SE_Unit 2.pptxSE_Unit 2.pptx
SE_Unit 2.pptx
 
computer Unit 6
computer Unit 6computer Unit 6
computer Unit 6
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Sd Revision
Sd RevisionSd Revision
Sd Revision
 
Software Process and Requirement
Software Process and RequirementSoftware Process and Requirement
Software Process and Requirement
 
1.7 selection and use of appropriate software
1.7 selection and use of appropriate software1.7 selection and use of appropriate software
1.7 selection and use of appropriate software
 
software engineering
 software engineering software engineering
software engineering
 
Software Engineering tools
Software Engineering tools Software Engineering tools
Software Engineering tools
 
Software development slides
Software development slidesSoftware development slides
Software development slides
 
Software ppt
Software pptSoftware ppt
Software ppt
 
PROBLEM SOLVING
PROBLEM SOLVINGPROBLEM SOLVING
PROBLEM SOLVING
 
Overview of c++
Overview of c++Overview of c++
Overview of c++
 

Recently uploaded

Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARKOUSTAV SARKAR
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network DevicesChandrakantDivate1
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationBhangaleSonal
 
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptxrouholahahmadi9876
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"mphochane1998
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Servicemeghakumariji156
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxpritamlangde
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdfKamal Acharya
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxSCMS School of Architecture
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Call Girls Mumbai
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiessarkmank1
 
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...jabtakhaidam7
 
Introduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdfIntroduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdfsumitt6_25730773
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesMayuraD1
 

Recently uploaded (20)

Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
 
Introduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdfIntroduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdf
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 

Software tools

  • 1. Software Tools -Dipali Khatri -Manish Joshi -Himanshu Patel -Ravindra Vekariya -Bhumit Kataria
  • 2. DEFINITION  Software tool is system programs.  Interface a program with the entity generating is input data. Or  Interface the result of a program with the entity consuming them Or  Less obvious but vital role is played by programs that help in developing and using other programs.  in simple we can say that software through we make other programs .
  • 3.  EX:  Show a schematic of a software tool. Originator Software tools Consumer s Raw Program or data Transformed Program or data
  • 4. Explanation:  A file rewriting utility organizes the data in a file in a format suitable for processing by a program.  The file rewriting utility is a software tool according to our definition.
  • 5. There are two kinds of software tools:  Software tools for program development  User interface
  • 6. Software tools for program development:  The fundamental steps in program development are:  1) Program design ,coding & documentation  2)Preparation of program in machine readable form  3)Program translation linking & loading  4)Program testing and debugging  5)Performance tuning  6)Reformating the data.
  • 7. 1).Program design &coding:  Two categories of tools used in program design & coding are:  1)Program generators  2)Programming environments.  Program generators generator program and it performs a set of functions described in a specification. it also that what functions a program should perform rather then how the functions should be implemented.  A programming environment supports program coding by incorporating of the programming lang. syntax and semantics in the language editor.
  • 8. 2).Program entry and editing  These are text editors more sophisticated programs with text editor as front ends. Editor in two modes one is command mode and second is that data mode.  In such editor edit are command and data like mix up edit.  In the data mode the user keys in the text to be added to the file Failure to recognize the current mode of the editor can lead to mix up of command & data.
  • 9. 3). Program testing and debugging  In selection of testing data for the program, analysis of test results to detect errors and debugging.  Ex . localization and removal of errors.  Software tools to assist the programmer in these steps come in the following forms. 1. Test data generators help the user in selecting test data for his program. It use through user get help and done thoroughly tested. 2. Automated test drivers help in regression testing.
  • 10. Þ These are given as inputs to the test driver. The driver subject one at time organizes execution of the program on the data. Þ Fig of process Sets of test data Test driver ------------------------------- ---- Programs under test Continue…
  • 11. Continue… 3. Debug monitors help in obtaining information for localization of errors. It show the local error for solving. 4. Source code control systems help to keep track of modification in the source code. It men’s that it show the location of change for solving error.  Debug information:- => Such information's Can be produced statically by analyzing the source program or dynamically during program execution.
  • 12. 4).Enhancement of program performance  Program performance depends on two factors - efficiency of the algorithm - efficiency of its coding. Þ An optimizing compiler can improve efficiency of the code but it can’t improve efficiency of the algorithm. It is better to focus on only those sections of a program which consume a considerable amount of execution time. Þ A profile monitor is software tools that collection information Regarding the execution behavior of a program. Ex:- computer graphics, computer performance.
  • 13. 5) Program documentation  Most programming project suffer from lack of up-to- date documentation.  Automatic documentation tools are motivated by the desire to overcome this deficiency.  These tools work on the source program to produce different forms of documentation. e.g. Flow charts, IO specifications showing files and their records, etc.
  • 14. 6) Design of Software Tools Program preprocessing and Instrumentation. 1) Program preprocessing :- Program preprocessing techniques are used to support static analysis of programs. 2) Instrumentation:- Program instrumentation implies insertion of statements in a program.
  • 15. Continue… Program preprocessing and Instrumentation :-  The instrument program is translated using a standard translator.  During execution, the inserted statements perform a set of desired functions.
  • 16. Continue…  Profile and debug monitors typically use this technique.  In a profile monitor, an inserted statement updates a counter indicating the number of times a statement is executed, whereas in debug monitors an inserted statement indicates that execution has reached a specific point in the source program.
  • 17. Program interpretation and Program generation. Interpreter Generated Program Results Results Data Data Program Generator Task Specification Task Specification Figure shows the schematic of software tools using the techniques of interpretation & Program generation.
  • 18. Program interpretation & Program generation.  Use of interpreters in software tools is motivated by the same reasons that motivate the use of interpreters in program development.  Most requirement met by software tools are ad hoc, it is useful to eliminate the translation phase.  However, interpreter based tools suffer from poor efficiency and poor probability, since an interpreter based tool is only as portable as the interpreter it uses.  A generated program is more efficient and can be made portable.
  • 19. Debug monitors  Debug monitors provides the following facilities for dynamic debugging:  1)Setting breakpoints in the program  2)Initiating a debug conversation when control reaches a breakpoint  3)Displaying values of variables  4)Assigning new values to variables  5)Testing user defined assertions & predicates involving program variables.