Experimental techniques developed to resolve the human factors issues in program development that can be applied to objectively validate proposals for programming language features, stylistic guidelines, and design pa...
详细信息
Experimental techniques developed to resolve the human factors issues in program development that can be applied to objectively validate proposals for programming language features, stylistic guidelines, and design paradigms are discussed.
Programmable electronic systems are being used in almost all application sectors to perform non-safety and increasingly to perform safety functions as well. Although software-based solutions are usually superior to ha...
详细信息
Programmable electronic systems are being used in almost all application sectors to perform non-safety and increasingly to perform safety functions as well. Although software-based solutions are usually superior to hardwired ones for reasons of efficiency and flexibility, there is a certain reluctance of the certification authorities when it comes to licensing computer-based systems which are classified as safety critical. Despite many attempts to overcome problems of software safety (IEC 61508, IEC 880, VDE 0801, IDS 00-55, RTCA/DO-178), up to now neither precise guidelines supporting the software development process are available, nor are there serious efforts being made to develop programminglanguages dedicated to the implementation of safety critical functions. To improve this unsatisfactory situation, i.e. to meet both economic and safety requirements, it is necessary to design appropriate language concepts with consequent regard to safety aspects. Accordingly, four subsets of a real time language suitable for the implementation of safety-related systems are proposed, whose definitions fulfil the respective requirements of the four safety integrity levels.
A new approach to the design of a programming language and its processor is proposed and some of the techniques necessary to realize the design are investigated. The language would have a precisely specified syntax an...
详细信息
A new approach to the design of a programming language and its processor is proposed and some of the techniques necessary to realize the design are investigated. The language would have a precisely specified syntax and semantics, with both designed to provide the programmer maximal expressive power and to be as easily understood as possible. The semantics would be based on extremely late binding times, which provide great power to the programmer and are consistent with ease of understanding of the execution process. Implications of this design philosophy and some of the techniques to be used are discussed in greater detail, focusing particularly on data types and storage allocation. The TEMPO language, developed for this research, is discussed in an appendix.
Conceptually microprogramming is similar to traditional programming, but the development of microprogramminglanguages has lagged far behind the development of programminglanguages. Identification is made of the prob...
详细信息
Conceptually microprogramming is similar to traditional programming, but the development of microprogramminglanguages has lagged far behind the development of programminglanguages. Identification is made of the problems characterizing the present state of microprogramminglanguages and it is shown how some programming language techniques may be used to solve them.
Learning a programming language requires a great deal of effort in both the theoretical and practical domains. As far as theory is concerned, a knowledge of the methods, concepts, attributes that are characteristic of...
详细信息
ISBN:
(纸本)9783319941202;9783319941196
Learning a programming language requires a great deal of effort in both the theoretical and practical domains. As far as theory is concerned, a knowledge of the methods, concepts, attributes that are characteristic of the language as well an understanding of the its specific structures and peculiarities is required. On the other hand, mastering the theoretical concepts is not enough as it is necessary to be able to apply them optimally, efficiently and effectively. To adapt the teaching to those aspects that require the most attention, the weaknesses shown by the students must be identified. An exhaustive analysis of their performance - which should go beyond a mere numerical assessment - is required to focus the teaching efforts on those areas where needs are greater. Consequently, to assess the theoretical knowledge a statistical analysis from the results of the theoretical test conducted will be shown (multiple-choice type test) where the analysis is not confined to the number of wrong answers but looks at where they occur and in what percentage. As far as the practical part, a rubric has been designed to exhaustively correct the assignments, which also allows for the introduction of such remarks as are deemed necessary regarding all points of interest.
The security of a software system is almost always retrofitted to an afterthought. When security problems arise, understanding and correcting them can be very challenging. On the one hand, the program-analysis and pro...
详细信息
ISBN:
(纸本)9783540781622
The security of a software system is almost always retrofitted to an afterthought. When security problems arise, understanding and correcting them can be very challenging. On the one hand, the program-analysis and programming-languages research community has created numerous static and dynamic analysis tools for performance optimization and bug detection in object-oriented programs. On the other hand, the security and privacy research community has been looking for solutions to automatically detect security problems, information-flow violations, and access-control requirements in object-oriented programs. This tutorial discusses advantages and disadvantages of static and dynamic analysis for automated detection of security problems such as access-control violations and information-flow vulnerabilities.
Internet programminglanguages, such as Java, have the potential to address many problems inherent in military networking, and are particularly suitable for network control applications. However, issues of security an...
详细信息
ISBN:
(纸本)0780336836
Internet programminglanguages, such as Java, have the potential to address many problems inherent in military networking, and are particularly suitable for network control applications. However, issues of security and performance arise immediately. By placing the code for a control application at the Remote Control Unit (RCU) that services a network element any user needing to access the element can connect to the RCU and receive the current version of the user interface for immediate execution on the user's local platform. Ensuring that the user is authorized to access an element, that the interface delivered to the user has not been altered, and that the interface can be transferred without unacceptable delays is problematic for network elements that are located on the battlefield and connected to the network through low speed channels. To evaluate the potential and problems associated with Internet programming fools, Electrospace has constructed a Monitor and Control Applique' (MCA), using Java, for the Electrospace secure digital switch family. Security and performance issues have been assessed against advantages in logistics, distributed control and survivability.
MC/DC (modified condition/decision coverage) is a structural code coverage metric, originally defined in the standard DO-178B [1], intended to be an efficient coverage metric for the evaluation of the testing process ...
详细信息
ISBN:
(纸本)9781479921133
MC/DC (modified condition/decision coverage) is a structural code coverage metric, originally defined in the standard DO-178B [1], intended to be an efficient coverage metric for the evaluation of the testing process of software incorporating decisions with complex Boolean expressions. The upcoming standard ISO 26262 [2] for safety-relevant automotive systems prescribes MC/DC for ASIL D as a highly recommended coverage metric. One assumed benefit of MC/DC is that it requires a much smaller number of test cases in comparison to MCC (multiple condition coverage), while sustaining a quite high error detection probability [3]. programminglanguages like C, commonly used for implementing software for the automotive domain, are using short-circuit evaluation. For short-circuit evaluation the number of test cases for MCC is much smaller than in a non-shortcircuit environment because many redundant test cases occur. We evaluated the trade-off between the number of test cases for MCC and MC/DC for a case study from the automotive domain and observed an overhead of only approximately 5% for the number of test cases necessary for MCC compared to MC/DC. This motivated an analysis of programs containing decisions where the number and structure of the referring Boolean expressions vary. Our results show that the overhead for a test suite for MCC is on the average only about 35% compared MC/DC (for decisions with up to 5 conditions). We conclude with the strong recommendation to use MCC as a coverage metric for testing safety-relevant software implemented in programminglanguages with short-circuit evaluation.
A comparative study has been done in which a portion of an icon-based simulation program generator is implemented in each of four object-oriented programminglanguages that are available for MS-DOS and PC-DOS based pe...
详细信息
ISBN:
(纸本)0911801723
A comparative study has been done in which a portion of an icon-based simulation program generator is implemented in each of four object-oriented programminglanguages that are available for MS-DOS and PC-DOS based personal computers. The languages studied are MODSIM II, Objective-C 4.0, Smalltalk/V 286, and Zoretch C++. These languages and versions of older languages produce code that runs much more quickly than code produced by earlier object-oriented programminglanguages, thereby eliminating much of the execution speed penalty commonly associated with object-oriented programming. The choice of which object-oriented language to use is dependent on the syntax one feels most comfortable with, the appropriateness to the job at hand of the classes in the libraries provided with the language, and the quality of support given by the programming environment supplied with the language.
暂无评论