• Title/Summary/Keyword: native-code

Search Result 42, Processing Time 0.039 seconds

A Case Study of Combining Two Cross-platform Development Frameworks for Storybook Mobile App

  • Beomjoo Seo
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.17 no.12
    • /
    • pp.3345-3363
    • /
    • 2023
  • Developers often use cross-platform frameworks to create mobile apps that can run on multiple platforms with minimal code changes. However, these frameworks may not suit all the needs of a specific app, so developers may also use native APIs to add platform-specific features. This method eventually dilutes the advantages of cross-platform development methodology that aims to reduce development costs and time, and often leads to a decision to return back to the original native mobile development methodology. In this study, we explore a different approach: combining different cross-platform tools to develop a storybook mobile app that meets various requirements. We have demonstrated that integrating two cross-platform solutions can be used reliably to develop complex mobile applications. However, we also report that this approach can introduce unforeseen issues such as sandbox redundancy, unexpected functional burdens, and redundant permission requests. Despite these challenges, we believe that combining two cross-platform solutions can be applied to a variety of functional and performance requirements, enabling the development of more sophisticated mobile applications at lower costs and with shorter development timelines than traditional mobile app development methodologies.

Improving application startup time by automatic profiling (Automatic Usage Profiling을 통한 초기 앱 실행 속도 개선 방법)

  • Chae, Hyangseok;Baik, Jongmoon
    • Journal of Software Engineering Society
    • /
    • v.28 no.1
    • /
    • pp.1-6
    • /
    • 2019
  • Google released an initial version of Android that runs Dex(Dalvik Executable) through the Dalvik Runtime. Since Dalvik Runtime is based on interpreter, JIT(Just-in-time) compilation has been applied to improve performance. After Lollipop(Android 5.0) Dalvik Runtime has replaced with ART Runtime which support AOT (Ahead-of-time) compilation of Dex into Native Code. The late st Android has a problem that the application execution speed is slow until the AOT compilation is completed according to the actual usage record after the installation of the app. To improve the problem we have investigate the characteristics of profile that can improve the execution speed of the application and generate the profile automatically. Finally we propose a method that can optimize the application at install time. With the proposed method we can optimize selectively at install time and can help improving the execution speed of the app from the initial execution.

An Empirical Study of Diversity and Interoperability of Programming Languages (프로그래밍 언어의 다원성과 상호운영성의 실증적 분석)

  • Ko, Bongsuk;Lee, Byeongcheol
    • KIISE Transactions on Computing Practices
    • /
    • v.23 no.5
    • /
    • pp.304-309
    • /
    • 2017
  • Programmers use multiple languages to reuse legacy code best suited to their problems. However, it is quite challenging to develop error-free multilingual programs because new types of bugs occur since misunderstanding about language interfaces such as Java Native Interface (JNI) and Python/C. There is a considerable amount of research to overcome multilingual program bugs and errors but these researches have less consideration about substantiality of programming languages, language interfaces, and bugs to evaluate their analyses and tools. In this paper, we have identified and establish substantiality of multilingual programming research with empirical study about diversity and interoperability of programming languages in Ubuntu software ecosystem based on real-world statistical data.

Design of a Binding for the performance Improvement of 3D Engine based on the Embedded Mobile Java Environment (자바 기반 휴대용 임베디드 기기의 삼차원 엔진 성능 향상을 위한 바인딩 구현)

  • Kim, Young-Ouk;Roh, Young-Sup
    • Journal of Korea Multimedia Society
    • /
    • v.10 no.11
    • /
    • pp.1460-1471
    • /
    • 2007
  • A 3-Dimensional engine in a mobile embedded device is divided into a C-based OpenGL/ES and a Java-based JSR184 which interprets and executes a byte code in a real-time. In these two standards, the JSR184 supporting Java objects uses more processor resources than an OpenGL/ES and thus has a constraint when it is used in an embedded device with a limited computing power. On the other hand, 3-Dimensional contents employed in existing personal computer are created by utilizing advantages of Java and secured numerous users in European market, due to the good quality in contents and extensive service in a commercial network, GSM. Because of the reason, a mobile embedded device used in a GSM network needs a JSR184 which can provide an existing Java-based 3-Dimensional contents without extra conversion processes, but the current version of Java-based 3-Dimensional engine has drawbacks in application to commercial products because it requires more computing power than the mobile embedded device. This paper proposes a binding technique with the advantages of Java objects to improve a processing speed of 3-Dimensional contents in limited resources of a mobile embedded device. The technique supports a JSR184 standard interface in the upper layer to utilize 3-Dimensional contents using Java, employs a different code-conversion language, KNI(Kilo Native Interface), in the middle layer to interface between OpenGL/ES and JSR184, and embodies an OpenGL/ES standard in the lower layer. The validity of the binding technique is demonstrated through a simulator and a FPGA embedding an ARM.

  • PDF

Method Discrimination for Product Traceability and Identification of Korean Native Chicken using Microsatellite DNA (초위성체를 이용한 한국 재래닭의 원산지 추적 및 개체 식별 방법에 관한 연구)

  • Park, Mi-Hyun;Oh, Jae-Don;Jeon, Gwang-Joo;Kong, Hong-Sik;Sang, Byong-Don;Choi, Chull-Hwan;Yeon, Sung-Hum;Cho, Byong-Wok;Lee, Hak-Kyu
    • Korean Journal of Organic Agriculture
    • /
    • v.12 no.4
    • /
    • pp.451-461
    • /
    • 2004
  • In an animals, identification system has been widely used by ear tag with dummy code and blood typing for parernity. Also, genotyping methods were using for useful mean of individual identification for live animals. In the case of genotyping estimation of gene in population of korean native chicken. In this study, we tested for development of genetic markers used it possible to determination of individual identification system. The candidate genetic markers were used already bow 10 of microstalite DNA sequence information in chromosome No. 1 and 14. Result of analysis for genotyping, the number of alleles of those microstatelites DNA was shown minimal 3 to 12 and the heterozygote expression frequency range was shown from 0.617 to 0.862. In our result, effective number of allele for each microsatellites DNA was shown 3~7, and the accuracy of individual identification was shown nearly 100%, when used with 6 genetic marker. This study was about genotyping method for identification used specific genetic marker form microsatellite DNA in the brand marketing of korean native chicken. Our results suggest that genotyping method used specific genetic marker from microsatellite DNA might be very useful for determination of individual identification.

  • PDF

Translated Block Optimization of Dynamic Binary Translator for Embedded System Virtualization (임베디드 시스템 가상화를 위한 동적 이진 변환기의 변환 블록 최적화)

  • Hwang, Wonjun;Park, Sihyeong;Kim, Hyungshin
    • IEMEK Journal of Embedded Systems and Applications
    • /
    • v.12 no.6
    • /
    • pp.385-393
    • /
    • 2017
  • As the use of mobile devices such as smartphones increases, there is growing interest on the benefits of virtualization in embedded systems. Full virtualization has the advantage of running the guest virtual machine without modifying the guest operating system. However, full virtualization suffers slow execution speed due to the cost of context switching between the virtual machines and the virtual machine monitor. In this paper, we propose a translated block and context switching optimization to improve the guest execution speed in the embedded system. As a result, the improved dynamic binary translator is up to 5.95 times faster than the native execution. Performance degradation is less than that of the other virtualization system.

A Study on the Native Code Connection Technique (네이티브 코드 연결 기법에 관한 연구)

  • Yu, Jae-Min;Ko, Kwang-Man
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.07b
    • /
    • pp.898-900
    • /
    • 2005
  • 최근 다양한 모바일 기기가 등장하면서 플랫폼에 독립적인 응용 프로그래밍 실행 환경을 구축하기 위해 가상기계(Virtual Machine)와 가상기계 기반의 언어가 등장하고 있다. 가상기계 환경에서 수행되는 응용 프로그램의 원활한 수행물 위해서는 입출력, 시스템 함수 호출 등에 대해서는 플랫폼에 의존적인 네이티브 코드를 적절한 방식으로 연결해주어야 한다. 본 논문에서는 기존의 가상기계들이 특정 플랫폼에 탑재 되는 방식 및 네이티브 코드 연결 방식을 고찰한 후 본 연구팀에서 현재 개발중인 임베디드 시스템을 위한 가상기계(EVM)에 적용하여 보다 효과적인 연결 기법을 제시하고자 한다.

  • PDF

A Static Analysis Technique for Android Apps Written with Xamarin (자마린으로 개발된 안드로이드 앱의 정적 분석 연구)

  • Lim, Kyeong-hwan;Kim, Gyu-sik;Shim, Jae-woo;Cho, Seong-je
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.28 no.3
    • /
    • pp.643-653
    • /
    • 2018
  • Xamarin is a representative cross-platform development framework that allows developers to write mobile apps in C# for multiple mobile platforms, such as Android, iOS, or Windows Phone. Using Xamarin, mobile app developers can reuse existing C# code and share significant code across multiple platforms, reducing development time and maintenance costs. Meanwhile, malware authors can also use Xamarin to spread malicious apps on more platforms, minimizing the time and cost of malicious app creation. In order to cope with this problem, it is necessary to analyze and detect malware written with Xamarin. However, little studies have been conducted on static analysis methods of the apps written in Xamarin. In this paper, we examine the structure of Android apps written with Xamarin and propose a static analysis technique for the apps. We also demonstrate how to statically reverse-engineer apps that have been transformed using code obfuscation. Because the Android apps written with Xamarin consists of Java bytecode, C# based DLL libraries, and C/C++ based native libraries, we have studied static reverse engineering techniques for these different types of code.

The Characteristics of Croatia Folk Costumes by Regional Groups (크로아티아 민속복식의 지역적 특성)

  • Cho, Woo-Hyun;Lee, Ho-Jung
    • Journal of the Korea Fashion and Costume Design Association
    • /
    • v.8 no.3
    • /
    • pp.59-71
    • /
    • 2006
  • This study contemplates Croatian traditional costumes with focus on its geographical characteristics and acculturation with neighbor countries as a member of old Yugoslavian Union. Therefore, it contains the information from field works based on Croatian language, native costumes and folk materials wildly. Men usually wear wide linen pants ($ga\'{c}$), shirt ($ko\v{s}ulje,\;rnbina)$, vest (lajbek), hat and jacket ($kro\v{z}et$). Also they sometimes wear scarves or aprons. Women put on blouse, long skirt, apron, headgear with various decoration and scarf ($pe\v{c}a$), shawl (tibetui robe) or necklace together. Croatian folk dresses fall into three different styles by provinces, such as Pannonia, Dinar and Adria, according to the basic environmental and racial characteristics of each province. People of Pannonia plain generally wear white linen clothing and often use flounce and lace, which are influenced by Serbia and Hungary. In the Dinar mountain province, aprons with tassel, knitted vests made of leather and fur are very popular. The clothing of Dinar province has much commonness with those of Bosnia - Herzegovina and Montenegro which have metal buttons and belts. And the clothing of Adria coast is influenced by Italy a lot. There are many splendid silk clothes in its folk dress code. As mentioned above, there are a lot of foreign influences in Croatian history. Although there were severe cultural invasions in many times through its history, Croatians didn't just surrender to these cultural influences. People in Croatia comply with these new coming culture and reconcile these into their own tradition and dress code in their own way.

  • PDF

A Concise Korean Programming Language "Sprout" (간결한 한글 프로그래밍 언어 "새싹")

  • Cheon, Junseok;Kang, Dohun;Kim, Gunwoo;Woo, Gyun
    • Journal of KIISE
    • /
    • v.42 no.4
    • /
    • pp.496-503
    • /
    • 2015
  • Most programming languages are designed based on English. It becomes another barrier in learning programming languages in non-English speaking country. If a programming language is presented using a native language, the education cost of programming will be much cheaper and the programming itself can be much more fun. However, designing the programming languages based on native languages has not been much focused or published up to now. It is partly because the evolution of popular programming languages is so fast, and partly because the efficiency of programs is much stressed than the source code. But, the designing of programming languages based on native language is not a small issue, especially if we reflect on the education of programming. In fact, there have been significant efforts reported in the Korean programming languages so far, but it has not practically been used in the education. This paper introduces yet another Korean programming language, namely Sprout, which is concise and can be easily learned by beginners. To demonstrate the conciseness of Sprout, we have performed two experiments on Sprout. Firstly, we compared the sizes of the programs in Sprout with those in former Korean programming languages. Secondly, we compared the size of Sprout, the language itself, with those of popular programming languages such as C and Python. According to the experiments, Sprout programs are more concise to 10% on average than those in former Korean languages. Furthermore, Sprout itself is more compact to 24% on average than other popular programming languages.