26,887 research outputs found

    Flow Diagram Decomposition Using Graph Transformations

    Get PDF
    The key challenge of model transformations in model-driven development is in transforming higher-level abstract models into more concrete ones that can be used to generate implementation level models, including executable business process representations and program code. Many of the modelling languages (like UML Activity Diagrams or BPMN) use unstructured flow graphs to describe the operation sequence of a business process. If a structured language is chosen as the executable representation, it is difficult to compile the unstructured flows into structured statements. Even if a target language structure contains goto-like statements it is often simpler and more efficient to deal with programs that have structured control flow to make the executable representation more understandable. In this paper, we take a first step towards an implementation of existing decomposition methods using graph transformations, and we evaluate their effectiveness with a view to readability and essential complexity measures

    Towards model structuring based on flow diagram decomposition

    Get PDF
    The key challenge of model transformations in model-driven development is in transforming higher-level abstract models into more concrete ones that can be used to generate implementation level models, including executable business process representations and program code. Many of the modelling languages (like UML Activity Diagrams or BPMN) use unstructured flow graphs to describe the operation sequence of a business process. If a structured language is chosen as the executable representation, it is difficult to compile the unstructured flows into structured statements. Even if a target language structure contains goto-like statements it is often simpler and more efficient to deal with programs that have structured control flow to make the executable representation more understandable. In this paper, we take a first step towards an implementation of existing decomposition methods using graph transformations, and we evaluate their effectiveness with a view to readability and essential complexity measures

    Branch-coverage testability transformation for unstructured programs

    Get PDF
    Test data generation by hand is a tedious, expensive and error-prone activity, yet testing is a vital part of the development process. Several techniques have been proposed to automate the generation of test data, but all of these are hindered by the presence of unstructured control flow. This paper addresses the problem using testability transformation. Testability transformation does not preserve the traditional meaning of the program, rather it deals with preserving test-adequate sets of input data. This requires new equivalence relations which, in turn, entail novel proof obligations. The paper illustrates this using the branch coverage adequacy criterion and develops a branch adequacy equivalence relation and a testability transformation for restructuring. It then presents a proof that the transformation preserves branch adequacy

    Economic value added dan market value added pada PT. GoTo Gojek Tokopedia Tbk (GOTO)

    Get PDF
    INDONESIA: Laporan keuangan merupakan sarana dalam memberikan informasi keuangan kepada pengambil keputusan. Kondisi keuangan suatu perusahaan bisa dilihat melalui laporan keuangannya. Oleh karena itu dibutuhkan kinerja keuangan untuk dapat melihat sejauh mana kemampuan perusahaan dalam menggunakan modalnya secara efektif dan efisien. Tujuannya adalah untuk melihat sejauh mana perusahaan tersebut berhasil mencapai tujuannya. Penelitian ini bertujuan untuk mengetahui bagaimana kondisi kinerja keuangan GOTO sebelum IPO dan apa alasan GOTO melakukan IPO. Metode penelitian yang digunakan dalam penelitian ini yaitu analisis deskriptif kualitatif menggunakan pengukuran EVA dan MVA dengan objek penelitian Laporan Keuangan PT GoTo Gojek Tokopedia (GOTO), kemudian di analisis menggunakan aplikasi NVivo 12. Hasil penelitian menunjukkan bahwa hasil EVA bernilai di bawah nol atau <0, yang artinya perusahaan tidak mampu menciptakan nilai tambah bagi pemegang sahamnya dan perusahaan tidak mampu membayar kewajibannya kepada kreditur. Sementara hasil MVA perusahaan tahun 2020 bernilai positif. Sedangkan ditahun 2021 menunjukkan bahwa MVA bernilai negatif. Dari perhitungan EVA dan MVA yaitu diperoleh hasil bahwa diperkirakan PT GoTo Gojek Tokopedia (GOTO) di tahun berikutnya belum bisa menghasilkan laba dan menghasilkan kekayaan di waktu tertentu, maka dapat disimpulkan bahwa kinerja perusahaan buruk. Dari hasil penelitian ini diharapkan dapat berkontribusi dalam memberikan referensi bagi penelitian selanjutnya dan dapat menjadi salah satu masukan bagi perusahaan dalam meningkatkan kinerja keuangan perusahaan. ENGLISH: Financial statements are a means of providing financial information to decision makers. The financial condition of a company can be seen through its financial statements. Therefore, financial performance is needed to be able to see the extent of the company's ability to use its capital effectively and efficiently. The goal is to see how far the company has managed to achieve its goals. This study aims to find out how GOTO's financial performance was before the IPO and what were the reasons for GOTO to carry out an IPO. The research method used in this research is descriptive qualitative analysis using EVA and MVA measurements with the object of research on the Financial Statements of PT GoTo Gojek Tokopedia (GOTO), then analyzed using the NVivo 12 application. The results showed that EVA's results were below zero or <0, which means that the company is unable to create added value for its shareholders and the company is unable to pay its obligations to creditors. Meanwhile, the company's MVA results in 2020 are positive. Meanwhile, 2021 shows that MVA is negative. From the calculation of EVA and MVA above, it is obtained that it is estimated that PT GoTo Gojek Tokopedia (GOTO) in the following year the company has not been able to generate profits and generate wealth at a certain time, it can be concluded that the company's performance is poor. From the results of this study, it is expected to contribute in providing references for future research and can be one of the inputs for companies in improving the company's financial performance. ARABIC: خلال بياناتها المالية. لذلك, هناك حاجة إلى الأداء المالي للتمكن من رؤية مدى قدرة الشركة على استخدام رأس مالها بفعالية وكفاءة. الهدف هو معرفة مدى نجاح الشركة في تحقيق أهدافها. يهدف هذا البحث لقياس أرباح الشركة المتحققة وقياس الثروة التي تحصل عليها الشركة في وقت معين. طريقة البحث المستخدمة في هذا البحث هي التحليل الوصفي النوعي باستخدام قياس EVA و MVA مع موضوع البحث هو البيانات المالية PT. GoTo Gojek Tokopedia Tbk (GOTO), ثم تحليلها باستخدام تطبيق NVivo 12. أظهرت نتائج البحث أن نتيجة EVA كانت أقل من الصفر أو <0, مما يعني أن الشركة غير قادرة على خلق قيمة مضافة لمساهميها وأن الشركة غير قادرة على دفع التزاماتها تجاه الدائنين. في حين أن نتيجة MVA الشركة في سنة 2020 لها قيمة إيجابية. أما في سنة 2021 يظهر أن نتيجة MVA لها قيمة سلبية. من حساب EVA و MVA أعلاه تظهر النتائج أنه من الممكن أن PT. GoTo Gojek Tokopedia Tbk (GOTO) في السنة التالية لم تحصل على الربح والثروة في وقت معين, لذلك يمكن استنتاج أن أداء الشركة ضعيف. من نتائج هذا البحث ترجى أن تساهم في توفير المراجع لمزيد من البحث ويمكن أن تكون أحد المدخلات للشركة في تحسين الأداء المالي للشركة

    Partial Evaluation of String Obfuscations for Java Malware Detection

    Get PDF
    The fact that Java is platform independent gives hackers the opportunity to write exploits that can target users on any platform, which has a JVM implementation. Metasploit is a well-known source of Javaexploits and to circumvent detection by Anti Virus (AV) software, obfuscation techniques are routinely applied to make an exploit more difficult to recognise. Popular obfuscation techniques for Java include stringobfuscation and applying reflection to hide method calls; two techniques that can either be used together or independently. This paper shows how to apply partial evaluation to remove these obfuscations and thereby improve AV matching. The paper presents a partial evaluator for Jimple, which is an intermediate language for JVM bytecode designed for optimisation and program analysis, and demonstrates how partially evaluated Jimple code, when transformed back into Java, improves the detection rates of a number of commercial AV products

    Code Structuring in Decompiler Back-End

    Get PDF
    Tato diplomová práce se zabývá nástrojem pro zpětný překlad nízkoúrovňového strojového kódu do vyšší formy reprezentace, který je vyvíjen společností AVG Technologies. Cílem této práce je navrhnout a implementovat metodu strukturování vnitřní reprezentace v zadní části zpětného překladače, která se bude snažit eliminovat skoky s využitím podmíněných příkazů a cyklů. Je navržena metoda pro strukturování, která pracuje na základě opakovaného procházení grafu toku řízení a vyhledávání předdefinovaných vzorů. Ve všech případech však není možné strukturovat kód pouze s využitím podmíněných příkazů a cyklů. V takových případech je použito strukturování pomocí příkazu goto. Vytvořené řešení je srovnáno s původním řešením ve zpětném překladači. Dle výsledků je řešení rychlejší, lépe otestované, ale ve větším množství případů generuje nevalidní kód. Z hlediska strukturování jsou výsledky rozdílné a někdy je kód strukturován lépe, avšak někdy hůře.This thesis deals with a decompilation tool which converts low-level binary code to a high-level representation. This tool is being developed by AVG Technologies. The aim of this work is to design and implement a method for code structuring in the decompiler back-end. The designed method works by traversing the control-flow graph with matching of predefined patterns. It is not always possible to structure code using conditional statements and loops. Sometimes also goto statements must be used. The implemented solution is compared with the original solution in the decompiler. According to the results the new solution is faster, better tested, but in greater number of test cases generates invalid code. From the viewpoint of structuring the results are different and sometimes the code is structured better, but sometimes worse.

    Verifying multi-threaded software using SMT-based context-bounded model checking

    No full text
    We describe and evaluate three approaches to model check multi-threaded software with shared variables and locks using bounded model checking based on Satisfiability Modulo Theories (SMT) and our modelling of the synchronization primitives of the Pthread library. In the lazy approach, we generate all possible interleavings and call the SMT solver on each of them individually, until we either find a bug, or have systematically explored all interleavings. In the schedule recording approach, we encode all possible interleavings into one single formula and then exploit the high speed of the SMT solvers. In the underapproximation and widening approach, we reduce the state space by abstracting the number of interleavings from the proofs of unsatisfiability generated by the SMT solvers. In all three approaches, we bound the number of context switches allowed among threads in order to reduce the number of interleavings explored. We implemented these approaches in ESBMC, our SMT-based bounded model checker for ANSI-C programs. Our experiments show that ESBMC can analyze larger problems and substantially reduce the verification time compared to state-of-the-art techniques that use iterative context-bounding algorithms or counter-example guided abstraction refinement
    corecore