Modularity is the fundamental aspect of modern software engineering, however many advanced modularity techniques requires prospective technologies as part of development and operation process. In this paper, we presen...
详细信息
Software testing is one of the most important process in the software development life cycle, since it ensures the delivery of good quality software to the user. In order to make this process more efficient, automated...
详细信息
Software testing is one of the most important process in the software development life cycle, since it ensures the delivery of good quality software to the user. In order to make this process more efficient, automated testing is required. Automated testing offers the advantages of reduced cost and time and it is also more reliable than manual means. In automated testing, test oracle process is required to test software applications. The software applications developed using aspect orientedprogramming paradigm can also be tested using automated testing. Aspect orientedprogramming offers the advantages over object oriented programming paradigm by centralizing various cross cutting concerns in a software code, thereby improving the modularity of the code. Since the crosscutting concern is separated into a single module, maintenance of such systems becomes easy. In this paper, the artificial neural network approach is used for testing the aspect orientedprogramming applications by developing test oracle.
The lower layers in the modern computing infrastructure are written in languages threatened by exploitation of memory management errors. Recently deployed exploit mitigations such as control-flow integrity (CFI) can p...
详细信息
ISBN:
(纸本)9781931971300
The lower layers in the modern computing infrastructure are written in languages threatened by exploitation of memory management errors. Recently deployed exploit mitigations such as control-flow integrity (CFI) can prevent traditional return-orientedprogramming (ROP) exploits but are much less effective against newer techniques such as Counterfeit object-orientedprogramming (COOP) that execute a chain of C++ virtual methods. Since these methods are valid control-flow targets, COOP attacks are hard to distinguish from benign computations. Code randomization is likewise ineffective against COOP. Until now, however, COOP attacks have been limited to vulnerable C++ applications which makes it unclear whether COOP is as general and portable a threat as ROP. This paper demonstrates the first COOP-style exploit for objective-C, the predominant programming language on Apple's OS X and iOS platforms. We also retrofit the objective-C runtime with the first practical and efficient defense against our novel attack. Our defense is able to protect complex, real-world software such as iTunes without recompilation. Our performance experiments show that the overhead of our defense is low in practice.
Reactive applications are difficult to implement. Traditional solutions based on event systems and the Observer pattern have a number of inconveniences, but programmers bear them in return for the benefits of OO desig...
详细信息
The MDD method was used to develop software to evaluate the hydraulic safety of irrigation pipeline systems. The difficulty in developing and maintaining the software is that the diversity of hydraulic behavior and st...
详细信息
ISBN:
(纸本)9783319398839;9783319398822
The MDD method was used to develop software to evaluate the hydraulic safety of irrigation pipeline systems. The difficulty in developing and maintaining the software is that the diversity of hydraulic behavior and structure of various ancillary facilities constituting the irrigation pipeline system bring complexity into the code to process the boundary conditions and to enter data in the numerical calculation solver. To solve that problem, this study used the following two methods. (1) The various pipe facilities and ancillary facilities which are the domain to analyze were defined the data structure by UML and the design pattern was applied in implementation. (2) The method of entering data about the boundary conditions into the numerical analysis solver was assisted by objects automatically coded from the metadata that were stipulated using the schema language of XML.
Learning OOP for novice learners remains a major problem for many students at University level. Students still find OOP concepts difficult to grasp. They are not able to grasp the easiest OOP topic and they are asked ...
详细信息
ISBN:
(纸本)9781509007066
Learning OOP for novice learners remains a major problem for many students at University level. Students still find OOP concepts difficult to grasp. They are not able to grasp the easiest OOP topic and they are asked to move to another topic. Therefore, this paper illustrates a concept which was tested with 10 students to ease OOP learning process for novice learners. The approach mainly consists of using a software which allows a student to focus on a particular OOP topic at a time. Upon answering successfully to a set of questions with respect to the particular topic, the learner can move to subsequent topics. The next topic will be more difficult than the previous one. In this way, the learner can increase his proficiency and understanding level at each topic level. For the evaluation purpose, a software application with two user proficiency levels was implemented. The first level teaches inheritance to the user and the second level teaches association to the user.
The Mission Analysis, Operations, and Navigation Toolkit Environment (MONTE) is JPL's signature astrodynamic computing platform. It supports all phases of space mission development, from early stage mission design...
详细信息
ISBN:
(纸本)9780877036333
The Mission Analysis, Operations, and Navigation Toolkit Environment (MONTE) is JPL's signature astrodynamic computing platform. It supports all phases of space mission development, from early stage mission design and analysis through flight navigation services. A central component of MONTE's optimization and filtering modules is its distributed parameter system, which allows partial derivatives to be computed for flexible sets of supported astrodynamic parameters on request. This paper outlines the object-oriented design MONTE uses for its parameter system, and provides concrete set of examples showing the power of this approach.
Model transformations are at the very heart of the Model Driven Engineering paradigm. As modern programs, they are complex, difficult to write and test, and overall, difficult to understand, maintain, and reuse. In ot...
详细信息
ISBN:
(数字)9783319466132
ISBN:
(纸本)9783319466132;9783319466125
Model transformations are at the very heart of the Model Driven Engineering paradigm. As modern programs, they are complex, difficult to write and test, and overall, difficult to understand, maintain, and reuse. In other paradigms, such as object-orientedprogramming, design patterns play an important role for understanding and reusing code. Many works have been proposed to detect complete design pattern instances for understanding and documentation purposes, but also partial design pattern instances for quality assessment and refactoring purposes. Recently, a catalog of design patterns has been proposed for model transformations. In this paper, we propose to detect these design patterns in declarative model transformation programs. Our approach first detects the rules that may play a role in a design pattern. Then, it ensures that the control flow over these rules corresponds to the scheduling scheme in the design pattern. Our preliminary evaluation shows that our detection mechanism is effective for both complete and partial instances of design patterns.
It is known that code readability has an impact on software quality. This paper introduces a preliminary list of 33 good practices for code readability that could be taught in object oriented programming courses of in...
详细信息
ISBN:
(纸本)9781467386142
It is known that code readability has an impact on software quality. This paper introduces a preliminary list of 33 good practices for code readability that could be taught in object oriented programming courses of informatics programs. In this set are included practices with both positive and negative impact, the latter mainly from bad smells. A survey was made with OOP teachers in order to assess the significance of teaching a set of good practices. The results showed that teachers consider it important to teach the defined set. Such result was statistically significant. Still, the same level of significance was not awarded to all practices. Some additional results are presented.
We study the problem of automatically computing the time complexity of concurrent object-oriented programs. To determine this complexity we use intermediate abstract descriptions that record relevant information for t...
详细信息
ISBN:
(纸本)9783319289342;9783319289335
We study the problem of automatically computing the time complexity of concurrent object-oriented programs. To determine this complexity we use intermediate abstract descriptions that record relevant information for the time analysis (cost of statements, creations of objects, and concurrent operations), called behavioural types. Then, we define a translation function that takes behavioural types and makes the parallelism explicit into so-called cost equations, which are fed to an automatic off-the-shelf solver for obtaining the time complexity.
暂无评论