Software, Analyze Thyself !
(PRWEB) April 27, 2017
Software, Analyze Thyself !
We can all agree that software applications can from time to time, and in most inconvenient times, surprise us with incorrect results.
If one agrees with the understanding that the real world is testing our applications all the time, simply because one can not pretest the future, than the idea of having your applications to analyze themselves while running, and all the time, would not seem unreasonable.
While dynamic code analysis is a well known proposition, the level of sophistication there changes a lot from technology to technology, and from tool to tool. The deciding factors on the usefulness of such tools are usually the following: does the result of the analysis require many hours (or days) to be digested by a human; how big is the overhead in application performance speed; how many false positives results does a tool create, causing unnecessary analysis of that original analysis.
Thinking Software. Inc. (TSI) technology of Race Catcher™ does not provide false positive results and its overhead is practically not felt during the run of most applications.
Humans Are Good in Creating Complexities. Software Can Be Taught to Decipher them. No one knows a piece of software better than the software itself.
If one runs his/her applications on AWS (Amazon Web Services) platform, these are the two steps one would perform in order for the AWS account to be able to run one's applications in ARM-CM mode. ARM-CM stands for Application Reliability Management via Collaborating Machines.
All the machines one would start in this mode (explained below) would communicate collected experience on the reliability of the applications they run to one's local workstation. Optionally one could run such workstation on AWS, as well.
How Does One Best Ensure the Multithreading Reliability of one's New Software Release?
Run it on as many ARM-Enabled VMs as one feels comfortable. The more machines one would start it on, the faster the machines would experience race-conditions hidden in the code. It does not need to be one's own software that causes race conditions. One would be able to see detailed explanations of race conditions on one's own code and on open source code, and even see if race conditions are present in other party's proprietary code. The only difference would be that the other party's proprietary code will not be deciphered.
Then one's decision would be: to let them (race conditions) be, discounting them as "benign" (a dangerous proposition) or to get rid of them based on the detailed analysis provided by the Race Catcher™ absolutely automatically.
Here is How one can Check Provided Here Functionality.
2. One time: Preset S3 Bucket and IAM Role for the AWS account
Then, do the usual steps, where the only specifics are: Using "race_catcher" IAM role, and having TCP port 50001 enabled:
A. Go to Amazon.com
B. Go to Marketplace
C. Search for Race Catcher
D. Select Ubuntu Linux with Race Catcher Agent
E. Select Continue, then Manual Launch
F. Perform the usual selections of Region, Instance type, and set Number of Instances - the more instances you choose the more AUTO-TESTERS will work for you for free.
G. Using "Auto-assign Public IP" in order to remotely connect to machines and to start specific applications there, unless applications are automatically starting upon starting the VMs.
H. Use preset "race_catcher" IAM role.
I. Make sure Security Group includes TCP Port 50001
Start applications on the created VMs. Any experienced multithreading issues will be collectively analyzed and reported to local Race Catcher™ Workstation or to one's AWS Based Race Catcher™ Workstation.
See hidden race conditions. Improve application's results reliability.