acm - an acm publication

Goutam Kumar Saha Collection

  • Mind Hygiene for All: A Concept Map
    Maintaining mental sharpness and clarity is important to most everyone, and doing so is valuable for maintaining our professional edge. But we are under assault from many directions with challenges that can interfere with mental sharpness. Some of the challenges are familiar; others hide in the background. What are these challenges and what can we do about them? Goutam Saha has a very concise summary of everything contributing to mental hygiene, including the challenges and actions to meet them. He expresses this with mind maps, which themselves contribute to mental clarity. ...
  • Understanding software testing concepts
    Software testing concepts have been briefly described in this article. Readers would find it easier to understand fundamental concepts of software testing by going through a concept map thereof. Software testing is itself a discipline as well as a process. Software development is nothing but a process of coding functionality in order to meet the defined end-user requirements. We can think of software testing as an iterative process, which consists of Tests Designing, Tests Execution, Problems Identifying and Problem Fixing, for validating functionality and as well as for attempting the software break. Software testing aims to find problems and to fix them for improving software quality. Software testing may represent 40% of a software development budget. Basic methods of performing software testing include Manual Testing and Automated Testing. Manual software testing is the process of manually testing software (having the possible forms for example, user interfaces navigation, information submission, or attempt to hack the software or database etc.), carried out by an individual or individuals. Manual software testing is labor-intensive and slow. On the other hand, automated software testing is a process of creating test scripts, which can be run then automatically, repetitively, and through a number of iterations. Automated software testing helps us to minimize the variability of results, speed up the testing process, increase test coverage (that is, the number of different things tested), and ultimately provide greater confidence in the quality of the software being tested. ...
  • Understanding dependable computing concepts

    This work aims to visually describe the important concepts of a dependable computing system and the relationships between the concepts. The concept map here for dependable computing system concepts would help us for easier and meaningful understanding of this emerging important research topic of computer science and engineering. Readers here won't feel tired of reading long text horizontally lines after lines for conceptualizing this much research and interesting topic.

    ...
  • Fault tolerance in web services

    This paper demonstrates how to design a fault tolerant web application that relies on an affordable redundancy in data and function using Simple Object Access Protocol (SOAP). The proposed approach relies on a Single-Version fault tolerance model without using multiple versions or the N-Version fault tolerance model. The work aims to design a more dependable and reliable Web Service system at no extra cost on multiple versions.

    ...
  • Software fault avoidance issues
    This article aims to discuss various issues of software fault avoidance. Software fault avoidance aims to produce fault free software through various approaches having the common objective of reducing the number of latent defects in software programs. ...
  • Software implemented fault tolerance: The ESVP approach
    This short paper describes a low cost technique for gaining software implemented fault tolerance without using design diversity based N versions redundancy in both software and hardware. The proposed approach uses an enhanced single-version programming (ESVP) scheme for an application that executes on a single machine. ESVP employs triplicate application program along with multistage voting at inputs and outputs in order to tolerate single-point operational faults in input data, output data, an individual processing module and in an individual voting module through error masking. It is not aimed to tolerate software design bugs. This is a useful tool for designing a reliable low-cost application system. ...
  • Application semantic driven assertions toward fault tolerant computing
    Based on semantics of an application processing logic, we find out the most critical and sensitive parts of an application and we derive set of conditions or assertions among the various diagnostic checkpoint variables and we enhance the processing logic to enable it to detect run-time various operational or environmental faults toward fault tolerant computing. This paper examines how a single-version algorithm can establish software based fault tolerance by designing in thoughtful software based execution-time checks in a computing application. The algorithm developed here relies on various assertions that are derived from the semantics of an application. Various diagnostic assertive checkpoints have been derived based on an application's semantics. This work is not intended to correct bit-errors using conventional error correction codes. Errors have been detected through checkpoints and periodical execution of an application with known test data and verification of observed result with known result thereof. Electrical transients or small particles hitting the circuit, often cause random errors or faults in data and program flow. The manuscript describes an algorithm that allows the detection and recovery of transient or operational failures in software on a specific problem, just by using one version of a software program running on just one machine. This approach does not aim to tolerate software design bugs. This algorithmic approach uses various run-time signatures and validation thereof in order to detect faults. ...
  • A low-cost testing for transient faults
    Unconventional and low - cost software implemented testing technique for processor transient faults are briefly discussed here. On-line signatures of the Processor Status Register have been used here for detecting transient faults. ...
  • Software fault tolerance through run-time fault detection
    Electrical transients often disrupt the proper functioning of a program. It causes the errors in program flow, data, program codes, or processor registers. The aim of this article is to detect transient faults as quickly as possible in order to prevent functions being performed wrongly or data being lost, during the execution of an application program. Recovery work is initiated immediately after the detection of errors for gaining high software fault tolerance and dependable computing. Transient errors are detected here, on tracing the presence of an odd processor status word (PSW) during the execution time of a computing application. ...
  • A novel 3-tier XML schematic approach for web page translation
    The proposed 3-Tier XML schematic approach is to demonstrate how to embed syntactic, semantic and computational linguistic metadata information in the structure of an XML document and how the various markups help in Internationalization and Localization processes toward faster and more meaningful machine translation of Web contents from one human language to another human language. In this approach, an XML content author needs to embed a source human language specific metadata information in an XML document. Various markups used in this novel 3-Tier XML Schematic approach are very useful for the machine translation of a web content. This is a significant step forward toward better internationalization and localization of web pages as well. ...
  • Software-Based Fault Tolerant Computing
    This paper describes how to design a software-based fault tolerant application using microprocessor (MP), in order to tolerate the burst errors in memory. This approach may be called a single -- version scheme (SVS). The SVS relies on a single version application program which is enhanced with self-checking code redundancy to tolerate memory burst errors that are difficult to correct during the run-time of an application. Conventionally, the other software based approaches can detect a few bit errors (in memory) only towards fail-stop kind of fault tolerance against transient bit errors. Reed Solomon codes are mainly effective for burst errors in coding of audio Compact Disks at offline only. The proposed online technique does not need multiple versions of software and multiple machines. This approach employs only two copies of the application software running on one machine only. Two copies of the enhanced version version of an application are used here for online error detection and tolerance thereof as well. This is an effective low-cost online tool for hardening a microprocessor-based industrial computing system or for on-chip DRAM applications using an affordable code and time redundancy against the burst errors in processor memory. The SVS aims to provide a non-fail-stop kind of fault tolerance against burst errors. This approach supplements the Error Correcting Codes (ECC) in memory system also, against both the transient and permanent bit errors in memory. ...
  • Software implemented fault tolerance through data error recovery
    This paper examines how a new software-implemented data error recovery scheme can be so effective in comparison to conventional Error Correction Codes (ECC) during the execution time of an application. The proposed algorithm is three times faster than the conventional software-implemented ECC and application program designers can easily implement the proposed scheme because of its simplicity while designing their fault tolerant applications at no extra hardware cost. The proposed software-implemented scheme for execution-time data-error detection and correction relies on threefold replication of application data set as a basis for fault tolerance. ...
  • The E2B machine translation: a new approach to HLT
    This article describes a new approach to machine translator that translates English text into Bangla text with disambiguation. The translated Bengali text in English scripts is also useful for learning Bengali or Bangla language as a foreign language. At the same time the Bengali rural people who do not know English language well can understand the English matter with the translated output. The proposed approach is a new one that uses both the rule-based and transformation-based machine translation schemes along with three level parsing approaches. This is a significant contribution towards creation of a low-cost Human Language Technology (HLT). About two hundred million people in the West Bengal, Tripura (two states in India) and in Bangladesh (a country), speak and write Bangla as their first language. This English to Bangla (E2B)-ANUBAD or translator system or E2B takes a paragraph of English sentences as input sentences and produces equivalent Bangla sentences. The E2B-ANUBAD system compries of a preprocessor, morphological parser, semantic parser using English word ontology for context disambiguation, an electronic lexicon associated with grammatical information and a discourse processor. It also employs a lexical disambiguation analyzer. This system does not rely on a stochastic approach. Rather, it is based on a special kind of hybrid architecture of transformer and rule-based NLE architectures along with various linguistic knowledge components of both English and Bangla for creation of a low-cost HLT. ...
  • A software fix towards fault-tolerant computing
    This article describes a low cost software technique for transient fault detection and fault tolerance in a processing system. The random errors caused by potential transients, Electrical Fast Transients (EFT) can be controlled by this proposed technique. Transient errors, if present, are detected and then necessary recovery action can be taken for attaining higher system reliability and tolerance thereof. It is a very cost effective tool for the application design engineers than the traditional expensive hardware fixes, or N-Version programming. ...
  • Software-based computing security and fault tolerance
    This article delineates a software approach to establish computing security and fault tolerance in various computing systems. This low-cost approach is useful to tolerate malicious code modifications and transient faults without additional costs for hardware and extra software versions. ...
  • Fault management in mobile computing
    Business people on the go need portability and mobility in their computing environments. However, such mobile environments often suffer from transient faults. This article discusses how to manage faults in order to get better availability for small wireless devices. ...