We present a new technique, called VED (very effective debugging), for detecting and correcting division by zero errors for all types of .NET application. We use applications written in C# because C# ...applications are distributed through the internet and its executable format is used extensively. A tool called Immunity Debugger is used to reverse engineer executable code to get binaries of source code. With this technique, we demonstrate integer division by zero errors, the location of the error causing assembly language code, as well as error recovery done according to user preference. This technique can be extended to work for other programming languages in addition to C#. VED can work on different platforms such as Linux. This technique is simple to implement and economical because all the software used here are open source. Our aims are to simplify the maintenance process and to reduce the cost of the software development life cycle.
Features of MCNP6 Goorley, T.; James, M.; Booth, T. ...
Annals of nuclear energy,
01/2016, Volume:
87, Issue:
P2
Journal Article
Peer reviewed
Open access
•MCNP6 is simply and accurately described as the merger of MCNP5 and MCNPX capabilities, but it is much more than the sum of these two computer codes.•MCNP6 is the result of six years of effort by ...the MCNP5 and MCNPX code development teams.•These groups of people, residing in Los Alamos National Laboratory’s X Computational Physics Division, Monte Carlo Codes Group (XCP-3) and Nuclear Engineering and Nonproliferation Division, Radiation Transport Modeling Team (NEN-5) respectively, have combined their code development efforts to produce the next evolution of MCNP.•While maintenance and major bug fixes will continue for MCNP5 1.60 and MCNPX 2.7.0 for upcoming years, new code development capabilities only will be developed and released in MCNP6.•In fact, the initial release of MCNP6 contains numerous new features not previously found in either code.•These new features are summarized in this document.•Packaged with MCNP6 is also the new production release of the ENDF/B-VII.1 nuclear data files usable by MCNP.•The high quality of the overall merged code, usefulness of these new features, along with the desire in the user community to start using the merged code, have led us to make the first MCNP6 production release: MCNP6 version 1.•High confidence in the MCNP6 code is based on its performance with the verification and validation test suites, comparisons to its predecessor codes, our automated nightly software debugger tests, the underlying high quality nuclear and atomic databases, and significant testing by many beta testers.
MCNP6 can be described as the merger of MCNP5 and MCNPX capabilities, but it is much more than the sum of these two computer codes. MCNP6 is the result of six years of effort by the MCNP5 and MCNPX code development teams. These groups of people, residing in Los Alamos National Laboratory’s X Computational Physics Division, Monte Carlo Codes Group (XCP-3) and Nuclear Engineering and Nonproliferation Division, Radiation Transport Modeling Team (NEN-5) respectively, have combined their code development efforts to produce the next evolution of MCNP. While maintenance and major bug fixes will continue for MCNP5 1.60 and MCNPX 2.7.0 for upcoming years, new code development capabilities only will be developed and released in MCNP6. In fact, the initial release of MCNP6 contains numerous new features not previously found in either code. These new features are summarized in this document. Packaged with MCNP6 is also the new production release of the ENDF/B-VII.1 nuclear data files usable by MCNP. The high quality of the overall merged code, usefulness of these new features, along with the desire in the user community to start using the merged code, have led us to make the first MCNP6 production release: MCNP6 version 1. High confidence in the MCNP6 code is based on its performance with the verification and validation test suites, comparisons to its predecessor codes, our automated nightly software debugger tests, the underlying high quality nuclear and atomic databases, and significant testing by many beta testers.
Full text
Available for:
IJS, IMTLJ, KILJ, KISLJ, NUK, OILJ, PNG, SAZU, SBCE, SBJE, UL, UM, UPCLJ, UPUK, ZRSKP
This article is devoted to the issues of debugging programs in modern high-level languages. There are many different languages with different paradigms and different execution models. Each of them ...needs an instrument to analyze a program during its execution. For most programming languages, there are debugging tools that provide this capability, but debugging a program that consists of several parts in different programming languages is very difficult. The article contains an analysis of the tools for debugging programs for various programming languages. We provide the minimum requirements for the debugger and describe the main approaches to the implementation of debuggers for basic computation models - compilation, interpretation and dynamic compilation. The drawbacks of using existing tools for debugging programs that combine two different computation models are identified. As a solution, we propose a system that allows us to debug such programs by combining the capabilities of the debuggers for each of the languages. The software implementation of the described system for debugging programs combining the C # and C ++ languages has been developed. The debugger interaction protocol underlying the system does not depend on the implementation of its components and can be used for other combinations of languages.
The blockchain technology has potential applications in various areas such as smart-contracts, Internet of Things (IoT), land registry, supply chain management, storing medical data, and identity ...management. Although GitHub currently hosts more than six thousand active Blockchain software (BCS) projects, few software engineering researchers have investigated these projects and their contributors. Although the number of BCS projects is growing rapidly, the motivations, challenges, and needs of BCS developers remain a puzzle. Therefore, the primary objective of this study is
to understand the motivations, challenges, and needs of BCS developers and analyze the differences between BCS and non-BCS development
. On this goal, we sent an online survey to 1,604 active BCS developers identified by mining the GitHub repositories of 145 popular BCS projects. The survey received 156 responses that met our criteria for analysis. The results suggest that the majority of the BCS developers are experienced in non-BCS development and are primarily motivated by the ideology of creating a decentralized financial system. Although most of the BCS projects are Open Source Software (OSS) projects by nature, more than 93% of our respondents found BCS development somewhat different from a non-BCS development as BCS projects have higher emphasis on security and reliability than most of the non-BCS projects. Other differences include: higher costs of defects, decentralized and hostile environment, technological complexity, and difficulty in upgrading the software after release. These differences were also the primary sources of challenges to them. Software development tools that are tuned for non-BCS development are inadequate for BCS and the ecosystem needs an array of new or improved tools, such as: customized IDE for BCS development tasks, debuggers for smart-contracts, testing support, easily deployable simulators, and BCS domain specific design notations.
Full text
Available for:
EMUNI, FIS, FZAB, GEOZS, GIS, IJS, IMTLJ, KILJ, KISLJ, MFDPS, NLZOH, NUK, OBVAL, OILJ, PNG, SAZU, SBCE, SBJE, SBMB, SBNM, UKNU, UL, UM, UPUK, VKSCE, ZAGLJ
Communication systems that work in jeopardized environments such as space are affected by soft errors that can cause malfunctions in the behavior of the circuits such as, for example, single event ...upsets (SEUs) or multiple bit upsets (MBUs). In order to avoid this erroneous functioning, this kind of systems are usually protected using redundant logic such as triple modular redundancy (TMR) or error correction codes (ECCs). After the implementation of the protected modules, the communication modules must be tested to assess the achieved reliability. These tests could be driven into accelerator facilities through ionization processes or they can be performed using fault injection tools based on software simulation such as the SEUs simulation tool (SST), or based on field-programmable gate array (FPGA) emulation like the one described in this work. In this paper, a tutorial for the setup of a fault injection emulation platform based on the Xilinx soft error mitigation (SEM) intellectual property (IP) controller is depicted step by step, showing a complete cycle. To illustrate this procedure, an online repository with a complete project and a step-by-step guide is provided, using as device under test a classical communication component such as a finite impulse response (FIR) filter. Finally, the integration of the automatic configuration memory error-injection (ACME) tool to speed up the fault injection process is explained in detail at the end of the paper.
Full text
Available for:
IZUM, KILJ, NUK, PILJ, PNG, SAZU, UL, UM, UPUK
While extending network programmability to a more considerable extent, P4 raises the difficulty of detecting and locating bugs, e.g., P4 program bugs and missed table rules, in runtime. These runtime ...bugs, without prompt disposal, can ruin the functionality and performance of networks. Unfortunately, the absence of efficient debugging tools makes runtime bug troubleshooting intricate for operators. This paper is devoted to on-the-fly debugging of runtime bugs for programmable data planes. We propose P4DB, a general debugging platform that empowers operators to debug P4 programs in three levels of visibility with rich primitives. By P4DB, operators can use the watch primitive to quickly narrow the debugging scope from the network level or the device level to the table level, then use the break and next primitives to decompose match-action tables and finely locate bugs. We implement a prototype of P4DB and evaluate the prototype on two widely-used P4 targets. On the software target, P4DB merely introduces a small throughput penalty (1.3% to 13.8%) and a little delay increase (0.6% to 11.9%). Notably, P4DB almost introduces no performance overhead on Tofino, the hardware P4 target.
The Model of System to Counter to Software Tools Learning Code Anatoliy Petrovich Durakovskiy; Tatayna Aleksandrovna Kondratieva; Yuri Nikolaevich Lavrukhin ...
Bezopasnostʹ informat͡s︡ionnykh tekhnologiĭ,
03/2015, Volume:
22, Issue:
1
Journal Article
Peer reviewed
Open access
The article describes the main types of software used for the study of the code, the shortcomings of existing systems of protection programs and proposed a new model of protection system of code.
The article describes the main types of software used for the study of the code, the shortcomings of existing systems of protection programs and proposed a new model of protection system of code.
Due to the ever increasing complexity of hardware systems, designers strive for higher levels of abstractions in the early stages of the design process. Modeling hardware at the electronic system ...level (ESL) is one way to address this demand, with the C++-based system modeling framework SystemC and its abstract communication library transaction level modeling (TLM) having become de-facto standards for ESL system design. While the C++ compiler is sufficient to compile and simulate a given ESL design, for tasks of design understanding, debugging, or validation (where access to the details of design's structure and behavior is necessarily required), design needs to be processed by an appropriate tool. This problem is often solved by adding instrumentation code to either the design or the library, usually resulting in incomplete logs, work overhead and/or incompatibilities. This paper introduces an approach that automatically extracts information about both, structure and behavior of SystemC designs and TLM transactions, nonintrusively. The information is retrieved from a given design by running it in debug mode while being connected to a preprogrammed debugger, thus leaving the existing sources and workflows untouched while collecting a vast amount of data without user intervention. Illustrating use cases, value change dump files of the SystemC models' behavior and unified modeling language activity diagrams of transaction protocols are created automatically from simulation runs.