Selection and Use of General-Purpose Programming

Total Page:16

File Type:pdf, Size:1020Kb

Selection and Use of General-Purpose Programming DOCUMENT RESUME ED 274 326 IR 012 306 AUTHOR Cugini, John V. TITLE Selection and Use of General-Purpose Programming . Languages--Overview. 'Volume 1. INSTITUTION National Bureau of Standards (DOC), Washington, D.C. Inst. for Computer Sciences and Technology. REPORT NO NBS-SP-500-117/1 PUB DATE Oct 84 NOTE 100p. AVAILABLE FROMSuperintendent of Documents, U.S. Government Printing Office, Washington, DC 20402. PUB TYPE Guides - General (050) -- Information Analyses (070) EDRS PRICE MF01/PC04 Plus Postage. DESCRIPTORS Authoring Aids (Programing); *Comparative Analysis; Computer Graphics; *Computer Oriented Programs; Database Management Systems; Data Processing; *Evaluation Criteria; Federal Government; Industry; *Microcomputers; Programing; *Programing Languages; Selection; *Standards IDENTIFIERS BASIC Programing Language; COBOL Programing Language; FORTRAN Programing Language; PASCAL Programing Language ABSTRACT This study presents a review of selection factors for the seven major general-purpose programming languages: Ada, BASIC, C, COBOL, FORTRAN, PASCAL, and PL/I. The factors covered include not only the logical operations within each language, but also the advantages and disadvantages stemming from the current computing environment, e.g., software packages, microcomputers, and standards. This volume contains the discussion of language selection criteria based on: (1) the language and its implementation; (2) the application to be programmed; and (3) the user's existing facilities and software. Explanations of the criteria associated with the application and the user's facilities are included as well as 49 references. Appendices contain a list of abbreviations used, an annotated list of organizations that can provide additional information, and a discussion of alternatives to conventional programming. (Author/DJR) *********************************************************************** * Reproductions supplied by EDRS are the best that can be made * * from the original document. * *********************************************************************** U.S. Department of Commerce Computer Science National Bureau of Standards and Technology U.S. DEPARTMENT Of EDUCATION Office of Educational Research and Improvement EDUCATIONAL RESOURCES INFORMATION NBS Special Publication 500-117, Volume 1 CENTER (ERIC) VI This document Imas been reproduceel as received horn the person or organization originating it. 0 Minor changes have been made to improve Selection and Use of reproduction Quality. Points of view or opinions stated in this docu- ment do not necessarily represent official General-Purpose Programming OERI positon or policy. Languages Overview BEST COPY AVAILABLE 2 he National Bureau of Standards' was established by an act of Congresson March 3, 1901. The Bureau's overall goal is to strengthen and advance the nation's science and technology andfacilitate their effective applicationfor public benefit. To this end, the Bureau conducts research and proides: (I)a basis for the nation's physical measurement system, (2) scientific and technologifal services for industry and government, (3) a technical basis for equity in trade, and (4) technical services to promote public safety. The Bureau's technical work is performed by the National Measurement Laboratory, the National Engineering Laboratory, the Institute for Computer Sciences and Technology, and the Center for Materials Science. The National Measurement Laboratory Provides the national system of physical and chemical measurement; Basic Standar& coordinates the system with measurement systems of other nations and Radiation Research furnishes essential services leading to accurate and uniform physical and Chemical Physics chemical measurement throughout the Nation's scientific community, in- Analytical Chemistry dustry, and commerce; provides advisory and research services to other Government agencies; conducts physical and chemical research; develops, produces, and distributes Standard Reference'Materials; and provides calibration services. The Laboratory consists of the following centers: The National Engineering Laboratory Provides technology and technical services to the public and private sectors to Applied Mathematics addres: national needs and to solve national problems; conducts research in Electronics and Electrical engineeing and applied science in support of these efforts; builds and main- Engineering2 tains competence in the necessary disciplines required to carry out this Manufacturing Engineering research and technical service; develops engineering data and measurement Building Technology capabilities; provides engineering measurement traceability services; develops Fire Research test methods and proposes engineering standards and code changes; develops Chemical Engineering2 and proposes new engineering practices; and develops and improves mechanisms to transfer results of its research to the ultimate user. The Laboratory consists of the following centers: The Institute for Computer Sciences and Technology Conducts research and provides scientific and technical services to aid Programming Science and Federal agencies in the selection, acquisition, application, anduse of com- Technology puter technology to improve effectiveness and economy in Government Computer Systems operations in accordance with Public Law 89-306 (40 U.S.C. 759), relevant Engineering Executive Orders, and other directives; carries out this mission by managing the Federal Information Processing Standards Program, developing Federal ADP standards guidelines, and managing Federal participation in ADP voluntary standardization activities; provides scientific and technological ad- visory services and assistance to Federal agencies; and provides the technical foundation for computer-related policies of the Federal Government. The In- stitute consists of the following centers: The Center for Materkds Science Conducts research and provides measurements, data, standards, reference Inorganic Materials materials, quantitative understanding and other technical information funda- Fracture and Deformation3 mental to the processing, structure, properties and performance of materials; Polymers addresses the scientific basis for new advanced materials technologies; plans Metallurgy research around cross-country scientific themes such as nondestructive Reactor Radiation evaluation and phase diagram development; oversees Bureau-wide technical programs in nuclear reactor radiation research and nondestructive evalua- tion; and broadly disseminates generic technical information resulting from its programs. The Center consists of the following Divisions: 'Headquarlers and Laboraiories al Ganhersburg, MD, unless otherwise noied: rnaihng address Gaiihersburg, MD 20899. 2Some divisions wiihin ihe center are located at Boulder, CO 80303. 3Locaied al Boulder, CO, wilh some elemenis al Gaiihersburg. MD. Computer Science and Technology NBS Special Publication 500-117, Volume 1 Selection and Use of General-Purpose Programming Languages Overview John V. Cugini Center for Programming Science and Technology Institute for Computer Sciences and Technology National Bureau of Standards Gaithersburg, MD 20899 011 Of %Au Of 4% U.S. DEPARTMENT OF COMMERCE Malcolm Baldrige, Secretary National Bureau of Standards Ernest Ambler, Director Issued October 1984 4 Reports on Computer Science and Technology The National Bureau of Standards has a special responsibility within the Federal Government for computer science and technology activities. The programs of the NBS Institute for Computer Sciences and Technology are designed to provide ADP standards, guidelines, and technical advisory services to improve the effectiveness of computer utilization in the Federal sector, and to perform appropriate research and development efforts as foundation for such activities and programs.This publication series will report these NBS efforts to the Federal computer community as well as to interested specialists in the academic and private sectors. Those wishing to receive notices of publications in this series should complete and return the form at the end of this publication. Library of Congress Ca.talog Card Number: 84-601119 National Bureau of Standards Special Publication 500-117, Volume 1 Natl. Bur. Stand. (U.S.), Spec. Publ. 500-117, Vol. 1, 81 pages (Oct. 1984) CODEN: XNBSAV U.S. GOVERNMENT PRINTING OFFICE WASHINGTON: 1984 For sale by the Superintendent of Documents. U.S. Government Printing Office. Washington, DC 20402 PREFACE: Role of ICST The Institute for Computer Sciences and Technology (ICST) within the National Bureau of Standards (RBS) has a mission under Public Law 89-306 (Brooks Act) to promote the "economic and efficient purchase, lease, maintenance, operation, and utilization of automatic dataprocessing equipmentby Federal departments and agencies." Thus, ICSTpursues a number of different approaches to the problem ofapplication development andmaintenance. When a potentially valuable technique first appears, ICST may be involved in research and evaluation. Later on, standardization of the resultsof such research, in cooperation with voluntary industry standards bodies, may best serve Federal interests. Finally, ICST helps Federal agencies make practical use of existing standards and technology through directconsulting and the development of supporting guidelines and software. The developmentand promotion of standard pl:ogramming languages provide an especially clear example of this cycle of technological development. Through its activitieswithin
Recommended publications
  • Why ODF?” - the Importance of Opendocument Format for Governments
    “Why ODF?” - The Importance of OpenDocument Format for Governments Documents are the life blood of modern governments and their citizens. Governments use documents to capture knowledge, store critical information, coordinate activities, measure results, and communicate across departments and with businesses and citizens. Increasingly documents are moving from paper to electronic form. To adapt to ever-changing technology and business processes, governments need assurance that they can access, retrieve and use critical records, now and in the future. OpenDocument Format (ODF) addresses these issues by standardizing file formats to give governments true control over their documents. Governments using applications that support ODF gain increased efficiencies, more flexibility and greater technology choice, leading to enhanced capability to communicate with and serve the public. ODF is the ISO Approved International Open Standard for File Formats ODF is the only open standard for office applications, and it is completely vendor neutral. Developed through a transparent, multi-vendor/multi-stakeholder process at OASIS (Organization for the Advancement of Structured Information Standards), it is an open, XML- based document file format for displaying, storing and editing office documents, such as spreadsheets, charts, and presentations. It is available for implementation and use free from any licensing, royalty payments, or other restrictions. In May 2006, it was approved unanimously as an International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC) standard. Governments and Businesses are Embracing ODF The promotion and usage of ODF is growing rapidly, demonstrating the global need for control and choice in document applications. For example, many enlightened governments across the globe are making policy decisions to move to ODF.
    [Show full text]
  • Cobol/Cobol Database Interface.Htm Copyright © Tutorialspoint.Com
    CCOOBBOOLL -- DDAATTAABBAASSEE IINNTTEERRFFAACCEE http://www.tutorialspoint.com/cobol/cobol_database_interface.htm Copyright © tutorialspoint.com As of now, we have learnt the use of files in COBOL. Now, we will discuss how a COBOL program interacts with DB2. It involves the following terms: Embedded SQL DB2 Application Programming Host Variables SQLCA SQL Queries Cursors Embedded SQL Embedded SQL statements are used in COBOL programs to perform standard SQL operations. Embedded SQL statements are preprocessed by SQL processor before the application program is compiled. COBOL is known as the Host Language. COBOL-DB2 applications are those applications that include both COBOL and DB2. Embedded SQL statements work like normal SQL statements with some minor changes. For example, that output of a query is directed to a predefined set of variables which are referred as Host Variables. An additional INTO clause is placed in the SELECT statement. DB2 Application Programming Following are rules to be followed while coding a COBOL-DB2 program: All the SQL statements must be delimited between EXEC SQL and END-EXEC. SQL statements must be coded in Area B. All the tables that are used in a program must be declared in the Working-Storage Section. This is done by using the INCLUDE statement. All SQL statements other than INCLUDE and DECLARE TABLE must appear in the Procedure Division. Host Variables Host variables are used for receiving data from a table or inserting data in a table. Host variables must be declared for all values that are to be passed between the program and the DB2. They are declared in the Working-Storage Section.
    [Show full text]
  • ASSESSING the MAINTAINABILITY of C++ SOURCE CODE by MARIUS SUNDBAKKEN a Thesis Submitted in Partial Fulfillment of the Requireme
    ASSESSING THE MAINTAINABILITY OF C++ SOURCE CODE By MARIUS SUNDBAKKEN A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science WASHINGTON STATE UNIVERSITY School of Electrical Engineering and Computer Science DECEMBER 2001 To the Faculty of Washington State University: The members of the Committee appointed to examine the thesis of MARIUS SUNDBAKKEN find it satisfactory and recommend that it be accepted. Chair ii ASSESSING THE MAINTAINABILITY OF C++ SOURCE CODE Abstract by Marius Sundbakken, M.S. Washington State University December 2001 Chair: David Bakken Maintenance refers to the modifications made to software systems after their first release. It is not possible to develop a significant software system that does not need maintenance because change, and hence maintenance, is an inherent characteristic of software systems. It has been estimated that it costs 80% more to maintain software than to develop it. Clearly, maintenance is the major expense in the lifetime of a software product. Predicting the maintenance effort is therefore vital for cost-effective design and development. Automated techniques that can quantify the maintainability of object- oriented designs would be very useful. Models based on metrics for object-oriented source code are necessary to assess software quality and predict engineering effort. This thesis will look at C++, one of the most widely used object-oriented programming languages in academia and industry today. Metrics based models that assess the maintainability of the source code using object-oriented software metrics are developed. iii Table of Contents 1. Introduction .................................................................................................................1 1.1. Maintenance and Maintainability.......................................................................
    [Show full text]
  • Circular Economy and Standardization
    G7 WORKSHOP, 20-21 MARCH 2019 TOOLS MAKING VALUE CHAINS MORE CIRCULAR AND RESOURCE EFFICIENT STANDARDIZATION STANDARDIZATION A FRAMEWORK FOR PROGRESS FOR ALL Olivier Peyrat ISO Board member Past ISO VP Finance AFNOR CEO SUCCESS STORIES OF STANDARDIZATION LIFE CYCLE ASSESSMENT 100 million mobile phones Forgotten in cupboards and drawers in France* € 124 million in gold lost due for failing to recycle 27,000 tons printed circuit boards in France in 2012* 3 YEARS average interval for replacing for mobile phones in Europe* ISO 14040 : Life Cycle Assessment the purpose of LCA is to identify ways of reducing environmental impact at each ones of these stages. It is important to decision-makers in the industry: • preservation of resources • energy choices • production modes Tool for implementing the Paris Agreement, LCA reveals that 70% of environmental impact is determined at the raw material stage. * Rapport n°850 du Sénat, 27 septembre 2016 Référence document Page 2 INTERNATIONAL ORGANIZATIONS International standards: volontary implementation International UIT ISO IEC level National level National standardization body (AFNOR, BSI, DIN, SAC, ANSI…) European ETSI CEN CENELEC level European standards: mandatory implementation Référence document Page 3 STANDARDIZATION STRATEGY ON CIRCULAR ECONOMY Climate change Resources New principles New paradigms Standards: Compilations of good practices New business models circular economy in standardization documents Page 4 STANDARDIZATION STRATEGY ON CIRCULAR ECONOMY What are the expected benefits of standards
    [Show full text]
  • Modern Programming Languages CS508 Virtual University of Pakistan
    Modern Programming Languages (CS508) VU Modern Programming Languages CS508 Virtual University of Pakistan Leaders in Education Technology 1 © Copyright Virtual University of Pakistan Modern Programming Languages (CS508) VU TABLE of CONTENTS Course Objectives...........................................................................................................................4 Introduction and Historical Background (Lecture 1-8)..............................................................5 Language Evaluation Criterion.....................................................................................................6 Language Evaluation Criterion...................................................................................................15 An Introduction to SNOBOL (Lecture 9-12).............................................................................32 Ada Programming Language: An Introduction (Lecture 13-17).............................................45 LISP Programming Language: An Introduction (Lecture 18-21)...........................................63 PROLOG - Programming in Logic (Lecture 22-26) .................................................................77 Java Programming Language (Lecture 27-30)..........................................................................92 C# Programming Language (Lecture 31-34) ...........................................................................111 PHP – Personal Home Page PHP: Hypertext Preprocessor (Lecture 35-37)........................129 Modern Programming Languages-JavaScript
    [Show full text]
  • Software Maintenance Maintenance Is Inevitable Types of Maintenance
    SoftWindows 8/18/2003 Software Maintenance • Managing the processes of system change Reverse Engineering (Software Maintenance & Reengineering) © SERG Maintenance is Inevitable • The system requirements are likely to change while the system is being developed because the environment is changing. • When a system is installed in an environment it changes that environment and therefore changes the system requirements. Reverse Engineering (Software Maintenance & Reengineering) © SERG Types of Maintenance • Perfective maintenance – Changing a system to make it meet its requirements more effectively. • Adaptive maintenance – Changing a system to meet new requirements. • Corrective maintenance – Changing a system to correct deficiencies in the way meets its requirements. Reverse Engineering (Software Maintenance & Reengineering) © SERG Distributed Objects 1 SoftWindows 8/18/2003 Distribution of Maintenance Effort Corrective maintenance (17%) Adaptive maintenance Perfective (18%) maintenance (65%) Reverse Engineering (Software Maintenance & Reengineering) © SERG Evolving Systems • It is usually more expensive to add functionality after a system has been developed rather than design this into the system: – Maintenance staff are often inexperienced and unfamiliar with the application domain. – Programs may be poorly structured and hard to understand. – Changes may introduce new faults as the complexity of the system makes impact assessment difficult. – The structure may be degraded due to continual change. – There may be no documentation available to describe the program. Reverse Engineering (Software Maintenance & Reengineering) © SERG The Maintenance Process • Maintenance is triggered by change requests from customers or marketing requirements. • Changes are normally batched and implemented in a new release of the system. • Programs sometimes need to be repaired without a complete process iteration but this is dangerous as it leads to documentation and programs getting out of step.
    [Show full text]
  • System Software Maintenance and Support 24X7
    SYSTEM SOFTWARE MAINTENANCE AND SUPPORT SERVICES - PREMIUM These Premium System Software Maintenance and Support Service terms and conditions (“Terms and Conditions”) apply to any quote, order, order acknowledgment, and invoice, and any sale or provision of Premium System Software Maintenance and Support Services as defined herein provided to Customer by Viavi Solutions Inc. (“Viavi”), in addition to Viavi’s General Terms (“General Terms”) and/or Software License Terms, which are incorporated by reference herein and are either attached hereto, available at www.viavisolutions.com/terms or available upon request. k) Severity Level means classification of a problem determined by Viavi personnel 1. PURPOSE AND SCOPE based upon the Customer’s assessment of business impact. The three (3) Severity Levels that apply to the Services are as follows: These Terms and Conditions describe the Services that Viavi will provide to, and perform for, Customer. These Terms and Conditions apply to Services for standard Software, as 1) Problem Report – Critical means conditions that severely affect the defined herein, and are limited to the System configuration specified in a Statement of primary functionality of the System and because of the business impact to the Work (“SOW”) or other ordering document (i.e., a quote, order, order acknowledgment customer requires non-stop immediate corrective action, regardless of time of day or invoice) which contains a description of the System. All Services and Documentation or day of the week as viewed by a customer
    [Show full text]
  • National and International Standardization of Radiation Dosimetry
    National and International Standardization of Radiation Dosimetry PROCEEDINGS OF A SYMPOSIUM ATLANTA 5 -9 DECEMBER 1977 V tTj? INTERNATIONAL ATOMIC ENERGY AGENCY, VIENNA, 1978 >*___¿I? NATIONAL AND INTERNATIONAL STANDARDIZATION OF RADIATION DOSIMETRY VOL.II The following States are Members of the International Atomic Energy Agency: AFGHANISTAN HOLY SEE PHILIPPINES ALBANIA HUNGARY POLAND ALGERIA ICELAND PORTUGAL ARGENTINA INDIA QATAR AUSTRALIA INDONESIA ROMANIA AUSTRIA IRAN SAUDI ARABIA BANGLADESH IRAQ SENEGAL BELGIUM IRELAND SIERRA LEONE BOLIVIA ISRAEL SINGAPORE BRAZIL ITALY SOUTH AFRICA BULGARIA IVORY COAST SPAIN BURMA JAMAICA SRI LANKA BYELORUSSIAN SOVIET JAPAN SUDAN SOCIALIST REPUBLIC JORDAN SWEDEN CANADA KENYA SWITZERLAND CHILE KOREA, REPUBLIC OF SYRIAN ARAB REPUBLIC COLOMBIA KUWAIT THAILAND COSTA RICA LEBANON TUNISIA CUBA LIBERIA TURKEY CYPRUS LIBYAN ARAB JAMAHIRIYA UGANDA CZECHOSLOVAKIA LIECHTENSTEIN UKRAINIAN SOVIET SOCIALIST DEMOCRATIC KAMPUCHEA LUXEMBOURG REPUBLIC DEMOCRATIC PEOPLE’S MADAGASCAR UNION OF SOVIET SOCIALIST REPUBLIC OF KOREA MALAYSIA REPUBLICS DENMARK MALI UNITED ARAB EMIRATES DOMINICAN REPUBLIC MAURITIUS UNITED KINGDOM OF GREAT ECUADOR MEXICO BRITAIN AND NORTHERN EGYPT MONACO IRELAND EL SALVADOR MONGOLIA UNITED REPUBLIC OF ETHIOPIA MOROCCO CAMEROON FINLAND NETHERLANDS UNITED REPUBLIC OF FRANCE NEW ZEALAND TANZANIA GABON NICARAGUA UNITED STATES OF AMERICA GERMAN DEMOCRATIC REPUBLIC NIGER URUGUAY GERMANY, FEDERAL REPUBLIC OF NIGERIA VENEZUELA GHANA NORWAY VIET NAM GREECE PAKISTAN YUGOSLAVIA GUATEMALA PANAMA ZAIRE HAITI PARAGUAY ZAMBIA PERU The Agency’s Statute was approved on 23 October 1956 by the Conference on the Statute of the IAEA held at United Nations Headquarters, New York; it entered into force on 29 July 1957. The Headquarters of the Agency are situated in Vienna. Its principal objective is “ to accelerate and enlarge the contribution of atomic energy to peace, health and prosperity throughout the world” .
    [Show full text]
  • 10 Programming Languages You Should Learn Right Now by Deborah Rothberg September 15, 2006 8 Comments Posted Add Your Opinion
    10 Programming Languages You Should Learn Right Now By Deborah Rothberg September 15, 2006 8 comments posted Add your opinion Knowing a handful of programming languages is seen by many as a harbor in a job market storm, solid skills that will be marketable as long as the languages are. Yet, there is beauty in numbers. While there may be developers who have had riches heaped on them by knowing the right programming language at the right time in the right place, most longtime coders will tell you that periodically learning a new language is an essential part of being a good and successful Web developer. "One of my mentors once told me that a programming language is just a programming language. It doesn't matter if you're a good programmer, it's the syntax that matters," Tim Huckaby, CEO of San Diego-based software engineering company CEO Interknowlogy.com, told eWEEK. However, Huckaby said that while his company is "swimmi ng" in work, he's having a nearly impossible time finding recruits, even on the entry level, that know specific programming languages. "We're hiring like crazy, but we're not having an easy time. We're just looking for attitude and aptitude, kids right out of school that know .Net, or even Java, because with that we can train them on .Net," said Huckaby. "Don't get fixated on one or two languages. When I started in 1969, FORTRAN, COBOL and S/360 Assembler were the big tickets. Today, Java, C and Visual Basic are. In 10 years time, some new set of languages will be the 'in thing.' …At last count, I knew/have learned over 24 different languages in over 30 years," Wayne Duqaine, director of Software Development at Grandview Systems, of Sebastopol, Calif., told eWEEK.
    [Show full text]
  • GNU Cobol FAQ
    GNU Cobol FAQ | Status This is a 2.1 work in progress release of the GNU Cobol FAQ. Sourced at gcfaqrrst. Courtesty of ReStructuredText, Sphinx and Pygments. GNU Cobol 2.1 is not currently rolled out, but is available for testing. GNUCobolFAQppdf is also available, but broken, as a work in progress, with no work done yet, using Texlive and Sphinx. This FAQ is more than a FAQ and less than a FAQ. Someday that will change and this document will be split into a GNU Cobol manual and a simplified Frequently Asked Questions file. Website favicon by Mark James, help.png from the FAMFAMFAM Silk icon set. http://creativecommons.org/licenses/by/2.5/ Banner courtesy of the GIMP, Copyright © 2008-2014 Brian Tif- fin licensed under Creative Commons Attribution-Share Alike 2.0 Generic License http://creativecommons.org/licenses/by-sa/2.0/ Authors Brian Tiffin [btiffin]_ Answers, quotes and contributions: John Ellis [jrls_swla]_, Vincent Coen, Jim Currey, Bill Klein [wmk- lein]_, Ganymede, Simon Sobisch [human]_, Rildo Pragana, Sergey Kashyrin, Federico Priolo, Frank Swarbrick, Angus, DamonH, Parhs, Gerald Chudyk Compiler by: *Roger While* [Roger]_, *Keisuke Nishida* [Keisuke]_, *Ron Norman* [Ron]_, *Sergey Kashyrin* [Sergey]_, (with the invaluable assistance of many others) Special credits to *Gary Cutler* author of the GNU Cobol Programmers Guide Joseph James Frantz for hosting and advocacy [aoirthoir]_ 1 Version 2.1.17, May 24th, 2014 Status never complete; like a limit, limaq→0 f(aq) = 42 Copyright Copyright © 2008-2014 Brian Tiffin ChangeLog ChangeLog_ note Regarding COBOL Standards, Official COBOL Standards: There are many references to standards in this document.
    [Show full text]
  • Software Engineering Software Maintenance
    SOFTWARE ENGINEERING SOFTWARE MAINTENANCE Software maintenance is the process of modification or making changes in the system after delivery to overcome errors and faults in the system that were not uncovered during the early stages of the development cycle. LEARNING OBJECTIVES • To study on why maintenance is an issue. • To study on reverse engineering and limitations. • To organize data. • To check what the system does. SOFTWARE MAINTENANCE The IEEE Standard for Software Maintenance (IEEE 1219) gave the definition for software maintenance as “The process of modifying a software system or component after delivery to correct faults, improves performance or other attributes, or adapt to a changed environment.” Maintenance Principles 100 Hardware Development 60 Software 20 Maintenance Percent of total cost total of Percent 1995 2000 2010 The IEEE/EIA 12207 Standard defines maintenance as modification to code and associated documentation due to a problem or the need for improvement. Nature of Maintenance Modification requests are logged and tracked, the impact of proposed changes are determined, code and other software artifacts are modified, testing is conducted, and a new version of the software product is released. Maintainers can learn from the developer´s knowledge of the software. Need for Maintenance Maintenance must be performed in order to: • Correct faults. • Improve the design. • Implement enhancements. • Interface with other systems. • Adapt programs so that different hardware, software, system features, and telecommunications facilities can be used. • Migrate legacy software. • Retire software Tasks of a maintainer The maintainer does the following functions: • Maintain control over the software´s day-to-day functions. • Maintain control over software modification.
    [Show full text]
  • Latest Results from the Procedure Calling Test, Ackermann's Function
    Latest results from the procedure calling test, Ackermann’s function B A WICHMANN National Physical Laboratory, Teddington, Middlesex Division of Information Technology and Computing March 1982 Abstract Ackermann’s function has been used to measure the procedure calling over- head in languages which support recursion. Two papers have been written on this which are reproduced1 in this report. Results from further measurements are in- cluded in this report together with comments on the data obtained and codings of the test in Ada and Basic. 1 INTRODUCTION In spite of the two publications on the use of Ackermann’s Function [1, 2] as a mea- sure of the procedure-calling efficiency of programming languages, there is still some interest in the topic. It is an easy test to perform and the large number of results ob- tained means that an implementation can be compared with many other systems. The purpose of this report is to provide a listing of all the results obtained to date and to show their relationship. Few modern languages do not provide recursion and hence the test is appropriate for measuring the overheads of procedure calls in most cases. Ackermann’s function is a small recursive function listed on page 2 of [1] in Al- gol 60. Although of no particular interest in itself, the function does perform other operations common to much systems programming (testing for zero, incrementing and decrementing integers). The function has two parameters M and N, the test being for (3, N) with N in the range 1 to 6. Like all tests, the interpretation of the results is not without difficulty.
    [Show full text]