We also can deliver the results of our services three different ways:
- e-Factory: Remote access to customer site to perform this service.
- Factory: Perform this service in proServices' Trenton, NJ Factory.
- On-Site: Perform this service at the customer's site.(not available)
Depending on which combination of the above options determines how many DSU's are required per engagement. For example, to provide Performance Tuning for a Small application with results to be delivered via our factory would require only 1 DSU. Please refer to our published price list.
Q: If I am a subscription-based customer and spend all of the DSU's before the 12-month term of the subscription period does the company still get billed in $10,000/month intervals and can we purchase more DSU's?
A: Thirty (30) days after all DSU's have been spent, the full amount of the residual is due. Additional DSU's can be purchased as a follow on yearly Subscription.
Q: How many bugs can I expect you to find from this service?
A: This service identifies defects, which can lead to:
- The application's potential for crashing.
- Data corruption failures
- Improper type conversions (casts, down casts etc.), which can lead to data corruption failures and other high priority defects.
This approach while not replacing or disturbing your current software development process will provide a effective technique to identify serious defects often not even detected by any of the existing approaches an organization might employ.
Q: What guarantee do you give me that you won't break my code while fixing bugs?
A: In our Error Detection Service we are able to advise the customer of exactly, to the line of source code, where the defect is located in the source code. In this service we submit these results to the organization responsible for implementing such fixes and for regulating your company's software process.
Q: How will I merge your changes back into my environment?
A: No changes are made so no merge is necessary.
Q: Will I own the tools at the end of the engagement?
A: Your Company will own the results, however, you always have the opportunity to purchase the tools on your own for future needs. In some cases our customers already own the tools necessary to perform the service, however, they don't own the internal domain expertise to attain the necessary results.
Q: What do you call a bug?
A: Suspects are categorized as; Critical Error, Defect, Coding Standard Violation, Time Bomb, Proximity to Defect, and False Hit.
- Critical Error: These are defects that will cause a system crash, corrupt data, limit functionality, or cause undesirable behavior.
- Defect: This code is possibly incorrect and definitely not written to standard. The best case is that the code is expensive to maintain and high risk to modify. Worst case is a serious defect.
- Coding Standard Violations: This code violates accepted coding practices, which makes it easy to misinterpret. The result is higher maintenance cost and more risk.
- Time Bomb: This code functions as expected at this moment, but will require change to existing code to prevent defects before modification or enhancement.
- Proximity to Defect: This code is not suspect but is near code that contains a defect. (See 'Defect' above)
Q: What bugs do you find?
A: The following categories are searched for in source code:
- Assignments in conditionals where no method invocation is performed (class instantiation).
- Empty statement bodies on non-loops.
- Logical expressions whose value is constant.
- Downward Casting.
- Functions that return a pointer to the local stack.
- Conversions of types from a source that is larger than the target into the target type.
- Switch Statements with no Default case, Dangling Else-Ifs.
- Switch Statements Without a Break.
- Un-initialized Persistent Variable.
- Unsafe Pointer Conversions (Different depths, change in precision).
- De-allocation of non-allocated memory.
- Memory Corruption Errors.
- Un-initialized memory read.
- NULL Pointer Reference Errors.
Q: What guarantee do you give that you will find all of my bugs?
A: This service finds some bugs but can make no assurance of finding all of any type of bug.
Q: I use many third party products; will you also find bugs in them?
A: This service applies to any source code whether product or Third party product.
Q: What security precautions are you taking to safeguard our software artifacts?
A: proServices provides safeguards on a number of levels. With experience and clearances sufficient to work for the Department of Defense (DOD) we have developed a comprehensive customer software security policy available upon request.
- First are the legal arrangements, signing the customer's non-disclosure agreements providing them with their own integrity and legal terms and conditions.
- We provide safety in the integrity of the factory procedures
- Machines are built from the ground up on each job, and torn completely down between jobs - no customer data is available on the machines after the job is returned to the customer.
- The network on which the customer's work is performed is physically isolated at all times from any other corporate machines. The only individuals with authority to interconnect networks are the contract managers. No other individuals are permitted on the network during any interconnect time interval.
- We provide integrity in the personnel process - "need to know", "just in time access" and clear job management including lines of authority, permission management and identification of all personnel employed on any job.
- We provide integrity in the configuration management (Bill of Materials) procedures employed. Customer software is copied onto machines, protected against modification, and controlled access using CM tooling. No un-registered and accepted changes are permitted in the software process.
Q: After finding problems in our code base can they put in the necessary fixes and are they qualified?
A: As a company we have more than qualified staff to correct the problems we come across while working on your systems. This level of service is usually established after several engagements where there has been a mutual trust built up between our two companies. We have been asked by several of our customers to start our service off at such a level. However, we would rather build a great relationship on our first couple of engagements by delivering what we promise, then discussing the possibilities of proServices providing on-going maintenance support.
Q: How can they work on code they're not domain experts on?
A: Most services our customers would agree do not require application domain expertise. The types of problems we look for are standard and agreed upon by most software executives as problems they never want to have instances of within their applications. Our domain expertise is in the area of software automation and manufacturing process methodology.
Q: Why can't I just do this myself?
A: Our services are not based on your company's inability to perform these services internally; rather they are based upon proServices guaranteeing your company results. Also, we can provide your company with six major services at a lesser cost to your company. Our company has pre-configured production lines being run by skilled engineers tooled with automation technologies within a manufacturing process methodology.
Q: Why can't I just buy these tools and do this myself?
A: Any company can buy tools to perform such services. Our services are not based upon proprietary technology; in fact it's just the opposite. We use standard commercial grade automation products available to all companies.
Q: Why don't you sell me the tools, deploy them for me, and teach me how to do it?
A: We do offer such transition services to our customer base. We have customers that after a couple of engagements ask us to provide an factory representative to help them setup their own internal factory. They felt proServices provided them with a low cost vehicle for investigating the usefulness of such automation products by first delivering the results without the long-term financial burden.