• Tidak ada hasil yang ditemukan

Reverse Engineering – Recent Advances and Applications

N/A
N/A
Protected

Academic year: 2023

Membagikan "Reverse Engineering – Recent Advances and Applications"

Copied!
290
0
0

Teks penuh

In Chapter 7, Kaisarlis presents a systematic approach to geometric and dimensional tolerancing in reverse engineering mechanical parts. In Chapter 8, Chang presents an overview of shape design and parameterization in the context of reverse shape engineering.

Reverse Engineering in Medical and Life Sciences

Many reverse engineering technologies and tools are still in the research phase and need to be refined to produce robust and detailed results on real datasets. Additionally, the increase in types of data sets and technologies available for reverse engineering poses challenges in terms of the cost-effective development of end-to-end solutions that can extract valuable insights from such data.

Software Reverse Engineering

Software Reverse Engineering in the Domain of Complex Embedded Systems

Introduction

Specifically, we introduce the main features of complex embedded systems that should be considered in reverse engineering techniques and tools. The results of the review are twofold: it provides a better understanding of the research landscape and a starting point for researchers unfamiliar with this area, and it confirms that there is surprisingly little research in this area.

Background

  • Reverse engineering
  • Complex embedded systems

Even worse, many complex embedded systems are hard real-time systems, meaning that a single missed task deadline is considered a failure. The following example illustrates why it can be difficult or unfeasible to automatically derive timing properties for complex embedded systems (Bohlin et al., 2009).

Literature review

The challenges in this area are therefore not only related to software development per se (i.e., the development of a green field”), but also in particular with the maintenance and evolution of software (i.e., reverse engineering tools and techniques are used – also in combination with other software development approaches – to tackle the challenging task of developing such systems.

Timing analysis

  • Execution time analysis
  • Timing analysis with model checking
  • Simulation-based timing analysis
  • Comparison of approaches

For every model abstracted from the real system, there is the concern of whether the model's behavior is a reasonable approximation of the real behavior (Huselius et al., 2006). Software simulation models can be validated by comparing trace data from the real system against the model (cf. Figure 4).

Discussion

  • Fact extraction
  • Static analyses
  • Dynamic analyses

16The developers of the Coverity tool say (Bessey et al., 2010): "Assembly is the most consistently difficult construct. Many complex embedded systems have functions in a product line (because the software supports a portfolio of different devices).

Conclusion

Runtime verification and monitoring is a domain that, to our knowledge, has not been explored for complex embedded systems yet. Similarly, research in runtime monitoring/verification and in visualization of streaming applications may be applicable to certain types of complex embedded systems.

Pointer Analysis: Haven't We Solved This Problem Yet?, ACM SIGPLAN/SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE'01)p. 2003). The SPIN Model Checker: Primer and Reference Manual, Addison-Wesley. Model Synthesis for Real-Time Systems, 9th IEEE European Conference on Software Maintenance and Reengineering (CSMR 2005), p.

GUIsurfer: A Reverse Engineering Framework for User Interface Software

Motivation

Objectives

The correctness of the GUI is essential for the correct execution of the software (Berard, 2001). Another goal of this chapter is to be able to reason around to analyze aspects of the original application's usability and implementation quality.

Structure of the chapter

Graphical user interfaces can contain hundreds of widgets and therefore many callback procedures, which make it difficult to understand and maintain the source code (Myers, 1991). In this case, being able to reason at a higher level of abstraction than code will help guarantee that the new/updated UI has the same properties as the previous one.

Reverse engineering applied to GUI modelling

  • Types of GUI relevant models
  • Summarizing GUI reverse engineering

Task models describe the tasks that an end user can perform. Dialog models represent all possible dialogs between users and the user interface. Domain models define the objects that a user can view, access, and manipulate through the user interface.

GUI SURFER : A reverse engineering tool

  • The architecture of GUI SURFER
    • Source code slicing
    • GUI behavioural modelling
    • GUI reasoning
  • A language independent tool
  • Summarizing GUI SURFER approach

On the one hand, they are one of the more useful types of models to design or analyze the behavior of the system. In addition, it also features the automatic generation of finite state machine models of the interface.

GUI Reasoning from reverse engineering

  • Summarizing GUI reasoning approach

Easy to remember: The reuse of the system is possible without a high level of effort. If the user introduces a valid login/password pair and presses the Ok button, then the login window closes and the main window of the application is displayed.

HMS case study: A larger interactive system

  • Bills management
  • GUI Reasonning
  • Summary of contributions
  • Discussion
  • Future work
    • GUI SURFER extension
    • Patterns for GUI transformation

Considering that the models created by the reverse engineering process are representations of the interaction between users and the system, this research investigated how metrics defined on those models can be used to obtain relevant information about the interaction. The State of the Art in Automating the Usability Evaluation of User Interfaces, ACM COMPUTING SURVEYS.

MDA-Based Reverse Engineering

Reverse engineering today

The essence of MDA is the meta-metamodel MOF (Meta Object Facility), which allows the use of different types of artifacts from several manufacturers together in the same project (MOF, 2006). The success of MDA-based reverse engineering depends on the existence of CASE (Computer Aided Software Engineering) tools, which have a significant impact on process automation.

Outline of the chapter

The initial adoption of MDA was focused on its relationship to UML as a modeling language. Modisco is an official Eclipse project dedicated to Model Driven Reverse Engineering (MDRE) from legacy IT systems and supports reverse engineering of UML class diagrams (Modisco, 2011).

Model driven architecture: An introduction

  • Basic MDA concepts .1 Models
    • Metamodels
    • Transformations

A PIM is a view of the system that focuses on the operation of a system from a platform-independent point of view. Few MDA-based CASE tools support QVT, or at least any of the QVT languages.

Metamodel formalization

  • NEREUS language specification
  • Transforming metamodels into NEREUS

The new class specification is based on the imported specifications declared in and their public operations can be used in the new specification. Inheritance is expressed in the INHERITS clause, the class specification is constructed by concatenating the class specifications that appear in the.

Reverse engineering of object-oriented code

  • Static analysis
  • Dynamic analysis
  • An example: Recovering class diagram

The main limitation of dynamic analysis is related to the quality of the test cases used to produce diagrams. A basic algorithm to extract class diagrams can be based on a pure syntactic analysis of the source code.

Specifying metamodel-based transformations

Then, associations determined from the types of container declarations in the text do not determine the type of the contained object. Execution traces of different instances of the same class or method could guide the construction of invariants or pre- or post-conditions.

Summing up the parts: A framework for reverse engineering

Challenges and strategic directions

In this chapter we exemplify the basics of our approach by reverse engineering the Class Diagram. The adoption of reverse engineering techniques in general should be favored by educating future generations of software engineers, i.e., by integrating background on these topics into the computer science curriculum.

Reverse Engineering Platform Independent Models from Business Software Applications

  • Our motivation for reverse engineering: Cross-platform porting of software solutions
  • Our approach to reverse engineering
    • Creating platform independent models
    • Transformation authoring
  • Experimental results
  • Conclusions
  • Acknowledgements

We discussed cross-platform models (PIMs) and platform-specific models (PSMs) in the Introduction section. Transformation Authoring for Reverse Engineering: Figure 6 shows our approach for converting platform-specific artifacts into a platform-independent model.

Reverse Engineering the Peer to Peer Streaming Media System

  • Related works
  • Signalling crack and network measurement
    • Brief description of P2P VoD system
    • The communication protocol cracking
    • Network measurement and dataset
  • Reverse engineering analysis from a peer's viewpoint
    • Live peer behavior in P2P streaming media system
    • VoD user behavior in P2P streaming media systems
  • Model-based analysis of PPLive at system level
    • System stability based on different initial offset placement schemes
    • The system design concerns based on the TB piecewise line model
    • VoD network sharing environment

Buffer fill Uh(t), the number of downloaded chunks in the buffer, i.e. the number of 1s in a BM at time t for a given host h, is used to solve the first problem. The viewing behavior of the user will affect the network sharing environment, and there is an inherent relationship between user behavior and VoD network sharing, that is, the SP and SD can be analytically derived from the distribution of WI.

Reverse Engineering Shapes

Surface Reconstruction from Unorganized 3D Point Clouds

  • Related work
  • Reconstruction approach 1 Overview
    • Hierarchical spatial partitioning
    • Hybrid mesh wrapping
    • Regular mesh refinement
    • Irregular mesh refinement
    • Vertex-mapping
  • Results 1 Performance
    • Robustness and quality
  • Experimental reconstruction of environmental point data
  • Acknowledgements

All vertices are projected onto local tangents defined by the points of the individual voxels. In the cases shown, the connectivity of the vertices of v1,v2 causes the mesh to be non-manifold.

A Systematic Approach for Geometrical and Dimensional Tolerancing in

Literature review

In one of the earliest research works to systematically address the RE-tolerancing problem (Kaisarlis et al., 2000), he presents a preliminary concept of a knowledge-based system aimed at assigning standard tolerances according to ISO-286. Recently (Kaisarlis et al.) have further expanded research in this area by focusing on the RE assignment of position tolerances in the case of fixed and floating fasteners.

Dimensional tolerancing in reverse engineering

  • Direction of the analysis on ISO fits and/or general tolerances
  • Sets of candidate IT grades, fundamental deviations and nominal sizes
  • Sets of suggested fits
  • Sets of preferred fits

The above restrictions are applied separately for the hole and shaft and qualify the members of the ITCAN_h, ITCAN_ssets. To qualify for the BHSG set, candidate nominal sizes that confirm condition (10) are further confirmed against all members of the FDCAN.

Geometrical tolerancing in reverse engineering

  • Sets of candidate position tolerance sizes
  • Sets of suggested position tolerances
  • Sets of preferred position tolerances

In addition, the date selection and the size of the position tolerance itself must of course guarantee a tension-free mechanical coupling. The size of the total position tolerance zone is determined by the minimum clearance, minCL, of the (hole, propeller shaft) assembly.

Cost - effective RE-tolerance assignment

  • Tolerance chain constrains
  • Minimum machining cost

They do not change the main geometry of the TE, but indirectly contribute to the increase of the accuracy cost. In the last fifth level, the inclusion of TE size in the cost of accuracy is considered.

Application examples and case studies

  • Application example of RE dimensional tolerancing

Critical RE-characteristics of RE case study parts with dimensional tolerance Hole dM_h (mm) Fh (mm) Ra_h. The accuracy of the location and orientation of the sensor mount was critical for proper sensor performance.

Conclusion

An example of reverse engineering for the manufacture of wide-chord fan blades (WCFB) in Rolls Royce aircraft engines, Journal of Materials Processing Technology, Vol.134, p. Feature-based reverse engineering of mechanical parts, IEEE Transactions on Robotics and Automation, Vol. .15, p.

A Review on Shape Engineering and Design Parameterization in Reverse Engineering

Design parameterization

One of the common approaches when looking for design alternatives is to vary the part size or shape of the mechanical system. 1 (Silva & Chang, 2002) a change in the bore diameter of the engine housing will change not only the geometry of the engine housing itself, but also all other components involved, such as the piston, the piston sleeve and even the crankshaft.

Shape engineering

  • Segmentation
  • Solid modeling
    • Boundary representation
    • Solid feature recognition
    • Design parameterization
  • Solid model export

The result of mesh segmentation depends on several important parameters, such as the value of k (the number of neighboring points selected to estimate surface properties) and the prescribed differences in normal vectors and curvatures (also called sensitivity thresholds) that join the data points or the mesh. One of the most successful algorithms for the recognition of geometric features was proposed by (Venkataraman et al., 2001).

Engineering software evaluations

  • Software screening
  • Examples for hands-on evaluations
  • Round 1: Auto surfacing
    • Geomagic Studio v.11
    • Rapidform XOR3
    • Summary of round one evaluations
  • Round 2: Parametric solid modeling
    • Geomagic Studio v.11
    • Rapidform XOR3
  • Solid model export
    • Parametric Exchange of Geomagic
    • liveTransfer™ module of Rapidform XOR3

Results of an example block tested using Rapidform, (a) polygon mesh triangles), (b) NURB surface model (273 patches), and (c) variance analysis. Parametric solid model of a block example created using Rapidform, (a) fully parameterized cross-section sketch, (b) extrusion for the base block, and (c) design modification.

Conclusions

Some CAD packages, such as SolidWorks, Pro/ENGINEER Wildfire, and CATIA, offer limited shape engineering capabilities. In terms of solid modeling, Geomagic stops at offering only primitive surfaces, such as planes, cylinders, spheres, etc., from segmented areas.

Referensi

Dokumen terkait

Learning and learning process takes place starting with planning various components and learning tools so that they can be applied in the form of educational interactions, and ending