61
1 MONITORING SYSTEM Enrolment Number : - 9911103487 Name :- Mridul Gupta Supervisor :- Prof. Himanshu Mittal December - 2014 Submitted in partial fulfillment of the Degree of Bachelor of Technology in Computer Science Engineering DEPARTMENT OF COMPUTER SCIENCE ENGINEERING & INFORMATION TECHNOLOGY JAYPEE INSTITUTE OF INFORMATION TECHNOLOGY, NOIDA

MONITORING SYSTEMName :- Mridul Gupta Supervisor :- Prof. Himanshu Mittal December - 2014 Submitted in partial fulfillment of the Degree of Bachelor of Technology in Computer Science

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

  • 1

    MONITORING SYSTEM

    Enrolment Number : - 9911103487

    Name :- Mridul Gupta

    Supervisor :- Prof. Himanshu Mittal

    December - 2014

    Submitted in partial fulfillment of the Degree of

    Bachelor of Technology

    in

    Computer Science Engineering

    DEPARTMENT OF COMPUTER SCIENCE ENGINEERING &

    INFORMATION TECHNOLOGY

    JAYPEE INSTITUTE OF INFORMATION TECHNOLOGY, NOIDA

  • 2

    (I)

    TABLE OF CONTENTS

    Chapter No. Topics Page No.

    Student Declaration II

    Certificate from the Supervisor III

    Acknowledgement IV

    Summary V

    List of Figures VI

    List of Tables VII

    Chapter-1 Introduction Page No to Page No

    1.1 General Introduction 11-12

    1.2 List some relevant current/open problems. 13

    1.3 Proposed Solution 14

    1.4 Novelty/benefits 15

    Chapter-2 Background Study Page No to Page No

    2.1 Literature Survey 16-31

    2.1.1 Paper 1 16-17

    2.1.2 Paper 2 18

    2.1.3 Paper 3 19-21

    2.1.4 Paper 4 22-23

    2.1.5 Paper 5 24-25

  • 3

    2.1.6 Paper 6 26-27

    2.1.7 Paper 7 28-29

    2.1.8 Paper 8 30-31

    2.2 Results of literature survey 32-34

    Chapter 3: Analysis, Design and Modeling Page No to Page No

    3.1 Requirements Specifications 35

    3.2 Functional and Non Functional requirements 36-37

    3.3 Design Documentation 38-40

    3.3.1 Use Case diagram 38

    3.3.2 Control Flow Diagram 39

    3.3.3 Sequence Diagrams 40

    3.4 Risk Analysis and Mitigation Plan 41-42

  • 4

    Chapter-4 Implementation and Testing Page No to Page No

    4.1 Implementation details and issues 43-46

    4.1.1 First Phase Implementation 43-44

    4.1.2 Final Phase Implementation 45-46

    4.2 Testing

    4.2.1 Testing Plan 47

    4.2.2 Component decomposition and type of testing required 48-51

    4.2.3 Limitations of the solution 51

    Chapter-5 Findings & Conclusion Page No to Page No

    5.1 Findings 52

    5.2 Conclusion 52

    5.3 Future Work 53

    References ACM Format Page No to Page No

    54-56

    Appendices Page No to Page No

    57-59

    Brief Bio-data (Resume) of Student 60-62

  • 5

    (II)

    DECLARATION

    I hereby declare that this submission is my own work and that, to the best of my knowledge and

    belief, it contains no material previously published or written by another person nor material

    which has been accepted for the award of any other degree or diploma of the university or other

    institute of higher learning, except where due acknowledgment has been made in the text.

    Place: Noida Signature:

    Date: 29/12/2014 Name: Mridul Gupta

    Enrollment No: 9911103487

  • 6

    (III)

    CERTIFICATE

    This is to certify that the work titled “Child Monitoring System” submitted by “Mridul Gupta”

    in partial fulfillment for the award of degree of B.Tech of Jaypee Institute of Information

    Technology University, Noida has been carried out under my supervision. This work has not been

    submitted partially or wholly to any other University or Institute for the award of this or any other

    degree or diploma.

    Signature of Supervisor :

    Name of Supervisor : Prof. Himanshu Mittal

    Designation : Assistant Professor

    Date : 29/12/2014

  • 7

    (IV)

    ACKNOWLEDGEMENT

    I would like to place on record my deep sense of gratitude to Prof. HIMANSHU MITTAL,

    faculty, Jaypee Institute of Information Technology, India for his generous guidance, help and

    useful suggestions.

    I express my sincere gratitude to Prof. Himanshu Mittal, Dept. of Computer Science &

    Engineering, Jaypee Institute of Information Technology , India, for his stimulating guidance,

    continuous encouragement and supervision throughout the course of present work.

    I also wish to extend my thanks to Prof. Himanshu Mittal and other classmates for their insightful

    comments and constructive suggestions to improve the quality of this project work.

    Signature of Student :

    Name of Student : Mridul Gupta

    Enrolment No : 9911103487

    Date : 29/12/2014

  • 8

    (V)

    SUMMARY

    As penetration rates of smartphones, tablet PCs, and other devices for internet access increase, the

    number of children using mobile phones and accessing the internet will rise. The children do not

    possess the knowledge to differentiate between good or bad. And that’s where parents come in.

    Agreements or rules about children’s use of mobile phones are not made in all families, and even

    where they are made, they are not always followed.

    We created an application which fetched the database from different applications in the mobile.

    For example:-

    1. The call details from the target mobile are fetched. In this the caller id, duration of the

    call, the type of the call (incoming or outgoing) and frequency of call is added in the log

    file.

    2. The contact list of the target mobile is also fetched.

    3. The message history, date and time of message of the target mobile is added in the log

    file.

    4. The browsing history of the mobile is also fetched and added to the log file.

    5. Chat details from the database of Social chat apps are also fetched.

    6. These details are then mailed attached with log files to the email of the user.

    7. The application is divided in two parts, pro and basic versions. In basic versions some

    limited functionalities are provided and in pro all the functionalities are available.

    __________________ __________________

    Signature of Student Signature of Supervisor

    Name: Mridul Gupta Name : Prof. Himanshu Mittal

    Date : 29/12/2014 Date : 29/12/2014

  • 9

    (VI)

    LIST OF FIGURES

    Figure Title

    1 Use Case Diagram

    2 Control Flow Diagram

    3 Sequence Diagram

    4 Implementation Snapshots

  • 10

    (VII)

    LIST OF TABLES

    Table Title

    1 Risk Analysis

    2 Testing Plan

    3 Testing Required

    4 Test Cases

  • 11

    Chapter 1:Introduction

    1.1 General Introduction

    "Kids that can't even talk will walk up to a TV screen and try to swipe it like an iPad or

    an iPhone."

    What is the extent of technology use in primary-aged children?

    Primary-age children are connected, mobile and social. We see the evidence of this every day

    with our own eyes – children appear to be going online younger and younger, with the rapid

    uptake (and almost hypnotic appeal) of tablets and other touch screen devices. But anecdotal

    evidence is also supported by research findings.

    The vast majority (95 per cent) of eight to 11 year olds had accessed the internet ‘in the

    last four weeks’, with almost all having accessed the internet at some point in their lives.

    Thirty-seven per cent of eight to nine year olds and 51 per cent of 10 to 11 year olds have

    – at some time – accessed the internet via a handheld mobile device.

    While the majority in this age group accesses the internet at home, increasing numbers are

    using technology at school and at a friends’ house, away from direct parental supervision.

    The most popular activities include playing games, private messaging, posting comments and

    posting their own status updates. In other words, they ‘like’, they post, and they share just the

    same as their older counterparts. And they value it, very much. In fact, the proportion of eight to

    nine year olds who rated the internet as ‘very important’ had doubled since 2009.

  • 12

    What are the main issues arising from high internet usage?

    Around one fifth of eight to 13 year olds reported seeing or experiencing something on the

    internet in the last year that bothered them. Also, we saw a slight rise in the number of children

    aged eight to nine years reporting that they had been cyberbullied (up from one per cent in 2009

    to four per cent in 2012). Around 10 per cent of 10 to 11 year olds and 17 per cent of 12 to 13

    year olds also reported that they had been cyberbullied.

    What do parents need to be aware of?

    Parents need to talk to their children about staying safe as soon as they start becoming

    active in the online world.

    They need to monitor children’s time online.

    They need to find out what is the child up to online.

    Parents need to model the kind of positive online behavior they would like their children

    to use.

  • 13

    1.2 Current Problem

    40% of children access the internet from mobile phones and the rate of usage increases as

    children get older. Frequency of use is extremely high in India, with 18% accessing the mobile

    internet more than 11 times per day and over a third of children accessing it more than six times a

    day. Overall, 7% of children use their mobile as the main device to access the internet. However,

    a high proportion of children with smartphones use them as their primary access to the internet,

    with 56% in Japan, 42% in India and 41% in Paraguay.

    Use of social networking services and microblogging via mobile phones by children is not yet

    mainstream. Overall, 29% of child mobile phone users’ access social networking and

    microblogging sites using their phones (Figure 5-1-1). Egypt has the highest proportion with

    47%, while Japan, Paraguay and India have rates of 21%, 17% and 14% respectively. The overall

    proportion of parents who use their mobile phones to access such sites is only 12% (Figure 5-1-

    1). In each country children surpass their parents: 30% of parents in Egypt use their phones to

    reach these sites, with 9% in Japan, 4% in Paraguay and 3% in India. Moreover there is no

    correlation between parents’ and children’s use of social networking and microblogging sites,

    indicating that parental use does not influence children’s use of such sites.

    As penetration rates of smartphones, tablet PCs, and other devices for internet access increase, the

    number of children using mobile phones and accessing the internet will rise. This brings many

    opportunities, but giving children the means to protect themselves from any risks that arise.

    Agreements or rules about children’s use of mobile phones are not made in all families, and even

    where they are made, they are not always followed.

  • 14

    1.3 Proposed Solution

    The proposed solution includes making an application to monitor children and their daily online

    activities. The application will keep a list of activities that the children performed during the day

    and send the report to their respective parents/guardians.

    It's frightening how easy it is for children to stumble upon inappropriate content, whether they're

    using your phone for just a few minutes or their own device. While the latest versions of Android

    and iOS includes app restriction features and marketplace filtering, that's not enough for many

    parents. This is where child monitoring system steps in, allowing parents to monitor their child’s

    daily activities, his contact details, monitor calls, SMS and Internet activity.

    Just as we prepare our kids for life in the real world, we should prepare them for life in the online

    world.

    Features:

    Fetching Contacts

    Fetching SMS

    Fetching browser information

    Fetching messaging details

    Creating Log File

    Sending mail through SMTP

  • 15

    1.4 Novelty/Benefits

    Around one fifth of eight to 13 year olds reported seeing or experiencing something on the

    internet in the last year that bothered them. Also, we saw a slight rise in the number of children

    aged eight to nine years reporting that they had been cyberbullied (up from one per cent in 2009

    to four per cent in 2012). Around 10 per cent of 10 to 11 year olds and 17 per cent of 12 to 13

    year olds also reported that they had been cyberbullied.

    Also rules about children’s use of mobile phones are not made in all families, and even where

    they are made, they are not always followed.

    The child monitoring system will make logs of child contacts, child browsing history, messages

    and call history. The application will run in the background of the mobile and will not be easily

    detectable by the child. After the end of the day the log file will be send to the parent mobile

    using SMTP.

    The parents can then check the log file and see if the child was cyber bullied or was involved in

    any non-desirable activity.

  • 16

    Chapter 2: Background Study

    2.1 Literature Survey

    2.1.1Paper 1

    Title: Multi-platform Strategies, Approaches and Challenges for developing Mobile applications

    Authors: Parag Gokhale, Sachchidanand Singh, Business Analytics Division

    IBM Software Lab, Pune, India

    Year of Publication: 2014

    Publishing details: International Conference on Circuits, Systems, Communication and

    Information Technology Applications (CSCITA)

    Weblink:

    http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6839274&url=http%3A%2F%2Fieeexplo

    re.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6839274

    Summary:

    The three choices for developing mobile applications are Native, Web, and Hybrid apps. All the

    major mobile operating systems (iOS, Android, Windows, etc.) provide a Software Development

    Kit (SDK) to develop Native apps using respective, proprietary programming interface. Native

    apps provide the best possible user experience since it can utilize all of the operating system

    features.

    The native application development offers the ultimate user experience and performance for

    mobile applications, the trade-off is often a fragmented set of development tools and multiple

    http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6839274&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6839274http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6839274&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6839274

  • 17

    versions of an application to serve the same user need – because different versions must be made

    for each type of device or operating system.

    Hybrid apps attempts to bridge the gap between the Native and the Web apps. It uses the power

    of web delivery and the finesse of Mobile user experience. User interface looks and feels like

    Native apps and has access to device features like

    Camera and GPS which are not available to pure Web apps.

    There are two deployment options for hybrid apps on mobile.

    First is Local Hybrid Application which wraps HTML and JavaScript rendering in a manner

    similar to the structure of a native application. The communication with its server typically uses

    REST APIs[10].

    Second is Server Hybrid Application which, on the other hand a web application uses built-in

    browser and the server may detect the client to be a hand-held device and adjust form-factor for

    its response[10].

  • 18

    2.1.2 Paper 2

    Title: Security Testing in Android Networks – A Practical Case Study

    Authors: Ray Hunt (Adjunct Associate Professor, University of South Australia, Adelaide,

    Australia)

    Year of publication: 2013

    Publishing details: ICON 2013

    Web link: http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6781950

    Summary:

    This paper talks about different vulnerabilities in an android mobile. Vulnerabilities like data

    leakage and file stealing. Before making an android app ourselves we should be aware of the

    security flaws of the android operating system. Attacks in Bluetooth environment by the way of

    the bluemaho and bluediving exploits are talked about which focus on traffic injection, spoofing,

    sniffing, unauthorized access and DOS attacks. Then, an exploit named android file stealer was

    demonstrated in which by just entering the url of the website a file gets downloaded and uploads

    them to the attacker server. Oddly enough this glitch was not present until android 4.1. Also,

    there is an app store malware and image stealer, which disguises itself as a weather application

    and uses GPS of the mobile but actually searches for images in the memory in the background.

    Lastly, the Spambot engine. Once the app is started it runs correctly and displays various

    “Quotes” which can be read. However, this app has some hidden malware and while the quotes

    are being read, the malware examines the victim’s contact list and establishes a spambot such that

    every person on the contact list is now spammed.

    http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6781950

  • 19

    2.1.3 Paper 3

    Title: A Review of Computer forensic &Logging System

    Authors: Mayank Saxena, Nikhil Kumar Singh, Satyendra Singh Thakur, Parmalik Kumar

    Department of Computer Science and Engineering Department of Computer Science and

    Engineering Patel College of science & Technology Bhopal, M.P, INDIA.

    Year of Publication: 2013

    Publishing details: International Journal of Advanced Research in Computer Science and

    Software Engineering

    Weblink: http://www.ijarcsse.com/docs/papers/january2012/V2I1023.pdf

    Summary

    Computer forensics use the science of forensics to hunt a crime scene for evidence of what

    happened, by whom it happened, and who did what to whom. In the case of computer forensics,

    the crime scene is the machine that was hacked, the victim is the entity to which the computer

    belongs, and the hacker is the criminal.

    Log files are considerable sources for determining the health status of a system and used to

    capture the events happened within a computer system and networks. Many logs within an

    association contain records associated with computer security which are generated by many

    sources, including operating systems on servers, workstations, networking equipment and other

    security software’s, such as antivirus software, firewalls, intrusion detection and prevention

    systems and many other applications. In Cyber forensic, log files are like the black box on an

    http://www.ijarcsse.com/docs/papers/january2012/V2I1023.pdf

  • 20

    airplane that records the events occurred within an organization’s system and networks. Logs are

    composed of log entries that play a very important role in evidence gathering and each entry

    contains information related to a specific event that has occurred within a system or a network.

    Multiple Log Sources –

    Logs can be found on many hosts throughout the organization that should be required to conduct

    log management throughout the organization.

    Heterogeneous Log Content –

    Log file capture certain pieces of information in each entry, such as client and server IP

    addresses, ports, date and time etc.

    Inconsistent Timestamps-

    Usually every application who generates logs uses the local timestamps i.e. the timestamps of the

    internal clock. If the host’s clock is not synchronized or inaccurate, then log file analysis is more

    difficult, especially when the environment has multiple hosts.

    Multiple Log Formats-

    Many of the log source types use different formats for their logs, such as comma-separated or tab

    separated text files, databases, syslog, Simple Network Management Protocol (SNMP),

    Extensible Markup Language (XML), and binary files.

    Log Generation-

    The first tier contains the hosts that generate the log data. Some hosts run logging client

    applications or services that make their log data available through networks to log servers in the

    second tier.

    Log Analysis and Storage-

    The second tier is composed of one or more log servers that receive log data or copies of log data

    from the hosts in the first tier.

  • 21

    Log Monitoring-

    The third tier contains consoles that may be used to monitor and review log data and the results of

    automated analysis. Log monitoring consoles can also be used to generate reports.

  • 22

    2.1.4 Paper 4

    Title: Effective Risk Communication for Android Apps

    Authors: Christopher S. Gates, Jing Chen, Ninghui Li, Senior Member, IEEE, and Robert W.

    Proctor

    Year of Publication: 2013

    Publishing details: 5th International Conference on security and Social Networking 2013

    Weblink:

    http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=6684532&refinements%3D42919

    44246%26matchBoolean%3Dtrue%26queryText%3Dandroid+application+installation

    Summary:

    The ubiquitous usage of these mobile devices poses new privacy and security threats. Our entire

    digital lives are often stored on the devices, which contain contact lists,email messages,

    passwords, and access to files stored locally and in the cloud. Information security and privacy

    are issues for users of all types of electronic devices. With regard to smartphones, users are more

    concerned with privacy on their phones than on computers, and they especially worry about the

    threat of malicious apps.However,although people are shown the permissions an app requests

    before it is installed, they do not understand them well.

    Users make many decisions that affect the overall state ofsecurity of any system with which they

    interact. For security and privacy, most of these decisions relate to the risk to which the

    individual or system is exposed. Consequently,improving security decisions by users involves

    taking into consideration factors that influence a user’s risk perception and decision making

    The Android system’s in-place defense against malware consists of two parts: sandboxing each

    app, and warning the user about the permissions that the app is requesting.Specifically, each app

    runs with a separate user ID,as a separate process in a virtual machine of its own, and by default

    http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=6684532&refinements%3D4291944246%26matchBoolean%3Dtrue%26queryText%3Dandroid+application+installationhttp://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=6684532&refinements%3D4291944246%26matchBoolean%3Dtrue%26queryText%3Dandroid+application+installation

  • 23

    does not have the ability to carry out actions or access resources which might have an adverse

    effect on the system or on other apps without requesting permission to do so from the user..

    The risk communication mechanism for permissions relies on the assumption that a user

    understands and makes an informed decision when presented with a list of permissions requested

    by an app. For most permissions, risks must be inferred because they are not explicitly stated in

    the description . When browsing a specific app from the Google Play website, a user is able to see

    details about the app via a series of tabs at the top of the page.

  • 24

    2.1.5 Paper 5

    Title: Machine Learning for Android Malware Detection Using Permission and API Calls

    Authors: Naser Peiravian and Xingquan Zhu

    Year of Publication: 2013

    Publishing details: 2013 IEEE 25th International Conference on Tools with Artificial

    Intelligence

    Weblink:

    http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6735264&url=http%3A%2F%2Fieeexplo

    re.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6735264

    Summary:

    The Google Android mobile phone platform is one of the most anticipated smartphone operating

    systems on the market. The open source Android platform allows developers

    to take full advantage of the mobile operation system. malware applications commonly use

    following three types of penetration techniques for installation, activation,

    and running on the Android system.

    1.Repackaging

    This approach normally starts from popular legitimate Apps and misuse them as malware.The

    developers normally download popular Apps, disassemble them, add their own malicious codes,

    and then re-assemble and upload the new App to official or alternative markets.

    2.Updating

    This technique is difficult to detect. In this technique the developer needs to include an update

    component that will download malicious code at runtime.

    3. Downloading

    http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6735264&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6735264http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6735264&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6735264

  • 25

    This is the traditional attack technique, malware developer need enticing users to download

    interesting and attractive Apps,indulging them in downloaded more and more of these kind of

    apps.

    APK: Android Application Package file. Each Androidapplication is compiled and packaged in a

    single file thatincludes all of the application code (.dex files), resources,assets, and manifest file.

    Android Security Approach-Android security model highly relies on permission-based

    mechanism. There are about 130 permissions that governaccess to different resources. An

    Android application requires several permissions to work. Google also categorizes Android

    permissions into four threat level:-

    Normal Permission,Dangerous Permission,Signature Permission,System Permission.

    Android Permission Settings

    Every Android application package (APK) has an Android-Manifest.xml file in its root directory.

    Manifest file declares which permissions the application must have in order to access protected

    parts of the API and interact with other applications.

    Android API Calls

    The Android platform provides a framework API that Apps can use to interact with the

    underlying Android system. most Apps use a large number of APIs, it motivates us to use API

    calls of each application as feature to characterize and differentiate malware from benign Apps.

  • 26

    2.1.6 Paper 6

    Title: Studying the Effectiveness of Android Application Permissions Requests

    Authors: Kevin Benton, L. Jean Camp, Vaibhav Garg

    Year of Publication: 2013

    Publishing details: 5th International Conference on security and Social Networking 2013

    Weblink:

    http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6529497&url=http%3A%2F%2Fieeexplo

    re.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6529497

    Summary:

    Due to the prevalence of privacy-invasive spyware and malware in traditional computing

    environments, newer platforms have shifted towards a permissions-based model Under this,

    applications must explicitly request access to classes of sensitive information such as location,

    contacts, etc. These requests should clearly indicate the types of sensitive information accessible

    to an application.

    Many traditional software vendors would only describe information collection in the end-user

    license agreements (EULA) . Additionally, more malicious vendors would simply omit this

    activity from the EULA, so even a full analysis of the EULA would not protect the user from data

    theft.

    1. The Broken State of EULAs and Privacy Notices

    Users often make security decisions based on prior peer behaviors but, then an application’s

    perceived popularity should impact installation decisions more than EULAs and privacy

    policies.In summary, the free-form EULAs and privacy policies in use today are ineffective at

    signaling the privacy implications of installing a piece of software (or using a website) to the

    majority of users.

  • 27

    2. Permission Based Applications

    The default permissions completely sandbox the application so it cannot read any

    of the user’s data, access device peripherals (e.g. GPS), or send information over the network. In

    order to perform any of these tasks, the application declares upon installation its intent to access

    these items. The platform then prompts the user to grant or deny the permissions.

    The Android Market interface may need to be modified to stress permissions or make them

    easier to understand for users.

  • 28

    2.1.7 Paper 7

    Title: Considering Context Events in Event-Based Testing of Mobile Applications

    Authors: Domenico Amalfitano, Anna Rita Fasolino, Porfirio Tramontana, Nicola Amatucci

    Year of Publication: 2013

    Publishing details: IEEE Sixth International Conference on Software Testing, Verification and

    Validation Workshops

    Weblink:

    http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6571621&url=http://ieeexplore.ieee.org/ie

    l7/6570842/6571592/06571621.pdf?arnumber=6571621

    Summary:

    Context awareness of mobile apps yields several new challenges for mobile app testing too, since

    an app should be tested in any environment and under any contextual input . However, a

    considerable part of mobile app testing literature omits to consider the context-awareness issue,

    rather focuses on specific mobile problems such as testing in variable network conditions ,

    security testing , performance testing , or GUI testing .

    The user can be considered as a part of the context of an app , in event-based testing the

    application behaviour will have to be checked in response to several types of context event, such

    as:

    User events produced through the GUI;

    Events coming from the external environment and sensed by device sensors (such as

    temperature, pressure, GPS, geomagnetic field sensor, etc.);

    Events generated by the device hardware platform (such as battery and other external

    peripheral port, like USB, headphone, network receiver/sender, etc.);

    Events typical of mobile phones (such as the arrival of a phone call or a SMS message);

    Events like the arrival of an e-mail or socialnetworks notifications, that are related to the

    factthat modern mobile phones are more and moreInternet connected.

  • 29

    To solve the problem of dynamic recognition of the context event classes which the app is able to

    sense and react, we adopted two different solutions. Indeed, the set of context events that the app

    is able to sense and react to includes two distinct subsets. The former subset includes events that

    can be sensed by listeners and managed by the relative handlers defined by the running

    component itself. This set can be deduced by Java reflection techniques,since Android apps

    usually dynamically declare listeners at run-time and code static analysis would not suffice.

    Thelatter subset includes events that may be managed by other app components and notified by

    means of Intent Messages. This set can be obtained by means of static analysis of the Android

    Manifest xml file of the application by searching for intent-filter tags reporting the set of Intent

    Messages to which any component of the application is sensible.

    The more the app uses data from the context, the more the improvement becomes relevant.

  • 30

    2.1.8 Paper 8

    Title: Hack Android Application and Defence

    Authors: Xudong Wu, Xin Li

    Year of Publication: 2013

    Publishing details: 3rd International Conference on Computer Science and Network Technology

    Weblink:

    http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=6967202&queryText%3DAndroi

    d+Application

    Summary:

    Android is an operating system which is based on Linux and is open source, which is mainly used

    for smart mobile devices, such as smart phones and pads.

    Malware usually pretends some interesting application to allure uses to install it. After it is

    installed and started, it will steal user’s personal information and leak it to remote destination for

    evil purpose, and some malware will start paid service while the user not knows. Other’s attack

    methodsincluding utilizing the vulnerability of Android’s authorizationmanagement to promote

    malware’s permission to do evil activities and so on.

    Android software hierarchy including several layers.Despite hardware layers, from top to down

    there are:

    Operating system layer, including linux kernel and drive.

    Variables libraries and Android runtime environment layer, equal to middleware layer.

    Application Framework layer provides APIs for application developers.

    Application layer.

    AndroidManifest.xml in root directory, used to declare its permissions which is needed by

    this application.

    http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=6967202&queryText%3DAndroid+Applicationhttp://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=6967202&queryText%3DAndroid+Application

  • 31

    Classes.dex and user defined native library, which is the application’s execute file.

    Classes.dex stores Dalvik byte code.

    Res directory in root directory, which stores application’s UI settings.

    METE-INF directory in root directory, which is used to store the application releaser’s

    public key andapplication digital signature.

    Dex file is composed by three parts: header part, indexpart and data part. Through header part

    we can know the index location and number and the start address of data.

    1.Static Method

    In this method the application’s execute files,that’s dex and/or apk files. The changing will

    happen before the installation or after the installation. Before the installation,we can change the

    package file:apk file; after installtion we must change the corresponding dex file in the directory

    dalvik cache which is in the target machine.

    2. Dynamic Method

    This method will change the memory mapped dex file while the application is running. In

    Android system, the instruction set of Dalvik can not change the application execute code.

    3.Protection Method

    A common method to protect this kind of attack is to to confuse the apk file to make it hard locate

    the attack point. If it can’t find the attack point then no effective attack will be happened.

  • 32

    2.2 Result of Literature Survey

    2.2.1 Cost

    Native apps often cost more to develop and distribute because of the distinct language and tooling

    ecosystems, which require more investment in developer skills if you need to develop for more

    than one platform. However, cost is dependent on many other factors as well, so native apps

    won’t be the most expensive option in every case. Building an excellent mobile web app also

    requires a high degree of developer expertise, so no matter which type of app you build, quality

    will always be expensive.

    2.2.2 Code Reusability/Portability

    Perhaps the biggest weakness of native apps is their lack of portability to other platforms. The

    appeal of web apps is that you can have one codebase and run it on any major mobile platform.

    The appeal of hybrid apps is similar, because you are able to reuse a large amount of code for

    each platform. However, web apps aren’t 100% portable. Newer web standards aren’t always

    supported by the browsers on every device, so even web developers have to worry

    about compatibility issues. It should also be noted that native app web views are not the same as

    device browsers, and therefore have their own fragmentation issues.

    2.2.3 Device Access

    Although web apps can access some basic mobile device APIs, like the GPS for geolocation apps,

    they still have very limited hardware access. They don’t have support for Digital Rights

    Management (DRM), which is needed for many multimedia services, they can’t harness

    http://mobilehtml5.org/

  • 33

    background processing, and they can’t use secure storage outside of applications. There are some

    new standards currently being drafted by the W3C that will give web apps a few more

    capabilities for accessing device APIs, but for the next few years, hybrid apps and native apps

    will provide significantly more access to device APIs. Hybrid app frameworks have made a lot of

    progress getting access to most of the low level features, like the gyroscope and accelerometer.

    2.2.4 UI Consistency

    Mobile web UI frameworks help web and hybrid apps build native-looking UI components, but

    differences still remain. The frameworks also have to stay up to date with major platform design

    updates like iOS 7. In iOS, a web or hybrid UI is especially apparent, because when UIWebView

    is used, the bitmap compositing does not happen in the hardware like it would for a native app.

    Subtle features like the bouncing effect at the bottom of a page on iOS can’t be completely

    recreated in JavaScript. That’s why the developers who built forecast.io (a web app that rivals

    native UX) recommend that you build an original UI for web apps, rather than trying to recreate

    the native UI and having your app look “wrong” to users.

    2.2.5 Distribution

    With app stores, native and hybrid apps are able to harness marketing tools such as rankings and

    featured placement all in a well-maintained system. Web apps, by contrast, don’t have to fulfill

    any app store requirements, and they are accessible through any compatible browser. The

    disadvantages for native and hybrid apps are the app store requirements and content restrictions.

    For web apps, the downsides are that you don’t get the marketing benefits of an app store. Web

    apps also have to be manually bookmarked if the user wants a shortcut on their homescreen.

    2.2.6 Performance

    Native code will always be the most straightforward path to the snappiest performance. Hybrid

    app performance can be strong, but will sometimes suffer depending on how the tools build code

    to interface with the native OS. Web apps can have strong performance as well, if you have

    skilled web developers and use modern standards like appcache. Web and hybrid performance

    will also improve as mobile browsers get faster JavaScript engines. Other things that can help

    mobile web performance include using WebKit’s overflow scrolling to create scrolling divs,

    using tools like FastClick to speed up hyperlinks, and only animating GPU-accelerated

    properties.

    http://blog.forecast.io/its-not-a-web-app-its-an-app-you-install-from-the-web/https://github.com/ftlabs/fastclick

  • 34

    2.2.7 Monetization

    For web apps, you can make money through advertisements, subscriptions, or an app store for

    web apps, though the vast majority of app downloads still happen in the native platform stores.

    Native and hybrid apps have more options for monetization, including in-app purchases,

    platform-native ads, and the app purchase itself. However, to be in the high-profile native app

    stores, you need to hand over a percentage of your app download revenue to the company that

    owns the store (usually around 30%). There is also an initial fee to develop for the platform and

    deploy on the app store.

  • 35

    Chapter 3: Analysis, Design and Modelling

    3.1 Requirement Specifications

    Use of social networking services and microblogging via mobile phones by children is not yet

    mainstream. Overall, 29% of child mobile phone users’ access social networking and

    microblogging sites using their phones (Figure 5-1-1). Egypt has the highest proportion with

    47%, while Japan, Paraguay and India have rates of 21%, 17% and 14% respectively. The overall

    proportion of parents who use their mobile phones to access such sites is only 12% (Figure 5-1-

    1). In each country children surpass their parents: 30% of parents in Egypt use their phones to

    reach these sites, with 9% in Japan, 4% in Paraguay and 3% in India. Moreover there is no

    correlation between parents’ and children’s use of social networking and microblogging sites,

    indicating that parental use does not influence children’s use of such sites.

    As penetration rates of smartphones, tablet PCs, and other devices for internet access increase, the

    number of children using mobile phones and accessing the internet will rise. This brings many

    opportunities, but giving children the means to protect themselves from any risks that arise.

    Agreements or rules about children’s use of mobile phones are not made in all families, and even

    where they are made, they are not always followed.

  • 36

    3.2 Functional requirements and Non Functional requirements

    Functional Requirements:

    1. Fetching Contacts

    The contacts from the child mobile will be fetched and updated on a daily basis in the

    log file.

    2. Fetching SMS

    The daily SMS from the child mobile will be fetched and updated in the log file on a

    daily basis.

    3. Fetching browser information

    All the browsing history of the child will be retrieved in the log file that he or she

    visits.

    4. Fetching messaging details

    The messaging applications that the child uses on his or her mobile, the messages will

    be retrieved from those applications and added to the log file.

    5. Creating Log File

    The log file will be created in the mobile in a hidden locations in a loop of folders so

    that it is not easily detectable.

    6. Sending mail through SMTP

    After the end of the day the log file will be sent in the mail through SMTP.

  • 37

    Non Functional Requirements:

    1. SCREEN RESOLUTION & SCREEN FORM FACTORS

    If you design your app for only low resolution screens, one of two things will happen if a

    user runs it on a high res screen phone – either the high res phone will not apply automatic

    pixel doubling in which case, your app will occupy a tiny area of the screen on the high

    res phone, or the high res phone will apply pixel doubling in which case your app’s UI

    might look odd in places where images and fonts are unnaturally large.

    2. BATTERY USAGE

    On mobile devices, the battery is a scarce and valuable resource. On a mobile phone in

    particular, the battery should remain maximally available for the phone application i.e. for

    making and receiving phone calls. Your application may therefore fall by the wayside if it

    drains too much battery. The definition of what constitutes ‘too much’ may vary

    depending on the nature of the application and the hardware capabilities of the platform it

    is running on.

    3. INTERRUPTS, NOTIFICATIONS & MULTI-TASKING

    When a phone call, SMS or some type of notification (such as a calendar notification)

    arrives, your mobile device will usually inform your application of this event. If the user

    chooses to respond to the event, the OS may either background your application or, in

    case of non-multi-tasking OS, simply terminate your application. In each case, the OS will

    usually give your application a chance to respond to the pause, background or termination

    event by invoking a handler method that you should implement.

  • 38

    3.3 Design Documentation

    3.3.1 Use Case Diagram

  • 39

    3.3.2 Control Flow Diagram

  • 40

    3.3.3 Sequence Diagrams

  • 41

    3.4 Risk Analysis and Mitigation Plan

    1 2 3 4 5 6 7 8 9

    Risk

    Id

    Description

    of Risk

    Risk

    Area

    Probability

    (P)

    Impact(I) RE

    (P*I)

    Risk

    Selected for

    mitigation

    on (Y/N)

    Mitigation

    plan if yes

    Contingency

    plan if any.

    1 The mail sent through

    SMTP can

    be retrieved in between.

    0.3 H(5) 1.5 Yes The mail will be sent in

    encrypted

    form to the parent so that

    it is not

    retrievable by the hacker.

    2 APIs to

    share data

    from some apps may

    not be

    available.

    0.6 M(3) 1.8 Yes There are

    some

    applications with which

    messages can

    be retrieved. We will use

    those

    applications

    to monitor the child.

    3 The mobile

    phone may switch off

    due to

    battery

    shortage.

    0.4 M(3) 1.2 Yes Whenever the

    mobile is switched on,

    the

    application

    will check the time and send

    the mail at

    that moment.

    4 Probability

    of user

    uninstalling

    the

    0.1 H(5) 0.5 Yes The

    application

    will run in the

    background

  • 42

    application and the name

    of the application

    will be such

    that the child

    will not be able to know

    that its

    monitoring him/her.

    5 The mail

    sent from

    the mobile may be

    visible in

    the inbox of the user’s

    mobile only.

    0.6 H(5) 3.0 Yes The mail sent

    will be from a

    main gmail account

    through

    SMTP and they will not

    be visible in

    user’s mobile.

  • 43

    Chapter 4 : Implementation and Testing

    4.1 Implementation Details and Issues

    4.1.1 First Phase Implementation

  • 44

  • 45

    4.1.2 Final Phase Implementation

    Enter Email-Id

    Testing

  • 46

    Enter the no. of hours you want the email to be recieved

  • 47

    4.2 Testing

    4.2.1 Testing Plan

    Name Responsibilities

    Anantdeep Singh Fetch Contact Details Fetch Browser Details

    Fetch Call Logs

    Fetch Social Chat Application Details

    Fetch Mail Details

    Research Work

    Mridul Gupta Research Work Creation of Log file

    User Interface

    Auto boot feature

    Testing

    Rishabh Mehra Research Work Testing

    Risk Analysis

    Send E-Mail to parents via SMTP

    Test Environment

    Software Items

    Windows Operating System

    Eclipse

    Mail

    Lint Testing Tool

    Quadrant Testing Tool

    Hardware Items

    Core i3 processor

    4 GB RAM

    Virtualization was enabled for intel atom HAX

  • 48

    4.2.2 Component decomposition and type of testing required

    Type of Test Will Test Be performed?

    Comments Software Component

    Requirements Testing Yes Tested if all the functional and non-functional requirements are met.

    Unit Testing Yes Each module is tested independently for errors, so that no problems occur during the final phase.

    Integration Testing

    Performance Testing Yes Test of responsiveness and stability under various workload.

    Lint tool

    Stress Testing Yes It is tested if the application performs under load or not.

    Android 4.3,Android 4.4.4,Android 4.0.2

    Compliance Testing Yes It is tested if the files are reaching the user’s mailbox on time or not.

    Load Testing No The application is meant to be used by a single user at a time only.

    Volume Testing Yes Carried volume testing on 4 devices with different size of data.

  • 49

    S. No. List Various Components (modules) that require testing

    Type of testing required

    Technique for writing test cases

    1 Email Validation Unit Testing Black Box Testing

    2 Internet Speed Unit Testing Black Box Testing

    3 Android Compatibility Unit Testing Black Box Testing

    4

    5

    1. Email Validation

    Test Case id Input Expected Output Status

    1 Anant Incorrect email id Pass

    2 [email protected] Approved Pass

    3 Rish.gmail.com Incorrect email id Pass

    4 anant@gmailcom Incorrect email id Pass

    5 [email protected] Approved Pass

    6 [email protected] Approved Pass

    7 Rishanab#gmail.com Incorrect Email id Pass

    8 Rightorwrong67*^mail.com Incorrect Email id Pass

    9 Pray345%ymail.com Incorrect Email id Pass

    10 [email protected] Approved Pass

    2. Internet Speed

    Test Case id Input Expected Output Status

    1 50 KBps Mail Sent Pass

    2 30 KBps Mail Sent in some time Pass

    3 20 KBps Mail Sent in some time Pass

    4 3G Mail Sent Pass

    5 2G Mail Sent Pass

    3. Android Compatibility

    Test Case id Input Expected Output Status

    1 Android 2.3.4 Not Running Pass

    2 Android 3.0 Not Running Pass

    3 Android 4.0.1 Running Pass

    4 Android 4.4 Running Pass

    mailto:[email protected]:[email protected]:[email protected]:[email protected]

  • 50

    Lint Error Checking

  • 51

    Battery Power Test:

    1. Normal use test: Start on a full battery and use the application for 6-12 hours and measure

    the battery level at the end of each ½ or 1 hour. You may use an automated testing tool to

    do this so as to keep the test running for the required time interval. This test will tell you

    how quickly your application drains the battery when in ‘normal’ use, with all the

    foreground and background features of the application running normally.

    2. Idle run test: Turn off the screen lock and power saver modes on the device. Then start on

    a full battery and keep the application running on its main, home or dashboard screen as

    appropriate, and measure the battery level at ½ or 1 hour intervals. This test will measure

    the battery drain due to such things as intentional or unintentional automatic screen

    refreshes, and due to the background threads or services running in your application.

    3. Screen lock test: Perform test (2) again but with the device screen in locked mode. This

    will allow you to test if your application is consuming any CPU and/or network resources

    (and hence the battery) when it’s not viewable to the user. In this case, to avoid

    unnecessary battery drain, you should pause / stop any kind of screen activity such as

    automatic screen refreshes and also pause / stop background thread or services in this

    mode.

    4.2.3 Limitations of the solution

    Google doesn’t save its mail database on the mobile phone itself. So, it was impossible for

    us to fetch the database of Gmail in our application.

    The application slowed down a couple of times and hanged. The reason behind it is still

    unknown but we are working on it.

    The interface of the log files is not very readable. We are working towards providing the

    customer with a better view in the log file.

  • 52

    Chapter 5: Findings and Conclusion

    5.1 Findings

    With the increase in hacking attempts on Gmail, google is also increasing its security features in

    all of its products. As for instance, we found during our research that google doesn’t save its

    mail database on the mobile phone itself. So, it was impossible for us to fetch the database of

    gmail in our application.

    5.2 Conclusion

    We created an application which fetched the database from different applications in the mobile.

    For example:-

    1. The call details from the target mobile are fetched. In this the caller id, duration of the

    call, the type of the call (incoming or outgoing) and frequency of call is added in the log

    file.

    2. The contact list of the target mobile is also fetched.

    3. The message history, date and time of message of the target mobile is added in the log

    file.

    4. The browsing history of the mobile is also fetched and added to the log file.

    5. Chat details from the database of Social chat apps are also fetched.

    6. These details are then mailed attached with log files to the email of the user.

    7. The application is divided in two parts, pro and basic versions. In basic versions some

    limited functionalities are provided and in pro all the functionalities are available.

  • 53

    5.3 Future Work

    Adding to the conclusion, we are working towards building a better interface of the application

    with enhanced data mining techniques to show a filtered view of the log files to the parent.

    As for example the browsing history will be categorized in different domains like Media, Movies,

    Education, Bad Content, etc.

    We are still looking for better ways to make the application install on other phones without

    letting the user know that the application being install on his phone.

    Eg . Hiding the application with a useful software. Then the application will run on background.

  • 54

    References

    1. ALICE TRUONG (5 December 2013) THIS POPULAR FLASHLIGHT APP HAS BEEN

    SECRETLY SHARING YOUR LOCATION AND DEVICE ID, Available at:

    http://www.fastcompany.com/3023042/fast-feed/this-popular-flashlight-app-has-been-

    secretly-your-sharing-location-and-device-id (Accessed: 19th December 2014).

    2. Android () Improving Your Code with lint, Available at:

    http://developer.android.com/tools/debugging/improving-w-lint.html (Accessed: 21st

    December 2014).

    3. Christopher S. Gates, Jing Chen, Ninghui Li, Senior Member, IEEE, and Robert W.

    Proctor (2013) Effective Risk Communication for Android Apps, 5th International

    Conference on security and Social Networking 2013: IEEE.

    4. DAILY MAIL REPORTER ( 2 December 2011) Revealed: The 'secret' app installed on

    millions of mobile phones that records your keystrokes, your browsing and reads your

    messages Read more: http://www.dailymail.co.uk/sciencetech/article-2068225/Secret-

    app-installed-millions-Android-phones-reads-messages.html#ixzz3NHuzIT2X Follow us:

    @MailOnline on Twitter | DailyMail on Facebook, Available at:

    http://www.dailymail.co.uk/sciencetech/article-2068225/Secret-app-installed-millions-

    Android-phones-reads-messages.html (Accessed: 19th December 2014).

    5. Domenico Amalfitano, Anna Rita Fasolino, Porfirio Tramontana, Nicola Amatucci (2013)

    Considering Context Events in Event-Based Testing of Mobile Applications, IEEE Sixth

    International Conference on Software Testing, Verification and Validation Workshops:

    IEEE.

  • 55

    6. Kevin Benton, L. Jean Camp, Vaibhav Garg (2013) Studying the Effectiveness of Android

    Application Permissions Requests, 5th International Conference on security and Social

    Networking 2013: IEEE.

    7. Lisa Phifer (18th March 2011) Top 10 Android Security Risks, Available at:

    http://www.esecurityplanet.com/views/article.php/3928646/Top-10-Android-Security-

    Risks.htm (Accessed: 20th December 2014).

    8. Mayank Saxena, Nikhil Kumar Singh, Satyendra Singh Thakur, Parmalik Kumar

    Department of Computer Science and Engineering Department of Computer Science and

    Engineering Patel College of science & Technology Bhopal, M.P, INDIA. (2013) A

    Review of Computer forensic & Logging System, International Journal of Advanced

    Research in Computer Science and Software Engineering: IJAR.

    9. Naser Peiravian and Xingquan Zhu (2013) Machine Learning for Android Malware

    Detection Using Permission and API Calls, 2013 IEEE 25th International Conference on

    Tools with Artificial Intelligence: IEEE.

    10. Parag Gokhale, Sachchidanand Singh, Business Analytics Division IBM Software Lab,

    Pune, India (2014) Multi-platform Strategies, Approaches and Challenges for developing

    Mobile applications, International Conference on Circuits, Systems, Communication and

    Information Technology Applications (CSCITA): IEEE.

    11. Ray Hunt (Adjunct Associate Professor, University of South Australia, Adelaide,

    Australia) (2013) Security Testing in Android Networks – A Practical Case Study,

    ICON 2013: IEEE.

    12. Xudong Wu, Xin Li (2013) Hack Android Application and Defence, 3rd International

    Conference on Computer Science and Network Technology : IEEE.

  • 56

    13. Shubham Mittal (17th February 2014) Android Application Security Testing Guide,

    Available at: http://resources.infosecinstitute.com/android-application-security-testing-

    guide-part-1/ (Accessed: 20th December 2014).

    14. http://mashable.com/ () 38% of Children Under 2 Use Mobile Media, Study

    Says,Available at: http://mashable.com/2013/10/28/children-under-2-mobile-media-

    study/(Accessed: 30th september 2014).

    15. https://play.google.com () Quadrant Standard Edition, Available

    at:https://play.google.com/store/apps/details?id=com.aurorasoftworks.quadrant.ui.standa

    rd&hl=en (Accessed: 25th December 2014).

    16. http://developer.android.com/ () Improving Your Code with lint, Available

    at:http://developer.android.com/tools/debugging/improving-w-lint.html (Accessed: 25th

    December 2014).

  • 57

    Appendices

    Project Plan as Gant Chart

    Activities Aug Sept Oct Nov Dec

    Project Research

    Functional and Design

    Specifications

    Development Starts

    Prototype

    Testing

    Final Documentation

    Details of practice with new tool/technology

    Android:

    Android is a mobile operating system (OS) based on the Linux kernel and currently developed

    by Google. With a user interface based on direct manipulation, Android is designed primarily

    for touchscreen mobile devices such as smartphones and tablet computers, with specialized user

    interfaces for televisions (Android TV), cars (Android Auto), and wrist watches (Android Wear).

    The OS uses touch inputs that loosely correspond to real-world actions, like swiping, tapping,

    pinching, and reverse pinching to manipulate on-screen objects, and a virtual keyboard. Despite

    being primarily designed for touchscreen input, it also has been used in game consoles, digital

    cameras, regular PCs (e.g. the HP Slate 21) and other electronics.

    http://en.wikipedia.org/wiki/Mobile_operating_systemhttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Googlehttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/Direct_manipulation_interfacehttp://en.wikipedia.org/wiki/Touchscreenhttp://en.wikipedia.org/wiki/Smartphonehttp://en.wikipedia.org/wiki/Tablet_computerhttp://en.wikipedia.org/wiki/Android_TVhttp://en.wikipedia.org/wiki/Android_Autohttp://en.wikipedia.org/wiki/Android_Wearhttp://en.wikipedia.org/wiki/Virtual_keyboardhttp://en.wikipedia.org/wiki/Video_game_consolehttp://en.wikipedia.org/wiki/Digital_camerahttp://en.wikipedia.org/wiki/Digital_camera

  • 58

    Android is the most widely used mobile OS and, as of 2013, the highest selling OS overall.

    Android devices sell more than Windows, iOS, and Mac OS X devices combined, with sales in

    2012, 2013 and 2014 close to the installed base of all PCs. As of July 2013 the Google Play store

    has had over 1 million Android apps published, and over 50 billion apps downloaded. A

    developer survey conducted in April–May 2013 found that 71% of mobile developers develop for

    Android. At Google I/O 2014, the company revealed that there were over 1 billion active monthly

    Android users, up from 538 million in June 2013.

    Eclipse:

    In computer programming, Eclipse is an integrated development environment (IDE). It contains a

    base workspace and an extensible plug-in system for customizing the environment. Written

    mostly inJava, Eclipse can be used to develop applications. By means of various plug-ins, Eclipse

    may also be used to develop applications in other programming

    languages: Ada, ABAP, C, C++, COBOL, Fortran,Haskell, JavaScript, Lasso, Natural, Perl, PHP,

    Prolog, Python, R, Ruby (including Ruby on Railsframework), Scala, Clojure, Groovy, Scheme,

    and Erlang. It can also be used to develop packages for the software Mathematica. Development

    environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT

    for C/C++ and Eclipse PDT for PHP, among others.

    The initial codebase originated from IBM VisualAge. The Eclipse software development

    kit (SDK), which includes the Java development tools, is meant for Java developers. Users can

    extend its abilities by installing plug-ins written for the Eclipse Platform, such as development

    toolkits for other programming languages, and can write and contribute their own plug-in

    modules.

    Lint:

    The Android SDK provides a code scanning tool called lint that can help you to easily identify

    and correct problems with the structural quality of your code, without having to execute the app

    or write any test cases. Each problem detected by the tool is reported with a description message

    and a severity level, so that you can quickly prioritize the critical improvements that need to be

    made. You can also configure a problem's severity level to ignore issues that are not relevant for

    http://en.wikipedia.org/wiki/Usage_share_of_operating_systemshttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/IOShttp://en.wikipedia.org/wiki/Mac_OS_Xhttp://en.wikipedia.org/wiki/Google_Playhttp://en.wikipedia.org/wiki/Google_I/Ohttp://en.wikipedia.org/wiki/Computer_programminghttp://en.wikipedia.org/wiki/Integrated_development_environmenthttp://en.wikipedia.org/wiki/Workspacehttp://en.wikipedia.org/wiki/Plug-in_(computing)http://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Ada_(programming_language)http://en.wikipedia.org/wiki/ABAPhttp://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/COBOLhttp://en.wikipedia.org/wiki/Fortranhttp://en.wikipedia.org/wiki/Haskell_(programming_language)http://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/Lasso_(programming_language)http://en.wikipedia.org/wiki/NATURALhttp://en.wikipedia.org/wiki/Perlhttp://en.wikipedia.org/wiki/PHPhttp://en.wikipedia.org/wiki/Prologhttp://en.wikipedia.org/wiki/Python_(programming_language)http://en.wikipedia.org/wiki/R_(programming_language)http://en.wikipedia.org/wiki/Ruby_(programming_language)http://en.wikipedia.org/wiki/Ruby_on_Railshttp://en.wikipedia.org/wiki/Scala_(programming_language)http://en.wikipedia.org/wiki/Clojurehttp://en.wikipedia.org/wiki/Groovy_(programming_language)http://en.wikipedia.org/wiki/Scheme_(programming_language)http://en.wikipedia.org/wiki/Erlang_(programming_language)http://en.wikipedia.org/wiki/Mathematicahttp://en.wikipedia.org/wiki/Codebasehttp://en.wikipedia.org/wiki/IBM_VisualAgehttp://en.wikipedia.org/wiki/Software_development_kithttp://en.wikipedia.org/wiki/Software_development_kit

  • 59

    your project, or raise the severity level. The tool has a command-line interface, so you can easily

    integrate it into your automated testing process.

    The lint tool checks your Android project source files for potential bugs and optimization

    improvements for correctness, security, performance, usability, accessibility, and

    internationalization. You can run lint from the command-line or from the Eclipse environment.

    Figure 1 shows how the lint tool processes the application source files.

    Bio-Data (Resume)

    MRIDUL GUPTA

    D-67 Anand Vihar Delhi-110092

  • 60

    +91 9013164932 [email protected]

    CAREER OBJECTIVE

    To work hard with full determination and dedication to achieve organizational goals as well as personal growth.

    EDUCATION

    Jaypee Institute of Information Technology, Noida 2011-2015

    B.Tech, Computer Science

    Completed 6 semesters with a CGPA of 6.9 (equivalent to 74%)

    Vivekanand School 2011

    Central Board Of Secondary Education (CBSE)

    Class 12th 84.40 percent

    Vivekanand School 2009

    Central Board Of Secondary Education (CBSE)

    Class 10th 89.33 percent

    Project Work/Experience

    I-VISION Web Designing Workshop Oct 2012 – Nov 2012

    Learnt HTML, CSS3 and JavaScript.

    Microsoft AppFest 2013 February 2013

    Student, HCL Career Development Centre Jun 2013 – Jul 2013

    I completed a 6 Weeks Training Course in Core Java.

    Ethical Hacking & Cyber Forensic Workshop Organized by Bytecode Cyber Securities January 2014

    Two days’ workshop about all the basics on Ethical Hacking.

    Minor Project in Software Engineering and Web Technologies Developed a social networking website based on books.

    Minor Project in Information Security

    Developed a dual password email account technique with added layer of email encryption.

    Industrial Training at CMC Limited Jun 2014 – Jul 2014

    I completed a 6 Weeks Training in Advanced Java.

  • 61

    Personal Profile

    Name Mridul Gupta

    Mother’s Name Mrs. Mithlesh Gupta

    Date Of Birth 19th August, 1993

    Languages Known English, Hindi

    Permanent Address D-67 Anand Vihar Delhi-110092

    Hobbies Reading Books and Listening to Music

    Traits

    • I am a trustworthy person.

    • I am a critical thinker and an active listener.

    • I am a result oriented person and fully dedicated to my work.

    • I am an adventurous person.

    Computer Skills

    Languages: • C • C++ • Core Java • HTML5/CSS3 • PHP • SQL

    Software Packages: • MS-Office (Word, Excel, PowerPoint) • Microsoft Visual Studio • Adobe Dreamweaver • Adobe Photoshop