Web Security, Wireless security and Internationalisation

Web Security

Signs that your site has been hacked

  1. Warnings and alerts from browsers: the browser will show the warning messages to the visitors. In Google Chrome, the background colour of the warning messages will be red and titled as a huge exclamation symbol following the problem type found on the website.
  2. Warnings from Google Search Console: if the website has connected with the Google Search Console, a warning message will be sent from Google when the website has been hacked. Also, the rankings in Google search will also be decreased dramatically. Google will flag “This site may be hacked/harm your computer” close to the search result of the website.
  3. Actions from hosting company: the hosting company of the website will disable the website, to ensure the potential risks will not spread to other websites on the same server. Besides, some outbound ports may be blocked by the company, such as 80, 443, 587 and 465.
  4. Reports from customers: the increasing number of reports from the customers who claim that their credit cards have been hacked and received the transactions detail but have no idea.
  5. Unfamiliar code snippets: some parts of code, especially those look strange, possibly are the snippets to redirect, steal passwords and other sensitive information of the website.
  6. Redirect to other sites: (continue to previous one) when trying to open the website, it redirects to other spam sites instead of the e-business homepage or the subpage supposed to show. Sometimes, no contents of the website are available to show, even the redirect ones.
  7. Unexpected error messages: the error logs appear some unexpected types of errors related to undefined offsets, deprecated functions, connection denied or other types of errors. 
  8. Unexpected ads & pop-up windows: Cross-site Scripting (XSS) or malicious code injection may result in the website visitors see unexpected spam advertisements and pop-up windows.
  9. Unexpected traffic spike: Spam-advertising, or ‘spamvertising’ results in a traffic spike, either traffic rise or drop; however, on a page that does not exist on the e-business website.
  10. Recent modification on source files: the hackers possibly have hacked the core files to run the malicious code and send spam emails. The last-modified time can be very recent.
  11. Slower speed: the hackers possibly are using the server resources if the speed of actions on the website becomes dramatically slow, specifically, for the pages of login and payment.
  12. Emails marked as SPAM: the hackers have sent many junk emails to a large number of people, and thus, the email address of e-business may be marked as SPAM in many email servers, which causes the future of the email sent from this address will be categorised to SPAM folder.
  13. New and unknown admin users: the new users have been created recently in administration, database, CMS and FTP. The creation of the new users was not under internal permissions.
  14. Alert from external security services: the security services, such as Wordfence, if you have subscribed one or more, will alert you the suspicious risks once it detects them. This can shorten the period between infected and discovery, and thus decrease the loss.

I am taking an example as my personal website “yuhaosun.com” as an example, which is not a popular and large-size site like an international e-business website. However, I still can receive the attacks globally, and some people are always trying to log in to my admin panel. Whenever the security company has found suspicious risks on my website, I can receive an email with the subject “[Wordfence Alert] Problems found on yuhaosun.com”. Additionally, a weekly summary report including “Top 10 Failed Logins”, “Recently Blocked Attacks” and “Recently Modified Files” will be sent to me. All of this can make my website more secure, and I can give further suitable actions immediately and accordingly.

Major types of attacks & damage

  1. Denial-of-Service (DoS) & Distributed Danial-of-Service (DDoS) attacks: common types of DoS include IP fragmentation, TCP SYN flood attack, DNS spoofing, Smurf attack, buffer overflows and Ping of death attack. A DoS attack will usually overwhelm the resources of the website system, and thus the website will be unresponsive to most of the service requests. Another resulting damage can be making the website offline, and other kinds of attacks can be successfully launched. DDoS makes traffic flooding originate many different sources, which means it will be tougher to stop the attack by blocking a single source.
  2. SQL injection attacks: SQL injection is a frequent type of attack. An SQL injection attack will read the sensitive information of the website, insert/update/delete the data in databases and execute administrative operations. SQL is one of type of input validation attacks; other kinds include buffer overflow attack, Cross-site scripting (XSS) and canonicalisation attack.
  3. Man-in-the-Middle (MitM) attacks: MitM attack can happen when a connection is being made between a visitor and the website, making it looks like a regular exchange. A MitM attack will read the private and confidential information on the website, including username & passwords, credit cards detail and passwords. This information usually is precious to the website; thus, MitM attacks can cause a financial disaster to e-business sites.
  4. Insider attacks: it is hard to distinguish and recognise an insider attack from the internal. Typically, the sensitive information will be accessed by a current or former employee and overused this access. The types of insider attack include malicious insider, careless insider and a mole, which can cause the different degree of damage result.
  5. Malware attack (Virus): a virus may infect the computer of the website visitors if s/he opens the application containing the virus. Two examples of the virus are “WannaCry” and “Clop Ransomware”, both will encrypt the files on the infected computer until payment has been made to the hackers. The Clop ransomware will disable numerous security application on the Windows computer before the process of encrypting.
  6. Malware attack (Worm): a worm usually spread via email attachments. It can send a copy to every contact of the infected email address without human intervention. It also can overload the email servers and cause the DoS attacks on the network. An example of a worm is “BuluBebek”, it spreads via the flash media drives. The only damage of this worm is the files or folders on the infected computer cannot be opened. The removal of the worm can successfully solve the problem.
  7. Malware attack (Trojan horse): a Trojan horse hides in useful applications. It can construct a back door for attackers to access private information and listen to the website. An example of a Trojan horse is “MEMZ Trojan”. It will move the mouse cursor randomly without the intervention of users, open the Google webpage and search with the words like “how 2 remove a virus” automatically and open the applications randomly such as a calculator.

In addition, system and software bugs and misconfigurations, password crackers, Intercepted Transmissions attack, XSS attack and Brute Force attack are all possible types of attacks.

Wireless Security

Weak Authentication & Encryption

Unlike the strong authentication and encryption on most computers or laptops, the limited memory capabilities of mobile devices typically make that the mobile devices have a weaker authentication and encryption than computers. For example, in mobile payment (especially WeChat Pay or Alipay), the users make a transaction only need to scan their fingerprints, or scan their faces, or input the passwords. Compared to mobile payments, payment on computers is more complicated. For credit card users, they are required to input any details relevant to the credit card precisely, including the card number, cardholder name, expiry date, Card Security Code (CSC). For debit card users, some of the banks require users to download a kind of security certificate and install it on the computers to ensure the high security of the environment. A well-known fact is, the safety performance of payment decreases with increasing convenience. Besides, a fingerprint even can be reproduced by the residual impression of fingerprints on the surface of mobile devices. It sounds like “the password of your phone is on your phone”. For the devices lacking authentication (such as using simple unlock passwords or no passwords), the information in the devices can be elementary to access by others. However, professional says various wireless protocols are lack of authentication, at this stage.

Mobile devices are easy to lose and be stolen

Most of the mobile devices have the characteristics of small size and easy-to-take, i.e. portability. Therefore, this causes that the stolen or missing issues of mobile devices are frequent. If the mobile devices with quite a lot of personal and private information and the information have not been backed up, the data will be lost forever, and the confidential information can be leaked to some people with harmful purposes in the worst situation. The money in WeChat Wallet may be also stolen under this circumstance if the users did not set a password (or an easy one).

Untrustworthy Mobile Devices & Apps

Almost all mobile devices have installed some applications originally, which means there are some apps already on the phone before the users activate the devices. Some of the apps are indeed necessary to be installed on the devices so that the system can run successfully and smoothly. However, not all apps are essential, and even some of the apps may violate the rules issues by the local government (such as the CIA). This kind of apps always claim to execute task A, but task B/C/D has been performed, which is challenging to find out. The apps always ask for extra permissions. A classic example is, a mobile application targeted in providing worldwide news to users, but always accessing the photos in the gallery. A similar problem can be found in the using device itself, which means the internal system of the device is not trustworthy due to the insecure components. Compared to the apps above, this kind of issue is almost impossible to find out by users as its high level of the profession. Instead, the issue possibly can be prevented from the sources of device sellers.

Phishing SMS: Virus, Worms and Trojans

Malware attacks can happen in m-commerce environment. Some hackers may send phishing SMS to users which contains the virus URL. These SMS are often disguised as official institutions in a formal tone, making it difficult for users to distinguish between authenticity and fall into the trap. If users click the URL, the virus/worms/Trojans may be downloaded to their devices automatically. The malware potentially can extract the contacts of the device, read and send text messages, read the password saved on the device, and redirect the call. However, 70% of mobile users have a false sense of security which their devices can prevent themselves from malware attacks ideally without human intervention. In addition to SMS, a large number of unknown-sources QR codes can cause the same situation aforementioned. Some people may create fake QR codes with similar interfaces of WeChat Pay, and thus the users scan the QR code may lose their money of valuable information.

Internationalisation

Language

For international e-business, the most significant challenge is language. An interesting fact is the international e-business companies that have added the components of various languages result in more profits than those companies have only limited language services. Specifically, adding the components of various languages include, provide multiple language choices on their e-business website and can automatically change to a suitable language according to the current location of the customer, as well as provide various languages in the phone numbers of customer service centre. From the customer’s perspective, a website with multiple language choices can have a higher possibility to change from the viewers to buyers. Good examples can be Amazon and Apple.

However, to maintain an international e-business website with multiple languages is a time-consuming and finance-consuming assignment. Firstly, the homepage of the website and all subpages of it should be well translated to other targeted languages. This means the owners of e-business websites should maintain multiple different sites and thus, cause more workload than before. Secondly, it can be deemed as a tough task to synchronise the contents among the different sites. It is also tricky to well translate the original words to another language, which involves the local culture difference and the level of the local economy. Thirdly and most significantly, the financial investment on this e-business project from owners will be increased exponentially. Taking a simple calculation here, more expenses include the upgraded server fee, the fee for extra language-professional staff, and potential new synchronising system fees, etc., which will be not a small number.

Exchange Rates

The second significant challenge is exchange rates. As an international e-business merchant, it is essential to exchange the home currency to other different currencies and relevant financial information, for those potential customers who come from the countries other than the company located country. Additionally, from the customer’s perspective, they may prefer to directly see the price on the website shown with their home currency, instead of receiving the bill and realise how much they have cost or do the calculation themselves. The price can indirectly result in the final decisions of buying. As the merchants cannot provide a precise conversion, an approximate price display can be provided to customers. It is a significant question of how to reduce the loss of profits due to exchange rate conversion, which is relevant to the payment methods issue. In addition to exchange rates, different countries have different forms of weights, dates, measures and other information. For a British customer, it is easy to feel what size is it of 20 inches; however, it will confuse to Chinese customers (many Chinese do not use the unit “inch”).

Payment Methods

The third challenge is payment methods. In China, currently in 2020, the people prefer to use mobile payment, including Alipay, WeChat Pay, and some kinds of NFC Pay (Huawei Pay, Mi Pay, Samsung Pay, etc.). However, in some other countries, the people there prefer to pay with a credit card, issued by Visa, MasterCard, American Express, or other institutions. In addition to mobile payment and credit cards, pay with a debit card is also a preference for some people. However, it is not on the case that all of the debit cards can be paid online, as online payment needs to be activated separately, and some people have never done it. Besides, some infrequent payment methods include bank transfer and cheque.

If an e-business would like to fit into the globalisation, the payment methods should also be various. The website should prepare the types of payment methods as many as possible to satisfy the requirements of all customers. To ideally take the plunges of different payment method components into the website, it should be finance-consuming due to the necessary correspondences with relevant institutions. For example, the staff should contact MasterCard or Visa for credit card interfaces on websites.

Global Trade Management, Logistics & Risks

The ultimate challenge, but also non-negligible, is global trade management, logistics and risks. For an international e-business, it is mandatory to obey the rules and regulations, mainly issued by local governments and organisations. In an adverse circumstance, inappropriate actions may result in the block and obstacles by some local governments. Additionally, the fees for post-orders, including shipping charges and tariffs, should also be well considered and analysed by software. For example, logistics software for shipping products across borders are needed.

Some risks potentially threaten international e-business. Firstly, telecommunication frauds happened frequently in specific regions and countries, which can cause risks to these merchants. Secondly, the lack of an address verification system is also a sign to cause the potential risk. Commonly, the customers typed wrongly of their address; however, it will cause a financial disaster if the merchants find that when the delivery company could not find the given address. It is essential to construct a suitable address verification system for all places e-business involved. Thirdly, the personal credits of the customers. For local Chinese customers, it may be possible to adopt Zhima Credits of Alipay to check how is the credits of a customer. However, it is hard for merchants to do the same thing in all other regions and countries; and also, not sure whether they have such a thing.

Mental Health under Social Distancing

It is still hard to imagine how fast did this coronavirus spread globally. Since the first case was reported almost three months ago, there are at least 0.85 million cases reported in the world so far. Including the coronavirus outbreak, we did witness a lot of events that we might consider impossible, did happen. This was an illustration of the butterfly effect.

Many countries and governments have requested the residents to stay at home in order to achieve the goal of social distancing. Back to two months ago, which was the period of time that the number of cases was climbing up in China, social distancing had been taken effect in Shenzhen. I cannot tell you precisely how successful it is to implement this in the infectious disease area, but I felt more or less that I wasn’t so good mentally those days.

My dad is a Respiratory Physician with 28 years of experience, and my mom is a nurse in Rehabilitation area. This emergency made them very busy. I can clearly remember that I spent the first day of Spring Festival alone at my home. Never tried, and it didn’t feel so cool.

My mood started to explode when the first case was found in the hospital which my parents’ work on. Soon later, the community close to my house found another case. I started to worry about if my parents could keep them safe in the hospital. They didn’t have enough masks, protective goggles and protective suit and this made me more anxious.

Too much anxiety caused insomnia. Those days I slept at 4 am and got up at 1 pm. I hoped to see them earlier after I got up. I hoped they were both safe. Even they always came back to home at late night that period of time. Till the middle of February, the situation in Shenzhen got better. My parents finally could take a day off after the busy work.

Guess what? My mom started to become my mom again – she was a bit nagging! Though I understood she witnessed many cases with her own eyes and she worried about my physical health, I still felt tired about this. I locked myself in the room, cooked for myself and didn’t talk to anyone.

I talked to my BFF often but via WeChat. Those days, I didn’t meet any friend in real life (actually yesterday I visited my friend who was the first friend I met after Jan 20). This was suffering, right? In late February, I could feel that I was depressed in the home.

I started to seek for some interesting tasks to achieve. The first target was to go to the top 100 in a game ranking, Identity V. Frankly speaking, it took me at least two weeks to achieve the goal but I made it! Most significantly, I felt relaxed.

Playing games always will cause a negative effect physically, indeed. So I watched Mavericks’ matches when I didn’t want to play video games. The things turned to be extremely serious when the NBA announced all matches would pause at this stage. I couldn’t play basketball in the court because all courts were still locked at that time.

Luckily, my new semester started and commenced online from late February. Then I turned my concentration to my studies from then on. I have to admit distant learning is helpful but low efficiency, at least for me. I set 40 minutes was a timeslot and there would be a 20 minutes rest between two timeslots. This dramatically improved my studying situation.

Till now, the situation of coronavirus of Shenzhen goes better, even though some imported cases still make people worry about. However, I found a system to keep myself mental health under the coronavirus outbreak. I am sure I will do it better when another emergency happens next time (I wish there will not).

Just want to share my story with all of you. Some of you may hold a negative perspective on this coronavirus outbreak. But I would like to say, those people standing on the front-lines are taking the risks to sacrifice themselves to save our planet, why can’t we make some efforts to collaborate to beat the virus? If you feel not good mentally, talk to someone. If there is no someone with you, go find some interesting things to do. If there is nothing attracting you … there should be something attractive for you, I promise!

Stay home, keep distance, stay strong. And our healthy planet will return in a moment.

The article was originally published on Linkedin, on April 1, 2020 by Yuhao Sun.

Reflection on International Relations

Introduction

International Relations is a branch of political science. The core research fields of International Relations includes political phenomena, for instance, integration and cooperation, international organizations, war and peace. Furthermore, International Relations are also relevant to various other fields, including economics, law, sociology, psychology, philosophy and geography – International Relations can be deemed as a cross-border subject (Klabbers, 2015). The topics of International Relation can be Globalization – which is the current and global trend, Nuclear Crises, Territorial Disputes, Nationalism and Terrorism, and, most importantly, human rights (Klabbers, 2015). In this course, the sovereign countries and the international organizations are the subjects of international relations research. This essay will be about International Relations and Modern Politics, Foreign Policy and British Politics, Conflict & Force and US political structure, Law & International Organization and Russian Politics, Trade and Chinese Politics.

International Relations and Modern Politics

International Relations involves the reality including people, choices, current development and the current situation. It is not an abstract matter, it is concrete – actors involved in the world are connected together and form a relationship. Also, according to the theory of “the three world views”, there are 3 possible views of how to intend International Relations: Liberal, Conservative and Revolutionary (stands for evolution, reservation and overthrow of ‘status quo’). The potential research topics range from the use of diplomacy, internal & external policies and the management of the ‘status quo’. In addition to this, there are also four levels of analysis which are Global Level, Interstate Level, Domestic Level and Individual Level (Klabbers, 2015). Four major actors – UK, USA, Russia and China will be discussed later on as representatives in the world.

Foreign Policy and British Politics

On international affairs, the government adopts certain foreign policies to guide their actions, in which foreign policy development is also a process of decision making. When talking about decision making, rational actor model, organizational process model and government bargaining or bureaucratic model will be considered (Kissinger, 2019). In order to generate the appropriate foreign policy, the officers of the state need to collect the precise and correct information. Additionally, their decisions should not be influenced by biases – affective bias and cognitive bias – and just driven by politics. The different political ideology (such as Capitalism, Communism, Socialism and Liberalism) is also a factor to cause different foreign policies.

Taking UK as a constitutional monarchy representative, the UK parliament takes an important role in UK politics. Although being the queen the Head of State, with the reason that the UK is a democratic country, therefore the Head of an elected government is the prime minister (Evans and Menon, 2017).

Conflict, Force and US political structure

Conflict is also a common global phenomenon, which is a difference in preferred outcomes in a bargaining situation. Either humanitarian reasons, financial impact, destruction of culture or the allocation of resources to inappropriate areas can cause conflicts. In addition, there are some types of conflicts, including territorial border disputes and economic conflicts over trade or natural resources. In history, especially for the past century, wars have been a main way to resolve conflicts. However, nowadays, compared to ‘hot wars’ based on weapons, ‘cold wars’ are preferred by most states. For instance, economic sanctions and political pressure (Haggard and Kaufman, 2018).

As an example of constitution-based federal republic, the constitution of the USA defines three main principles, which are ‘Inherent rights of anyone living in the United States’, ‘Government by the people’ and the fact that constitutional principles are applied by three main branches: Executive Branch, Legislative Branch and Judicial Branch (Gilpin, 2016). The constitution tries its best to provide as much democracy as possible to people.

Law, International Organization and Russian Politics

Some international organizations are essential in order to maintain the order of the global activities. One of the most influential organizations in the world are the United Nations (the UN), which confronts common challenges, manage shared possibilities while work with other 193 member states jointly (Klabbers, 2015). Another example of a supranational organization, is the European Union (the EU). Through customs and treaties, the international law can be formed from the norms of behaviors as the initial state.

As an example of a federation, Russian politics structure changed a lot during the past 30 years, after the collapse of the Soviet Union. After that, on the autumn of 1993, the president of Russian at that time dissolved the parliament and then forced democratic elections (Biryukov and Sergeyev, 2018). Currently, Russia consists of 21 republics, that form a federation, that takes Moscow as the capital. Also, Russia has several important parties, such as United Russia, Communist Party of the Russian Federation, A Just Russia and Liberal Democratic Party (Biryukov and Sergeyev, 2018).

Trade and Chinese Politics

It is essential for states to develop trade links, which can take various benefits including but not limiting to get strengthen ties with key partners, provide a generation of income and surplus and provide work opportunities and a better quality of life for the state’s population (Gilpin, 2016). By dividing international trade theory into two main parts, Mercantilism and Liberalism, the behavior in the trade will be different. Additionally, in a trade, it is not easy to find a balance point that will benefit both actors. For Mercantilism, each’s own interests in trade will be protected by the states at the expense of others, it will concern more with the relative distribution; for Liberalism, states can benefit based on economic exchange by building norms, institutions and international organizations, meanwhile it will concern more with the joint benefits. Most importantly, by massive increasing trade and culture exchange, Globalization is also a significant process and phenomenon.

China is one of the few classical communist states in the world. Mainland China is currently governed by Chinese Communist Party, while Hong Kong and Macau enjoy of autonomy from China, in some degree. However, China is till considered as a single party socialist republic. From People’s Congress Members to National People’s Congress, through Regional People’s Congress, the levels of control and election in China are developed vividly (Li, 2016). It is also worth mentioning that the largest standing army globally is the People Liberation Army, in China.

Conclusion

From the lessons, the 3 week’s program, a lot of fundamental and trend topics in International Relations field had been discussed. We talked about the modern politics, foreign policy, conflicts, force, law, international organizations and trade. In addition to this, some major actors in the world were analyzed in detail: the United States, the United Kingdom, Russia and China. Overall, personally, it was a fruitful program.

Reference

Baylis, J., Smith, S., and Owens, P. (Eds.). (2017). The globalization of world politics: An introduction to international relations. Oxford University Press.

Biryukov, N. and Sergeyev, V. (2018). Russian Politics in Transition. Routledge.

Evans, G. and Menon, A. (2017). Brexit and British politics. John Wiley & Sons.

Gilpin, R. (2016). The political economy of international relations. Princeton University Press.

Haggard, S. and Kaufman, R. R. (Eds.). (2018). The politics of economic adjustment: international constraints, distributive conflicts and the state. Princeton University Press.

Kissinger, H. A. (2019). Nuclear weapons and foreign policy. Routledge.

Klabbers, J. (2015). An introduction to international organizations law. Cambridge University Press.

Li, C. (2016). Chinese politics in the Xi Jinping era: Reassessing collective leadership. Brookings Institution Press.

Whisper Shh, an Anonymous Message Board powered by WeChat Mini Program

The mini-program Whisper Shh instruction video, made and dubbed by Yuhao Sun

An anonymous message board powered by WeChat Mini Program named Whisper Shh is the project of our group. It aims to construct an anonymous platform for users to share their feelings with others without any concern. The university students and staff will be the target users. On our program, as an initial plan, the users are allowed to execute several functions, including Post Anonymous Messages, Custom Tags, Post a Picture, Filter Messages by Using Tags, Like & Comment to a Message, Private Chat, Report & Block a Message and Check “Me” page. However, Private Chat function has not been implemented due to the time limitation. Other than this, all functions can perform well currently. Due to the potential, unpredictable and tough problems brought by this novel platform, we, therefore, adopted the Spiral Model as our development approach – iterative working approach. For any problem occurred, we will work on it iteratively instead of only focusing it.

In my individual report, I demonstrated the whole process of our project, including the initial plan, the analysis of requirements and assumptions, system design, the detail of implementation, the approaches and the results of testing, the evaluation of our project and a discussion from a personal perspective. The report file contains 19 pages, which consist of 2 pages directory, 13 pages main body and 4 pages appendix (around 8000 words in total). If you would like to read the full document, please email Yuhao to request.

UI Generation Stage I, designed by Yuhao Sun by Axure, Main Page
UI Generation Stage I, designed by Yuhao Sun by Axure, Personal Info Page

For this project, I have been chosen as a team leader. Therefore I was responsible for some aspect of it. Other than my own part, I have contributed to delivering the presentation and creating the visual aids of the presentation (PowerPoint) with another teammate. To prepare it, I have gathered our ideas that came out during a few sessions of brainstorming, creating a simple guideline. I have found confrontation with my teammates illuminating, being useful to find mistakes and imperfections. Since I have had past experience presenting various projects, I have offered to give the final presentation in front of the class. Despite each member having his own tasks and work to do, we have collaborated together during every phase: for instance, me being the only responsible for the testing part. By using White-Box Testing and Black-Box Testing approaches, I have worked together with Front-End and Back-End Teams to test the program, as well as with coordinating some part of the project. In addition, I drew some tables and diagrams, other than recording the introduction video (the video at the top).

UI Generation Final, Main Page
UI Generation Final, Personal Info Page
UI Generation Final, Post Page

Testing is a process that consist in executing the implemented program in order to find potential errors. Several testing methods have been adopted here, including Black-Box Testing and White-Box Testing. Straightforwardly, the WeChat Mini Program will be tested from user’s perspective and developer’s perspective. Our project Whisper Shh is a WeChat Mini Program, and WeChat Mini Program Platform provides various interfaces for developers to use so that it improves the efficiency of the program. It also illustrates that most errors occurred in the program are found during Black-Box testing instead of White-Box Testing. However, the result of Black-Box testing is a good guide for tester to operate White-Box testing with the targets. There is one member in Testing Team, i.e., I am the only one testing member for this project.

Block-Box Testing, or also known as Behavioural Testing, is a software testing method in which the tester is not allowed to access the internal implementation, design or structure of the program. In Black-Box testing, all functional requirements will be tested. Besides, these tests can also be non-functional.

As its name, the software program for the tester is more similar to a black box from the tester’s perspective, or also from the user’s perspective – inside which one cannot see. Under this testing method, following categories of potential errors will be considered:

  • Missing or incorrect functions
  • Errors of interfaces
  • Behaviour or performance errors
  • Termination or initialization errors
  • Errors in external database access or data structures

In order to find as many of the potential errors above listed as possible, testing team will test the program from 6 directions under Black-Box testing, as follows:

  • Authorisation Testing
  • User-Interface Testing
  • Functional-Requirements Testing
  • Compatibility Testing
  • Accessibility Testing
  • Network Testing

Testing team will try their best to operate as many test cases above reported as possible to find eventual errors. The detailed test cases and corresponding results will be demonstrated according to teach testing direction illustrated above. Additionally, due to the different system performance between Android and iOS system, all tests results between two systems will be shown separately.

White-Box Testing, or also known as Open Box Testing, Transparent Box Testing, Code-Based Testing or Structural Testing, is a software testing method in which the tester will be aware of the internal implementation, design or structure of the program. In White-Box Testing, the structure of the program and its performance will be considered. As its name, the software program for the tester is more similar to a transparent box from the tester’s perspective, or also from the developer’s perspective – inside which one can fully see. In other words, for White-Box Testing, testing team will test beyond the user interface and into the nitty-gritty of a system. To simplify all above, we will test the program based on following levels:

  • Unit Testing
  • Integration Testing
  • System Testing

White-Box testing runs through the development of the program. Testing team works with development team to test the codes and find the potential bugs. We choose inputs, both legal (valid and invalid) and illegal inputs to exercise paths through the code and determine the appropriate outputs. If the outputs are against our expectation, we will find out where and why is going wrong.

According to the initial plan, the corresponding requirements are considered. During the development of the program, both on Front-End and Back-End, the testing has gone according to the plan. Based on the testing reports, the developers are able to correct the errors properly and improve the quality of the program dramatically. The deliverable of our project demonstrates that it meets the initial plan mostly. With the evaluation of our program, in the future, a strict-followed time plan and the suitable work distribution of group members will improve the project.

Email Yuhao to request the presentation PowerPoint,  the testing report, or the full individual report which all are designed/written by Yuhao Sun.

Language Translation, Deep Learning and Artificial Intelligence

Introduction

Artificial Intelligence, also widely known as ‘AI’, is intelligence executed by machines which take actions to achieve the prescribed goals to the maximum extent based on the perceived environment [1, 2]. The latest applications and products in many fields are increasingly practicing Artificial Intelligence (hereinafter referred to as AI). Deep learning, regarded as the latest AI technology, is also becoming widespread. This essay will illustrate the development of AI from the classical rule-based systems through to deep learning, the applications of deep learning used in AI, the language translation in deep learning and potential challenges of deep learning.

Development of AI

From the classical rule-based systems to deep learning, the core of AI, has been increasingly improving. From the early stage to the idea of ‘Artificial Intelligence’ established at a workshop at Dartmouth College in 1956, the scholars considered that the computers could be programmed to execute intelligent tasks, including to learn and to demonstrate any feature of intelligence precisely [3]. In the early 1970’s, in rule-based systems represented by the expert system, the probabilistic methods were early applied, followed by the more popular heuristic approaches developed later on [4]. The latter methods aforementioned, heuristic approaches in rule-based expert systems, drove the scholars to focus on the optimality of the system performance and the methods which are under uncertain situation increasingly [4, 5]. A significant feature of the expert systems at that time was the application of the production-rule architecture to actual diagnosis, which provided the flexible scheme as an ‘expert’ representative [4].

However, with the improvement of AI discipline, various scholars hold the view that the rule-based expert systems were insufficient for the development of AI, thus the concept of ‘deep learning’ came out – which allows the computational models that contain numerous processing layers to learn the data representation that is composed of multiple levels of abstraction [6]. Several cases reported that deep learning excels on discovering the complex structures in the data of high-dimensionality, and at the same time was making significant progress in overcoming the challenges caused by rule-based systems in AI [6]. Currently, deep learning is improving the fields dramatically including speech recognition, facial recognition, object detection, visual object recognition and many other domains. In addition to this, especially, deep learning contributes to natural language understanding, which includes but is not limited to topic classification and language translation [6]. Language translation in deep learning will be illustrated and evaluated later on in detail.

Applications of Deep Learning Used in AI

In the past several years, from computer visualization to natural language processing, deep learning has been widely used in AI discipline. One significant achievement of deep learning in computer visualization is real-time face capture and reenactment, which was demonstrated by a pioneer group at Stanford University in 2016 [7]. The system named Face2Face is able to capture the faces in original digital materials and take the new faces, which can be the face of user or prescribed stickers, as alternatives [7]. Currently, the technique is applied not only in some main streaming mobile applications, such as Instagram and Snapchat, but also used in film effects and 3-dimensional scene reconstruction [8]. Another important application in deep learning is the generation of natural language descriptions for a specific image and its regions [9]. The model has the ability to give some basic descriptions of the objects appearing in the image, such as a cup of coffee, a bottle of water, a tablet and even a person with his or her real name [9]. In addition to this, taking ‘a glass of water with ice and lemon’ as an example, it can process the complicated objects and give the corresponding and suitable descriptions [9]. Other than computer visualization and natural language processing, deep learning can predict the possibilities to happen of an event. Through the training of a deep neural network, the model can predict a potential upcoming earthquake [10]. Through a similar approach to this, it also can predict the future population of a region or a city, and even the election results of a country [11].

Multiple giant enterprises have been investing in deep learning for years, meanwhile more companies start to implement deep learning technology in their products. As a social media empire, Facebook, firstly practiced ‘Custom Audiences’ on their advertising fields in 2012 [12]. Straightforwardly saying, the algorithm implemented for ‘Facebook Custom Audiences’ named Lookalike enables to find presumed intriguing advertisements for target users [12]. The group of users aforementioned, then, is willing to explore the recommended products in the advertisement because it fits their interests to the maximum extent [12]. Additionally, the users of YouTube may be curious why the videos YouTube recommended to them were mostly intriguing for them. It is also because of the dramatic performance improvements brought by deep learning, which was applied on the recommendation algorithm of YouTube [13]. In summary, deep learning improves the user experience toward to the product, and the users will be attracted by more interesting contents so they will spend more time on their devices, and consequently, the product will find itself competitively stronger in the market, having the chance to be seen and used by a wider audiences; more importantly, macroscopically, deep learning will also increase the income of the company, as the example ‘Facebook Custom Audiences’ mentioned above – the major advantages that deep learning brings with it are leading more companies to invest into its research.

Language Translation in Deep Learning

In the language translation field, the involvement of deep learning improved the performance of machine translation. As pioneers, the group of Kyung Hyun Cho at New York University, they found an approach to construct a black box system, which aims to learn how to translate based on the training data, by using deep learning technique [14, 15]. This deep learning model used a parallel corpus to learn how to translate between two languages without human intervention [14, 15]. The approach, mentioned before, contains two core concepts behind – Recurrent Neural Networks (RNN) and Encodings [15]. RNN is an improved neural network, meaning that a previous state will be one of the inputs in the next calculation [15]. Taking ‘Automatic Correction’ function on virtual keyboards as an example, through RNN, the previous words in the memory will influence the next prediction. Based on the concept of RNN, RNN Encoder-Decoder, which is composed of two RNNs, came out. The former RNN is responsible for encoding the prescribed text to a vector representation with fixed-length, and the latter RNN will decode from vector representation to target language text – while it can be trained by a parallel corpus [15]. Compared to traditional statistical machine translation, this model brings the possibility to have different translation results based on the same texts at different time – it is not immutable and better suits the development of reality. More significantly, it does not have complex procedure to develop and to maintain, resulting that the expenses on hiring the ‘expensive’ linguists and programmers can be decreased.

The limitation of RNN Encoder-Decoder approach usually is that the performance of the approach depends on the amount of training data and the computing power invested in it [15]. However, with several years of development, the performance of the approach currently put it in the same league as traditional statistical machine translation system which has been developed for several decades [16]. Additionally, the approach may translate the words based on trends potentially but unnecessary actually. Under these circumstances, the translation with the older expression seems better. For example, a famous saying by a celebrity. Therefore, the modern deep learning or other machine learning approaches are possible to work with classical rule-based systems jointly – for those words which are better to keep the older expression, add them all into the rule-based systems. Ideally, to use the best system for each situation.

Potential Challenges of Deep Learning

Despite the fruitful results brought by deep learning research, there are still several challenges for deep learning to overcome. The first challenge is the lack of data so far for deep learning to train [17, 18]. Different from human brains, deep learning does not have the ability to learn abstract concepts based on clean definition in language description. Consequently, the performance of deep learning is positively correlated with the amount of training data. With the increasing training data examples, from thousands, millions to even billions, the performance of deep learning will improve dramatically. Secondly, deep learning is currently fragile under the unknown world, or non-highly-stable environment [17]. However, the real world is full of uncertainties. In various fields, including politics and business, the only stable phenomenon is that there are always changes. If deep learning is applied to predict the prices of stock now, it may happen the same result as Google predicted flu by deep learning – obtained the wrong prediction and crushed [17]. Thirdly, deep learning is not fully transparent at this stage [17]. As mentioned before in language translation, the latest approach needs to construct a black box system in neural networks. Therefore, it also demonstrates in another way that deep learning cannot be practiced in financial transactions, medical diagnosis and other fields which need to provide specific and precise processing details, until an optimal solution is found, otherwise it will very likely result in a catastrophe.

Conclusion

In conclusion on the demonstration and evaluation above, from classical rule-based systems to deep learning, AI improved tremendously over the past several decades. Although AI is not fully mature at the moment, the excellent performance on various industrial applications and products proved that AI has the potentiality to perform better – bringing many enterprises to invest in deep learning. Furthermore, through further analysis on language translation of deep leaning example, the appeal and possible limits of deep learning has been revealed. It is also hold to be possible to apply classical rule-based system and modern machine learning methods jointly so that the performance of AI may eventually reach its peak. Lastly the potential challenges of deep learning are illustrated, including the lack of training data and the characteristics of instability.

References

[1] Poole, D. L., Mackworth, A. K., & Goebel, R. (1998). Computational intelligence: a logical approach (Vol. 1). New York: Oxford University Press.

[2] Persson, S. (1964). An Introduction to Artificial Intelligence. Ekonomisk Tidskrift, (r 2), 88-112.

[3] Moor, J. (2006). The Dartmouth College artificial intelligence conference: The next fifty years. Ai Magazine27(4), 87-87.

[4] Horvitz, E. J., Breese, J. S., & Henrion, M. (1988). Decision theory in expert systems and artificial intelligence. International journal of approximate reasoning2(3), 247-302.

[5] Müller, V. C., & Bostrom, N. (2016). Future progress in artificial intelligence: A survey of expert opinion. In Fundamental issues of artificial intelligence (pp. 555-572). Springer, Cham.

[6] LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. nature521(7553), 436.

[7] Thies, J., Zollhofer, M., Stamminger, M., Theobalt, C., & Nießner, M. (2016). Face2face: Real-time face capture and reenactment of rgb videos. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 2387-2395).

[8] Zeng, A., Song, S., Nießner, M., Fisher, M., Xiao, J., & Funkhouser, T. (2017). 3dmatch: Learning local geometric descriptors from rgb-d reconstructions. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 1802-1811).

[9] Karpathy, A., & Fei-Fei, L. (2015). Deep visual-semantic alignments for generating image descriptions. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 3128-3137).

[10] DeVries, P. M., Thompson, T. B., & Meade, B. J. (2017). Enabling large‐scale viscoelastic calculations via neural network acceleration. Geophysical Research Letters44(6), 2662-2669.

[11] Gebru, T., Krause, J., Wang, Y., Chen, D., Deng, J., Aiden, E. L., & Fei-Fei, L. (2017). Using deep learning and Google Street View to estimate the demographic makeup of neighborhoods across the United States. Proceedings of the National Academy of Sciences114(50), 13108-13113.

[12] Liu, H., Pardoe, D., Liu, K., Thakur, M., Cao, F., & Li, C. (2016, August). Audience expansion for online social network advertising. In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (pp. 165-174). ACM.

[13] Covington, P., Adams, J., & Sargin, E. (2016, September). Deep neural networks for youtube recommendations. In Proceedings of the 10th ACM conference on recommender systems (pp. 191-198). ACM.

[14] Bahdanau, D., Cho, K., & Bengio, Y. (2014). Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:1409.0473.

[15] Cho, K., Van Merriënboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., & Bengio, Y. (2014). Learning phrase representations using RNN encoder-decoder for statistical machine translation. arXiv preprint arXiv:1406.1078.

[16] Wu, Y., Schuster, M., Chen, Z., Le, Q. V., Norouzi, M., Macherey, W., … & Klingner, J. (2016). Google’s neural machine translation system: Bridging the gap between human and machine translation. arXiv preprint arXiv:1609.08144.

[17] Marcus, G. (2018). Deep learning: A critical appraisal. arXiv preprint arXiv:1801.00631.

[18] Hinton, G. (2018). Deep learning—a technology with the potential to transform health care. Jama320(11), 1101-1102.

Evaluating Web Pages to the University of York

Introduction

The home page of the University of York is orderly, colorful and intriguing [1]. The report will demonstrate some basic information asked by task sheet and evaluate the website according to Shneiderman’s Eight Golden Rules, Nielsen’s Usability Heuristics and WCAG 2.0 correspondingly.

Basic Information

Through clicking several buttons from the home page of the University of York, the following information is available without using any search function.

Table 1 Some Basic Information and Access Method

Task Information Access Method
Name of the University University of York Official logo; the title bar
Vice-Chancellor Professor Koen Lamberts “About” of the menu bar
Term dates From academic year 2017/18 to 2025/26 for Undergraduate, Postgraduate Taught, Postgraduate Research and Previous Years The highlighted button “Term dates”; “Quick links” menu
Accommodation https://www.york.ac.uk/study/accommodation/ Under “Campus and city life” column

The University of York does have the Department of Computer Science. Under “BSc Computer Science” major, various intriguing and classical computer science courses will be offered, including but not limited to Mathematical Foundations of Computer Science & Introduction to Computer Architectures (Year 1), Principles of Programming Languages & Systems (Year 2) and Computer Vision & Machine Learning and Applications (Year 3). Additionally, the specifications of all courses are available via clicking the title of the subject. All other courses of all other majors related to computer science will be found through a similar section.

The library webpage of the University of York is similar to the library webpage of The University of Liverpool functionally, but different specifically. Both library webpages have essential functions, including but not limited to “Discover” and “Electronic Resources (databases, E-Journals)”. However, for the library webpage of the University of Liverpool, many user-friendly icons will improve the efficiency of using the website. For the library webpage of the University of York, it focuses on displaying more kinds of functions. Therefore, it is lack of visual icons, but more texts. This may decrease the efficiency of using the website greatly.

There are two search functions shown on the home page. One for a general search, another for specific courses search. By testing, most information above can be available directly with general search. Generally, the search function performs well. Other details will be illustrated following.

Evaluation with Shneiderman’s Eight Golden Rules

  • Strive for consistency [2]

The whole layout of the site is clear, and each section performs its own functions well. However, the menu bar and the corresponding subpages failed to follow the consistency. The first scenario is, when the user tries to click the “Study” block, however, the webpage with the title “Study at York” will be popped up. Apparently, two different titles will be easily misunderstood by users. The second scenario is, when “Business” block of the menu bar is clicked, the webpage shown as Figure 1.3 will be popped up. The layout, background color and even the menu bar of the subpage have a various difference compared with the home page.

Figure 1.1 The menu bar of the home page

Figure 1.2 The menu bar with clicking “Study” block

Figure 1.3 The menu bar with clicking “Business” block

  • Enable frequent users to use shortcuts

By testing, the basic shortcuts based on Windows system can be called.

  • Offer informative feedback

At the junior stage, most manageable options can give suitable responses to users.

  • Design dialog to yield closure

On the condition that users aim to download the documents from the website, there is no dialog popped up due to browser reasons. However, the users are still able to further customize in the bar shown as Figure 2.

Figure 2 The dialog of the downloading task

The search function in the university website uses “fuzzy search” technology. That is, it can return users the most similar keywords when the input of users cannot be found in the databases. In this case of Figure 2.1, given the original key words “tuicion fe” but aims to find information related to “tuition fee”. The system cannot find any information related to “tuicion fe”. However, it recommended the user to re-search with “tuition fee” – “Did you mean tuition fee?”. The search function did not return the results of “tuition fee” but gave an optimal recommendation to users.

Figure 2.1 The search results with “tuicion fe”

In another case with entering a wrong and random URL based on https://www.york.ac.uk/ such as Figure 2.2, the website reminds the user that shown as Figure 2.3. Additionally, it offers users to report the wrong link/potentially broken link to the system. Therefore, the website is able to offer simple error handling perfectly.

Figure 2.2 The wrong URL example

Figure 2.3 The corresponding page to the aforementioned URL

  • Permit easy reversal of actions

The home page offers users to use another search function to find a course directly in terms of different diploma degree. “Computer Science” was inserted into the search box in this case. After returning to this page from the newly loaded page, the insertion of “Computer Science” remained.

Figure 3 “Find a course” function

  • Support internal locus of control

The corresponding hyperlinks will change the color from the normal one to the lighter one when the cursor floats on the hyperlinks. There are no underlined or text sizes changes. As shown in the 5th principle, to the potentially wrong input of users, the system will return an optimal recommendation to the user instead of a direct correction.

  • Reduce short-term memory load

The suitable rate of texts and pictures creates a comfortable environment for users to visit the website. Not only it is intriguing for them to explore further related information, but it is easier for them to understand it instead of showing boring texts merely.

Figure 4 Mixed pictures and texts

Evaluation with Nielsen’s Usability Heuristics

According to the work of Nielsen’s and the facts, generally, the website does well in the following fields:

  • Visibility of system status [3]

The highlighted title of each webpage offers users a clear status of website location and what topic is showing on currently.

  • Match between system and the real world

The language which the website using is similar to plain English, or more user-friendly which oriented to prospective/current university students/staff.

  • Help users recognize, diagnose, and recover from errors
  • Aesthetic and minimalist design

From aesthetic perspective, the layout of the website is clear, and the color matching is suitable and optimal. Other than essential texts and helpful pictures to understand, normally there are no supernumerary texts. Every hypertext or subpage has its own corresponding function and different from each other.

  • User control and freedom
  • Recognition rather than recall

Most subpage will show the path from the home page to the current page on the top bar. It is easier for users to return the previous webpage whenever they want and need with one click.

Figure 5 Pathway

  • Flexibility and efficiency of use

For expert users, specifically are current students or staff, in this case, they may want to achieve more other functions related to personal information other than general introduction related to the university. Then it is a good way to go to the foot bar of the home page, then click the specific page for the specific groups of people, such as “current students” and “staff”. Inside of the webpage to “current students”, there are more functions for students to use, including but not limited to “campus email, university calendar, timetable”, which are for expert users but not for novices.

Figure 6.1 Entrance for expert users

Figure 6.2 The page for current students

However, the website fails to consider the following principles or is weak on:

  • Consistency and standards
  • Error prevention

In the “tuicion fe” scenario aforementioned, if search function can offer some frequent searched keywords in advance for users to choose instead of asking users to input, it may decrease the failure and problem. Additionally, this way greatly saves the time of users.

  • Help and documentation

Some documentations are needed to download frequently in order to achieve further specific information as shown in Figure 7. It is tough for users to search keywords to obtain the information but need to enter the right pathway and find the documentation area to download. This may decrease the efficiency of users.

Figure 7 Area to download

Evaluation with WCAG 2.0

  • Operable [4]

The user-friendly menu bar and other navigation bar help users to find the information they want. Most of the pictures on the website are benign, which build a comfortable environment for users. Additionally, all operations can be done with a keyboard and a mouse. It is also worth indicating that most operations can be executed by mouse with merely a click but can hardly be executed by keyboard (except input operations).

Figure 8.1 Suitable pictures adopted

However, the left menu bar of some subpages is unsuitable, specifically the text size is so small (even smaller than the text size of the main body) that users need some time to distinguish each block.

Figure 8.2 Unsuitable text size of the menu bar

  • Understandable

As proved aforementioned, for the search function, the website can return an optimal recommendation when the input of the users cannot be found in databases. It helps users correct mistakes. In addition, the plain English setting considers a general group of people to understand the content on the website. It will be better than the hypertext will show the basic information or brief introduction without popped up new subpage when the cursor floats on the corresponding hypertext.


References

[1] (2018, Apr. 29). University of York [Online]. Available: https://www.york.ac.uk/

[2] B. Shneiderman et al., Designing The User Interface: Strategies For Effective Human-Computer Interaction. Boston, Massachusetts: Pearson, 2017.

[3] (2018, May. 1). 10 Heuristics for User Interface Design: Article by Jakob Nielsen [Online]. Available: https://www.nngroup.com/articles/ten-usability-heuristics/

[4] (2018, May. 1). WCAG 2.0 at a Glance | Web Accessibility Initiative (WAI) | W3C [Online]. Available: https://www.w3.org/WAI/WCAG20/glance/Overview