scholarly journals From source code to test cases: A comprehensive benchmark for resource leak detection in Android apps

2018 ◽  
Vol 49 (3) ◽  
pp. 540-548 ◽  
Author(s):  
Oliviero Riganelli ◽  
Daniela Micucci ◽  
Leonardo Mariani
2016 ◽  
Vol 42 (11) ◽  
pp. 1054-1076 ◽  
Author(s):  
Tianyong Wu ◽  
Jierui Liu ◽  
Zhenbo Xu ◽  
Chaorong Guo ◽  
Yanli Zhang ◽  
...  

Author(s):  
Nuno Laranjeiro ◽  
Marco Vieira

Web services are increasingly being used in business critical environments as a mean to provide a service or integrate distinct software services. Research indicates that, in many cases, services are deployed with robustness issues (i.e., displaying unexpected behaviors when in presence of invalid input conditions). Recently, Test-Driven Development (TDD) emerged as software development technique based on test cases that are defined before development, as a way to validate functionalities. However, programmers typically disregard the verification of limit conditions, such as the ones targeted by robustness testing. Moreover, in TDD, tests are created before developing the functionality, conflicting with the typical robustness testing approach. This chapter discusses the integration of robustness testing in TDD for improving the robustness of web services during development. The authors requested three programmers to create a set of services based on open-source code and to implement different versions of the services specified by TPC-App, using both TDD and the approach presented in this chapter. Results indicate that TDD with robustness testing is an effective way to create more robust services.


Electronics ◽  
2021 ◽  
Vol 10 (18) ◽  
pp. 2211
Author(s):  
Muhammad Umair Khan ◽  
Scott Uk-Jin Lee ◽  
Zhiqiang Wu ◽  
Shanza Abbas

With the proliferation of mobile devices, the popularity of Android applications (apps) has increased exponentially. Efficient power consumption in a device is essential from the perspective of the user because users want their devices to work all day. Developers must properly utilize the application programming interfaces (APIs) provided by Android software development kit to optimize the power consumption of their app. Occasionally, developers fail to relinquish the resources required by their app, resulting in a resource leak. Wake lock APIs are used in apps to manage the power state of the Android smartphone, and they frequently consume more power than necessary if not used appropriately (also called energy leak). In this study, we use a multi-layer perceptron (MLP) to detect wake lock leaks in Android apps because the MLP can solve complex problems and determine similarities in graphs. To detect wake lock leaks, we extract the call graph as features from the APK and embed the instruction and neighbor information in the node’s label of the call graph. Then, the encoded data are input to an MLP model for training and testing. We demonstrate that our model can identify wake lock leaks in apps with 99% accuracy.


Author(s):  
Elvina Elvina ◽  
Oscar Karnalim

Based on the informal survey, learning algorithm time complexity in a theoretical manner can be rather difficult to understand. Therefore, this research proposed Complexitor, an educational tool for learning algorithm time complexity in a practical manner. Students could learn how to determine algorithm time complexity through the actual execution of algorithm implementation. They were only required to provide algorithm implementation (i.e. source code written on a particularprogramming language) and test cases to learn time complexity. After input was given, Complexitor generated execution sequence based on test cases and determine its time complexity through Pearson correlation. An algorithm time complexity with the highest correlation value toward execution sequence was assigned as its result. Based on the evaluation, it can be concluded this mechanism is quite effective for determining time complexity as long as the distribution of given input set is balanced.


Author(s):  
Iyad Alazzam ◽  
Izzat Alsmadi ◽  
Mohammed Akour

2020 ◽  
Vol 4 (2) ◽  
pp. 1
Author(s):  
Ismail Ismail ◽  
Jalisal Efendi

The Source Code Bank Programming application that the researchers built uses Borland Delphi which functions to support software learning activities and as a reference for software developers, especially the Delphi programming language. In the process of developing Source Code Bank Programming is still in the prototype stage and further development is still being carried out so that it can be competitively competitive in the world. It is necessary to do various evaluations of the quality of the application in order to match the expectations of the user, one of which is to analyze the quality of the application using the Black-Box Testing method. Testing the Black-Box Source Code Bank Programming uses 3 methods, namely; 1) Graph-based testing, 2) Equivalence Partitioning, and 3) Boundary Value Analysis. The research results show that graph testing, equivalence partitioning, and boundary value analysis will be able to help the process of making test cases and make testing simpler, There are errors in testing and are included in the defect-list, the test results also show that the fulfillment of user needs for public users with a value 0.90, user registers/member with a value of 1.00, students with a value of 0.90, lecturers with a value of 0.82 and admin with a value of 0.84 are classified as good because the degree of value in each user module is greater than 0.8.


Author(s):  
Saurabh Rawat ◽  
Anushree Sah ◽  
Ankur Dumka

Testing of software remains a fundamentally significant way to check that software behaves as required. Component-based software testing (CBST) is a crucial activity of component-based software development (CBSD) and is based on two crucial proportions: components testing by developers with the source code (e.g., system testing, integration testing, unit testing, etc.) and components testing by end users without source code (black box testing). This work proposes a black box testing technique that calculates the total number of interactions made by component-based software. This technique is helpful to identify the number of test cases for those components where availability of source code is questionable. On the basis of interaction among components, the authors draw a component-link graph and a direct-indirect-link matrix, which helps to calculate the number of interactions in component-based software.


2021 ◽  
Vol 8 (6) ◽  
pp. 274-280
Author(s):  
Henrique Matos Campos ◽  
Filipe Augusto Sintra Lazzarini ◽  
Aluisio Viais Pantaleão

Sign in / Sign up

Export Citation Format

Share Document