Ajay Kumar Jha

Ajay Kumar Jha
North Dakota State University | NDSU

PhD

About

16
Publications
7,988
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
103
Citations
Citations since 2016
10 Research Items
100 Citations
201620172018201920202021202205101520
201620172018201920202021202205101520
201620172018201920202021202205101520
201620172018201920202021202205101520

Publications

Publications (16)
Preprint
Developers heavily rely on Application Programming Interfaces (APIs) from libraries to build their projects. However, libraries might become obsolete, or new libraries with better APIs might become available. In such cases, developers need to replace the used libraries with alternative libraries, a process referred to as library migration. When don...
Conference Paper
Full-text available
Understanding the adoption and usage of any programming language feature is crucial for improving it. Existing studies indicate that Java annotations are widely used by developers. However, there is currently no empirical data on annotation usage in Android apps. Android apps are often smaller than general Java applications and typically use Androi...
Article
Embedded software developers assume the behavior of the environment when specifications are not available. However, developers may assume the behavior incorrectly, which may result in critical faults in the system. Therefore, it is important to detect the faults caused by incorrect assumptions. In this letter, we propose a log-based testing approac...
Article
Full-text available
Android platform is evolving rapidly. Therefore, evolution and maintenance of Android apps are major concerns among developers. One of the essential components of each app is an Android manifest file, which is a configuration file used to declare various key attributes of apps. This paper presents an empirical study to understand app evolution thro...
Conference Paper
Full-text available
Android apps are generally developed by an individual developer or a small team of developers, and the developers may not have experience of testing Android apps or they may not have experience of testing any software systems. Furthermore, even an individual that does not have a basic knowledge of Android can build Android apps using various app ge...
Conference Paper
Full-text available
Android platform provides a unique framework for app development. Failure to comply with the framework may result in serious bugs. Android platform is also evolving rapidly and developers extensively use APIs provided by the framework, which may lead to serious compatibility bugs if developers do not update the released apps frequently. Furthermore...
Preprint
Full-text available
Android applications are composed of components that may interact with each other to accomplish a task. Moreover, a component of one application can also communicate with a component of another application. Inter-component communication is an integral part of Android applications. Incorrect implementation of inter-component communication can cause...
Article
Full-text available
Android provides a framework for the development of collaborative applications, which is considered as one of the reasons behind its success. Collaborative model provides flexibility to an application in utilizing services offered by other applications. This approach offers several advantages to developers, such as allowing them to dedicate all of...
Conference Paper
Full-text available
Each Android app must have an Android manifest file. It is one of the most important configuration files manually written by developers. In addition to various configuration parameters required to run an app, it also contains configuration parameters which are used to implement security, compatibility, and accessibility of an app. Any mistakes in w...
Article
Full-text available
Being one of the major operating system in smartphone industry, security in Android is paramount importance to end users. Android applications are published through Google Play Store which is an official marketplace for Android. If we have to define the current security policy implemented by Google Play Store for publishing Android applications in...
Conference Paper
Full-text available
Though filtering of malicious applications is performed at Play Store, some malicious applications escape the filtering process. Thus, it becomes necessary to take strong security measures at other levels. Security in Android can be enforced at system and application levels. At system level Android uses sandboxing technique while at application lev...
Conference Paper
Full-text available
Currently, there is a lack of tools or techniques which can clearly handle the complexity related to inter-component communication while developing Android applications. We propose a conceptual model which represents the inter-component communication at a higher abstraction level. We also propose a technique to derive test case from the model. The...
Conference Paper
Full-text available
In developers' viewpoint, it is difficult to set up the hardware and operational environment required for the system during software development. Virtual prototyping approach can be used for simulating hardware and operational environment of embedded software. However, cost and effort required for developing virtual prototyping in programming lang...
Article
Full-text available
As Android platform and its applications are widely used, it is necessary to assure the reliability and safety of Android applications. The capture and replay technique is widely used for reproducing the crashes in Java applications. In this paper, we adapt the context-based capture and replay technique to Android applications by considering Androi...
Conference Paper
Full-text available
With the advancement of programming technique like multithreading added with highly efficient memory model design, it is becoming very difficult to understand and analyze the execution behavior of a program. Due to non-determinism in execution behavior introduced by concurrency-related events the program may behave differently than expected which m...
Conference Paper
Full-text available
Software testing takes significant amount of time and cost. Many in-house software testing techniques are available but all the techniques can’t be used due to time and budget constraints so limited testing efforts are applied most of the time. Due to this limited testing effort there is always chance of failing the software in the field. To make t...

Network

Cited By