Archive for July, 2013

Life of A Programmer — Session 8 — Tools Help Make The Software Engineer

July 30, 2013

With the right development program, you can develop Error
Free Software.

There are some historical examples of this truth.

In the early 1960’s, Fortran was a major computing languages.

The Fortran compiler had a never ending bug list.

PL/1, the next major language, was far more reliable.

I used it at Lockheed for over five years and never encountered
any errors.

PL/I was designed in strict compliance with the principles of
simple precedence.

MORE IN THE NEXT MESSAGE

Open Source Software Development Tool: Upgrade Progress

July 30, 2013

It is planned to upgrade the Programmable Software Development
Environment to include the capability of reading the paste-in text
files where the each paragraph is one very long line.  You may need to
download the latest version of the Programmable Software Development
Environment to fully understand my reports.

The ability to read the paste-in text file is needed to certify that
the file has not been changed, was developed using the agree-upon
standard libraries, or has not been illegally copied.

MONDAY: 2013/07/29

STATUS: The Windows version of the updated Programmable Software
Development Environment has been tested and has been found to be
operational from a beta point of view.

NEXT TASK: The preparation of the Linux version is the next task.

Life of A Programmer — Session 7 — How Do I Become a Quality Assurance Software Engineer

July 26, 2013

RULE 4 — NEVER USE A PATCH TO SOLVE A PROBLEM.

Never patch the program!!!.

A patch is usually a last minute change which is not clearly
thought out.

The product delivery is usually close at hand.

Management is saying “All you have to do is …” (The most
dangerous phrase in the English Language).

The patch will probably violate RULE 1 (The strict use
of standard methods).

None-the-less, avoid the short-cut and you will more likely
find the solution to the problem.

MORE IN THE NEXT MESSAGE

Open Source Software Development Tool: Upgrade Progress

July 26, 2013

It is planned to upgrade the Programmable Software Development
Environment to include the capability of reading the paste-in text
files where the each paragraph is one very long line.  You may need to
download the latest version of the Programmable Software Development
Environment to fully understand my reports.

The ability to read the paste-in text file is needed to certify that
the file has not been changed, was developed using the agree-upon
standard libraries, or has not been illegally copied.

THURSDAY: 2013/07/25

STATUS: The required software parts have been prepared and have been
used to test the _WRITE_SEGMENT command.

RESULTS: The _WRITE_SEGMENT command is functional

NEXT TASK: The next task will be to test the _READ_SEGMENT command.

Life of A Programmer — Session 7 — How Do I Become a Quality Assurance Software Engineer

July 24, 2013

RULE 3 — USE OLD, WELL-TESTED, OPERATING SYSTEM CAPABILITIES.

Relative the operating system, use the old, well established capabilities and minimize your interface.

Think of it in a similar manner as purchasing a new car.  If you purchase a radically new model, you will become an unwilling member of the test team.

Similarly do not use a pipe if a file will do as well. Files were developed long before the pipes.

An above all, do not use its multi-tasking capabilities unless absolutely necessary.  This capability can expose you to many challenging problems.

MORE IN THE NEXT MESSAGE

Open Source Software Development Tool: Upgrade Progress

July 23, 2013

It is planned to upgrade the Programmable Software Development
Environment to include the capability of reading the paste-in text
files where the each paragraph is one very long line.  You may need to
download the latest version of the Programmable Software Development
Environment to fully understand my reports.

The ability to read the paste-in text file is needed to certify that
the file has not been changed, was developed using the agree-upon
standard libraries, or has not been illegally copied.

TUESDAY: 2013/07/23

STATUS: The preparation and checkout of a basic break point routines
has accomplished.

RESULTS: Currently, I believe that the various forms which display
critical data at each breakpoint can be best implemented by a set of
software parts.

NEXT TASK: The next step is to prepare the required software parts and
to applied them to the various routines to be tested.

Life of A Programmer — Session 7 — How Do I Become a Quality Assurance Software Engineer

July 23, 2013

RULE 2 — TEST ALL WORK PRODUCTS.

I was able to “look over NSA’s shoulder” when they were developing
SELINUX (Secure Linux Operating System”.

Their activity can be best describe as “programming as usual”.

I asked them about their test plans.  They said that they were not
going to test the system.  It would be Common Criteria tested when
delivered.

This is not an adequate test plan.  Testing all of the work-products
is the only way to thoroughly test the product.

Back in my hardware engineering days, we made test plans which
thoroughly tested each circuit board.  Divide and conquer!

SELINUX will fall short of its intended goal.  The bad-guys will
find the weak points.

MORE IN THE NEXT MESSAGE

Open Source Software Development Tool: Upgrade Progress

July 22, 2013

It is planned to upgrade the Programmable Software Development Environment to include the capability of reading the paste-in text files where the each paragraph is one very long line.  You may need to download the latest version of the Programmable Software Development Environment to fully understand my reports.

The ability to read the paste-in text file is needed to certify that the file has not been changed, was developed using the agree-upon standard libraries, or has not been illegally copied.

MONDAY: 2013/07/22

STATUS: The preparation/modification of the software parts and test program associated with the basic output library have progressed sufficiently to permit the testing of the new Programmable Software Development Environment. Preliminary tests of the new Programmable Software Development Environment have revealed that WATCOM debugger is not adequate for the task.

DETAIL: Specifically, the Programmable Software Development Environment has an interface with the command line screen  where both data is displayed and keyboard commands are entered. The WATCOM debugger does not properly handle this interface.

RESULTS: This problem can be solved by building three small routines that implement the needed break points and associated data display.

NEXT TASK: The preparation and deployment of these break point routines is the next task.

Life of A Programmer — Session 7 — How Do I Become a Quality Assurance Software Engineer

July 20, 2013

To become a Software Engineer with a Quality Assurance
capability, you must implement a basic philosophical change.

Software is not an art form; the computer is not the easel
where you can express your creative juices.

You will become an engineer responsible for providing tools
and services that will affect public safety.

You think not.  I beg to disagree.

I was transferring $1000 between my savings and checking
accounts when the ATM went down. It took the bank half a
day to find my money.

You ask, what do I need to do in order to improve my quality
and be more indispensable to my employer.

RULE 1 — RIGOROUSLY USE STANDARD METHODS.

RULE 2 — TEST ALL WORK PRODUCTS.

RULE 3 — USE OLD, WELL-TESTED, OPERATING SYSTEM CAPABILITIES.

RULE 4 — NEVER USE A PATCH TO SOLVE A PROBLEM.

MORE IN THE NEXT MESSAGE

Development of Basic Text Write/Certification Utility Libraries

July 20, 2013

The effort associated with the development, upgrading and testing the
basic output software parts library will be documented here. If there
is anyone who desires to assist me in this development process, please
contact me by e-mail.

The affected software parts and their functional description are listed
below. The purpose of this library is to be able to write or certify
one or more text files. These parts are similar to object oriented
subroutines.

_BASIC_OUT_CONSTRUCT: Initializes the library for a write or
certification function.

_BASIC_OUT_DESTROY:   Completes the operation by eliminating the
specific setup.

_BASIC_OUT_BEGIN_SETUP: Begins a setup procedure by which the files to
be processed are specified.

_BASIC_OUT_ADD_FILE: Add a file to the process list.

_BASIC_OUT_END_SETUP: Completes the setup procedure.

_BASIC_OUT_GET_WRITE_NO: Utility: Search the output file list for the
the specified file.

_BASIC_OUT_GET_READ_NO: Utility: Search the input file list for the the
specified file.

_BASIC_OUT_ALIAS_FORMAT: Utility: Check for duplicate file
specification.

_BASIC_OUT_FILES_BEGIN: Begin the processing of files.

_BASIC_OUT_FILES_END: Ends the processing of files.

_BASIC_OUT_TEXT: Processes a text segment in a specified file.

_BASIC_OUT_CHAR: Processes a special character in a specified file.

_BASIC_OUT_END_LINE: Processes a CRLF in a specified file.

_BASIC_OUT_READ_SEGMENT: Utility — Reads a text segment or special
character.

_BASIC_OUT_BASIC_READ: Utility — Basic Read for text segment, special
character, or CRLF.

_BASIC_OUT_FILE_LINE_END: Utility — Find the next CRLF in the file.

_BASIC_OUT_ERROR_INITIAL: Utility — Initial Error Management System
file.

_BASIC_OUT_ERROR_RECORD: Utility — Record Error

_BASIC_OUT_ERROR_END_FILE: Utility — Record Unexpected End of File

_BASIC_OUT_ERROR_READ_OK: Utility — Permission to read a line

_BASIC_OUT_GET_NO_ERRORS: Return the number of error entries.

_BASIC_OUT_GET_ERROR_TYPE: Return the error type associated  with a
error number.

_BASIC_OUT_GET_ERROR_LINE_NO: Return the line number associated with a
TITLE: Development of Basic Text Write/Certification Utility Libraries
error number.

_BASIC_OUT_GET_ERROR_PREP_NO: Return the preparation number associated
with a error number.

_BASIC_OUT_TEST_NO_ERRORS: Verify the number of error entries.

_BASIC_OUT_TEST_ERROR_TYPE: Verify the error type associated with a
error number.

_BASIC_OUT_TEST_ERROR_LINE_NO: Verify the line number associated with a
error number.

_BASIC_OUT_TEST_ERROR_PREP_NO: Verify the preparation number associated
with a error number.

_BASIC_OUT_WRITE_REPORT: UTILITY — Record a certification error.

_BASIC_OUT_VERIFY_ALIAS: UTILITY — Verify Postal Alias .

SATURDAY: 2013/07/20 ************************************************

STATUS: The end-of-file routines have been prepared.

RESULTS: These software parts are ready for test.  These parts need the
_READ_SEGMENT and _WRITE_SEGMENT commands implemented in the upgraded
Programmable Software Development Environment.

NEXT TASK:  The next task will be to use these parts to test the new
Programmable Software Development Environment. The checkout process
will be reported in the blog associated in the Tool Upgrade process.