We propose a log-based analysis tool for evaluating web application computer system. A feature of the tool is an integration software log with infrastructure log. Software engineers alone can resolve system faults in the tool, even if the faults are complicated by both software problems and infrastructure problems. The tool consists of 5 steps: preparation software, preparation infrastructure, collecting logs, replaying the log data, and tracing the log data. The tool was applied to a simple web application system in a small-scale
local area network. We confirmed usefulness of the tool when a software engineer detects faults of the system failures such as “404” and “no response” errors. In addition, the tool was partially applied to a real large-scale computer system with many web applications and large network environment. Using the replaying and the tracing in the tool, we found causes of a real authentication error. The causes were combined an infrastructure problem with a software problem. Even if the failure is caused by not only a software problem but also an infrastructure problem, we confirmed that software engineers distinguish between a software problem and an infrastructure problem using the tool.
Association Rule Mining Scheme for Software Failure AnalysisEditor IJMTER
The software execution process is tracked with event logs. The event logs are used to maintain the
execution process flow in a textual log file. The log file also manages the error values and their source of classes.
The error values are used to analyze the failure of the software. The data mining methods are used to evaluate the
quality and software failure rate analysis process. The text logs are processed and data values are extracted from
the data values. The data values are mined using the machine learning methods for failure analysis.
The service error, service complaints, interaction error and crash errors are maintained under the log files.
The events and their reactions are also maintained under the log files. Software termination and execution failures
are identified using the log details. The log file parsing process is applied to extract data from the logs. The
associations rule mining methods are used to analyze the log files for failure detection process. The system uses
the Weighted Association Rule Mining (WARM) scheme to fetch failure rate in the software execution flow. The
system improves the failure rate detection accuracy in WARM model.
Improvement of Software Maintenance and Reliability using Data Mining Techniquesijdmtaiir
Software is ubiquitous in our daily life. It brings us
great convenience and a big headache about software reliability
as well: Software is never bug-free, and software bugs keep
incurring monetary loss of even catastrophes. In the pursuit of
better reliability, software engineering researchers found that
huge amount of data in various forms can be collected from
software systems, and these data, when properly analyzed, can
help improve software reliability. Unfortunately, the huge
volume of complex data renders the analysis of simple
techniques incompetent; consequently, studies have been
resorting to data mining for more effective analysis. In the past
few years, we have witnessed many studies on mining for
software reliability reported in data mining as well as software
engineering forums. These studies either develop new or apply
existing data mining techniques to tackle reliability problems
from different angles. In order to keep data mining researchers
abreast of the latest development in this growing research area,
we propose this paper on data mining for software reliability.
In this paper, we will present a comprehensive overview of this
area, examine representative studies, and lay out challenges to
data mining researchers
An analysis of software aging in cloud environment IJECEIAES
Cloud computing is the environment in which several virtual machines (VM) run concurrently on physical machines. The cloud computing infrastructure hosts multiple cloud services that communicate with each other using the interfaces. During operation, the software systems accumulate errors or garbage that leads to system failure and other hazardous consequences. This status is called software aging. Software aging happens because of memory fragmentation, resource consumption in large scale and accumulation of numerical error. Software aging degrads the performance that may result in system failure. This happens because of premature resource exhaustion. The errors that cause software agings are of special types and target the response time and its environment. This issue is to be resolved only during run time as it occurs because of the dynamic nature of the problem. To alleviate the impact of software aging, software rejuvenation technique is being used. Rejuvenation process reboots the system or reinitiates the softwares. Software rejuvenation removes accumulated error conditions, frees up deadlocks and defragments operating system resources like memory. Software aging and rejuvenation has generated a lot of research interest recently. This work reviews some of the research works related to detection of software aging and identifies research gaps.
Testing desktop application police station information management systemSalam Shah
The police stations have adequate importance in the society to control the law and order situations of the country. In Pakistan, police stations manage criminal records and information manually. We have previously developed and improved a desktop application for the record keeping of the different registers of the police stations. The data of police stations is sensitive and that need to be handled within secured and fully functional software to avoid any unauthorized access. For the proper utilization of the newly developed software, it is necessary to test and analyze the system before deployment into the real environment. In this paper, we have performed the testing of an application. For this purpose, we have used Ranorex, automated testing tool for the functional and performance testing, and reported the results of test cases as pass or fail.
Abstract
Researchers in the field of software engineering, business process improvement and information engineering all want to drastically modernize software life-cycle processes and technologies to correct the problems and to improve the quality of software. Research goals have included ancillary issues, such as improving user services through conversion to new platforms and facilitating software processes by adopting automated tools. Automated tools for software development, understanding, maintenance, and documentation add to process maturity, leading to better quality and reliability of computer services and greater customer satisfaction. This paper focuses on critical issues of legacy program improvement. The program improvement needs the estimation of program from various perspectives. The paper highlights various elements of legacy program complexity which further can be taken in account for further program development.
Keywords: Legacy, Program, Software complexity, Code, Integration
An Extended Notation of FTA for Risk Assessment of Software-intensive Medical...Yoshio SAKAI
An extended notation of FTA for risk assessment of software-intensive medical devices
Yoshio Sakai, Seiko Shirasaka and Yasuharu Nishi
It is difficult to assess the risk of software-intensive medical devices. An extended notation of FTA recognizes the risk class before and after the risk control measure and the software in the system affects the top event of FTA.
You can see this content as 6-pages paper from IEEE Website.
Feature Analysis of Estimated Causes of Failures in Medical Device Software a...Yoshio SAKAI
Background/Objectives
<research>
•383 medical device software failures from 1983 to 1997 are analyzed in “FAILURE MODES IN MEDICAL DEVICE SOFTWARE:AN ANALYSIS OF 15 YEARS OF RECALL DATA” (DOLORES R. WALLACE1 and D. RICHARD KUHN, 2001)
•Medical devices are getting more and more relying on software.
<objectives>
•Analyze 86 medical device software failures in FY 2010 and identify the change of the trend of failure causes from the former analysis
•Confirm whether the International standard issued in 2006, IEC 62304 (Medical device software - Software life cycle processes), is effective to new failure causes or not.
Association Rule Mining Scheme for Software Failure AnalysisEditor IJMTER
The software execution process is tracked with event logs. The event logs are used to maintain the
execution process flow in a textual log file. The log file also manages the error values and their source of classes.
The error values are used to analyze the failure of the software. The data mining methods are used to evaluate the
quality and software failure rate analysis process. The text logs are processed and data values are extracted from
the data values. The data values are mined using the machine learning methods for failure analysis.
The service error, service complaints, interaction error and crash errors are maintained under the log files.
The events and their reactions are also maintained under the log files. Software termination and execution failures
are identified using the log details. The log file parsing process is applied to extract data from the logs. The
associations rule mining methods are used to analyze the log files for failure detection process. The system uses
the Weighted Association Rule Mining (WARM) scheme to fetch failure rate in the software execution flow. The
system improves the failure rate detection accuracy in WARM model.
Improvement of Software Maintenance and Reliability using Data Mining Techniquesijdmtaiir
Software is ubiquitous in our daily life. It brings us
great convenience and a big headache about software reliability
as well: Software is never bug-free, and software bugs keep
incurring monetary loss of even catastrophes. In the pursuit of
better reliability, software engineering researchers found that
huge amount of data in various forms can be collected from
software systems, and these data, when properly analyzed, can
help improve software reliability. Unfortunately, the huge
volume of complex data renders the analysis of simple
techniques incompetent; consequently, studies have been
resorting to data mining for more effective analysis. In the past
few years, we have witnessed many studies on mining for
software reliability reported in data mining as well as software
engineering forums. These studies either develop new or apply
existing data mining techniques to tackle reliability problems
from different angles. In order to keep data mining researchers
abreast of the latest development in this growing research area,
we propose this paper on data mining for software reliability.
In this paper, we will present a comprehensive overview of this
area, examine representative studies, and lay out challenges to
data mining researchers
An analysis of software aging in cloud environment IJECEIAES
Cloud computing is the environment in which several virtual machines (VM) run concurrently on physical machines. The cloud computing infrastructure hosts multiple cloud services that communicate with each other using the interfaces. During operation, the software systems accumulate errors or garbage that leads to system failure and other hazardous consequences. This status is called software aging. Software aging happens because of memory fragmentation, resource consumption in large scale and accumulation of numerical error. Software aging degrads the performance that may result in system failure. This happens because of premature resource exhaustion. The errors that cause software agings are of special types and target the response time and its environment. This issue is to be resolved only during run time as it occurs because of the dynamic nature of the problem. To alleviate the impact of software aging, software rejuvenation technique is being used. Rejuvenation process reboots the system or reinitiates the softwares. Software rejuvenation removes accumulated error conditions, frees up deadlocks and defragments operating system resources like memory. Software aging and rejuvenation has generated a lot of research interest recently. This work reviews some of the research works related to detection of software aging and identifies research gaps.
Testing desktop application police station information management systemSalam Shah
The police stations have adequate importance in the society to control the law and order situations of the country. In Pakistan, police stations manage criminal records and information manually. We have previously developed and improved a desktop application for the record keeping of the different registers of the police stations. The data of police stations is sensitive and that need to be handled within secured and fully functional software to avoid any unauthorized access. For the proper utilization of the newly developed software, it is necessary to test and analyze the system before deployment into the real environment. In this paper, we have performed the testing of an application. For this purpose, we have used Ranorex, automated testing tool for the functional and performance testing, and reported the results of test cases as pass or fail.
Abstract
Researchers in the field of software engineering, business process improvement and information engineering all want to drastically modernize software life-cycle processes and technologies to correct the problems and to improve the quality of software. Research goals have included ancillary issues, such as improving user services through conversion to new platforms and facilitating software processes by adopting automated tools. Automated tools for software development, understanding, maintenance, and documentation add to process maturity, leading to better quality and reliability of computer services and greater customer satisfaction. This paper focuses on critical issues of legacy program improvement. The program improvement needs the estimation of program from various perspectives. The paper highlights various elements of legacy program complexity which further can be taken in account for further program development.
Keywords: Legacy, Program, Software complexity, Code, Integration
An Extended Notation of FTA for Risk Assessment of Software-intensive Medical...Yoshio SAKAI
An extended notation of FTA for risk assessment of software-intensive medical devices
Yoshio Sakai, Seiko Shirasaka and Yasuharu Nishi
It is difficult to assess the risk of software-intensive medical devices. An extended notation of FTA recognizes the risk class before and after the risk control measure and the software in the system affects the top event of FTA.
You can see this content as 6-pages paper from IEEE Website.
Feature Analysis of Estimated Causes of Failures in Medical Device Software a...Yoshio SAKAI
Background/Objectives
<research>
•383 medical device software failures from 1983 to 1997 are analyzed in “FAILURE MODES IN MEDICAL DEVICE SOFTWARE:AN ANALYSIS OF 15 YEARS OF RECALL DATA” (DOLORES R. WALLACE1 and D. RICHARD KUHN, 2001)
•Medical devices are getting more and more relying on software.
<objectives>
•Analyze 86 medical device software failures in FY 2010 and identify the change of the trend of failure causes from the former analysis
•Confirm whether the International standard issued in 2006, IEC 62304 (Medical device software - Software life cycle processes), is effective to new failure causes or not.
The adoption of cloud environment for various application uses has led to security and privacy concern of user’s data. To protect user data and privacy on such platform is an area of concern.
Many cryptography strategy has been presented to provide secure sharing of resource on cloud platform. These methods tries to achieve a secure authentication strategy to realize feature such as self-blindable access tickets, group signatures, anonymous access tickets, minimal disclosure of tickets and revocation but each one varies in realization of these features. Each feature requires different cryptography mechanism for realization. Due to this it induces computation complexity which affects the deployment of these models in practical application. Most of these techniques are designed for a particular application environment and adopt public key cryptography which incurs high cost due to computation complexity.
To address these issues this work present an secure and efficient privacy preserving of mining data on public cloud platform by adopting party and key based authentication strategy. The proposed SCPPDM (Secure Cloud Privacy Preserving Data Mining) is deployed on Microsoft azure cloud platform. Experiment is conducted to evaluate computation complexity. The outcome shows the proposed model achieves significant performance interm of computation overhead and cost.
Program aging is a degradation of performance or functionality caused by resource depletion. The aging affects the cloud
services which provide access to big data bank and computing resources. This suffers large budget and delays of defect removal, which
requires other related solutions including renewal in the form of controlled restarts. Collection of various runtime metrics are more
significant source for further study of detection and analysis of aging issues. This study highlights the method for detecting aging
immediately after their introduction by runtime comparisons of different development scenarios. The study focuses on aging of
program and service crash as a consequence.
Genetic fuzzy process metric measurement system for an operating systemijcseit
Operating system (Os) is the most essential software of the computer system,deprived ofit, the computer
system is totally useless. It is the frontier for assessing relevant computer resources. It performance greatly
enhances user overall objective across the system. Related literatures have try in different methods and
techniques to measure the process matric performance of the operating system but none has incorporated
the use of genetic algorithm and fuzzy logic in their varied techniques which indeed is a novel approach.
Extending the work of Michalis, this research focuses on measuring the process matrix performance of an
operating system utilizing set of operating system criteria’s while fusing fuzzy logic to handle
impreciseness and genetic for process optimization.
International Journal of Engineering and Science Invention (IJESI) is an international journal intended for professionals and researchers in all fields of computer science and electronics. IJESI publishes research articles and reviews within the whole field Engineering Science and Technology, new teaching methods, assessment, validation and the impact of new technologies and it will continue to provide information on the latest trends and developments in this ever-expanding subject. The publications of papers are selected through double peer reviewed to ensure originality, relevance, and readability. The articles published in our journal can be accessed online.
This project is on “E-Filling System”. The purpose of the project is faster movement of files and documents through different layers of non-government and government offices. This system used to store and track electronic documents or file. It is very effective because centralized source of information, Import Security, Cost-effectiveness, improved workflow, maximized customer satisfaction, easy retrieval and flexible search. The aim of the Electronic-file System is to execute Paperless Communication system throughout the organization. Paperless Communication helps to accommodate the system smoothly and to ensure quick disposal of proposal. However, the goal of our system is not to become a slave of paper - searching for it, filing it, approved it, storing it and losing it at inconvenient times - but rather to handle paper electronically to lower its intrinsic administrative cost.
Development of Intelligence Process Tracking System for Job SeekersIJMIT JOURNAL
At the present time to getting a good job is very intricate task for any job seekers. The same problem also a company can face to acquire intelligent and qualified employees. Therefore, to minimize the problem, there are many management systems were applied and out of them, computer based management system is one of an appropriate elucidation for this problem. In the computer management system, software are made for jobseekers to find their suitable companies and as well as made for companies for finding their suitable employees. However, the available software in the market are not intelligent based, and to make privacy, security and robustness, the software should made with the application of expert system. In this proposed study, an attempt has been made for finding the solution for job seekers and the companies with the application of expert systems.
The adoption of cloud environment for various application uses has led to security and privacy concern of user’s data. To protect user data and privacy on such platform is an area of concern.
Many cryptography strategy has been presented to provide secure sharing of resource on cloud platform. These methods tries to achieve a secure authentication strategy to realize feature such as self-blindable access tickets, group signatures, anonymous access tickets, minimal disclosure of tickets and revocation but each one varies in realization of these features. Each feature requires different cryptography mechanism for realization. Due to this it induces computation complexity which affects the deployment of these models in practical application. Most of these techniques are designed for a particular application environment and adopt public key cryptography which incurs high cost due to computation complexity.
To address these issues this work present an secure and efficient privacy preserving of mining data on public cloud platform by adopting party and key based authentication strategy. The proposed SCPPDM (Secure Cloud Privacy Preserving Data Mining) is deployed on Microsoft azure cloud platform. Experiment is conducted to evaluate computation complexity. The outcome shows the proposed model achieves significant performance interm of computation overhead and cost.
Program aging is a degradation of performance or functionality caused by resource depletion. The aging affects the cloud
services which provide access to big data bank and computing resources. This suffers large budget and delays of defect removal, which
requires other related solutions including renewal in the form of controlled restarts. Collection of various runtime metrics are more
significant source for further study of detection and analysis of aging issues. This study highlights the method for detecting aging
immediately after their introduction by runtime comparisons of different development scenarios. The study focuses on aging of
program and service crash as a consequence.
Genetic fuzzy process metric measurement system for an operating systemijcseit
Operating system (Os) is the most essential software of the computer system,deprived ofit, the computer
system is totally useless. It is the frontier for assessing relevant computer resources. It performance greatly
enhances user overall objective across the system. Related literatures have try in different methods and
techniques to measure the process matric performance of the operating system but none has incorporated
the use of genetic algorithm and fuzzy logic in their varied techniques which indeed is a novel approach.
Extending the work of Michalis, this research focuses on measuring the process matrix performance of an
operating system utilizing set of operating system criteria’s while fusing fuzzy logic to handle
impreciseness and genetic for process optimization.
International Journal of Engineering and Science Invention (IJESI) is an international journal intended for professionals and researchers in all fields of computer science and electronics. IJESI publishes research articles and reviews within the whole field Engineering Science and Technology, new teaching methods, assessment, validation and the impact of new technologies and it will continue to provide information on the latest trends and developments in this ever-expanding subject. The publications of papers are selected through double peer reviewed to ensure originality, relevance, and readability. The articles published in our journal can be accessed online.
This project is on “E-Filling System”. The purpose of the project is faster movement of files and documents through different layers of non-government and government offices. This system used to store and track electronic documents or file. It is very effective because centralized source of information, Import Security, Cost-effectiveness, improved workflow, maximized customer satisfaction, easy retrieval and flexible search. The aim of the Electronic-file System is to execute Paperless Communication system throughout the organization. Paperless Communication helps to accommodate the system smoothly and to ensure quick disposal of proposal. However, the goal of our system is not to become a slave of paper - searching for it, filing it, approved it, storing it and losing it at inconvenient times - but rather to handle paper electronically to lower its intrinsic administrative cost.
Development of Intelligence Process Tracking System for Job SeekersIJMIT JOURNAL
At the present time to getting a good job is very intricate task for any job seekers. The same problem also a company can face to acquire intelligent and qualified employees. Therefore, to minimize the problem, there are many management systems were applied and out of them, computer based management system is one of an appropriate elucidation for this problem. In the computer management system, software are made for jobseekers to find their suitable companies and as well as made for companies for finding their suitable employees. However, the available software in the market are not intelligent based, and to make privacy, security and robustness, the software should made with the application of expert system. In this proposed study, an attempt has been made for finding the solution for job seekers and the companies with the application of expert systems.
There are many ways to ruin a performance testing project, there is just a handful of ways to do it right. This publication analyses the most widespread performance testing blunders. It is impossible in one article to expose all the varieties of testing wrongdoings; as such, this publication is definitely an open-ended.
Improved Strategy for Distributed Processing and Network Application Developm...Editor IJCATR
The complexity of software development abstraction and the new development in multi-core computers have shifted the burden of distributed software performance from network and chip designers to software architectures and developers. We need to look at software development strategies that will integrate parallelization of code, concurrency factors, multithreading, distributed resources allocation and distributed processing. In this paper, a new software development strategy that integrates these factors is further experimented on parallelism. The strategy is multidimensional aligns distributed conceptualization along a path. This development strategy mandates application developers to reason along usability, simplicity, resource distribution, parallelization of code where necessary, processing time and cost factors realignment as well as security and concurrency issues in a balanced path from the originating point of the network application to its retirement.
Improved Strategy for Distributed Processing and Network Application DevelopmentEditor IJCATR
The complexity of software development abstraction and the new development in multi-core computers have shifted the
burden of distributed software performance from network and chip designers to software architectures and developers. We need to
look at software development strategies that will integrate parallelization of code, concurrency factors, multithreading, distributed
resources allocation and distributed processing. In this paper, a new software development strategy that integrates these factors is
further experimented on parallelism. The strategy is multidimensional aligns distributed conceptualization along a path. This
development strategy mandates application developers to reason along usability, simplicity, resource distribution, parallelization of
code where necessary, processing time and cost factors realignment as well as security and concurrency issues in a balanced path from
the originating point of the network application to its retirement.
1. Emergence of Software EngineeringIn the software industry, we.docxjackiewalcutt
1. Emergence of Software Engineering
In the software industry, we have seen the complexity of computer-based systems increase dramatically over the past decades along with advances in technology. This new technology has increased the demand for computer-based systems to control many infrastructures with software. As a result, designing and building cost-effective, reliable, and high-quality software has become the focus of software engineering in the computer industry.
In the past the processes used for designing and developing software were very informal, which contributed to the rise in development and maintenance costs. The results of ad hoc development processes contributed to a higher percentage of unreliable and lesser quality products entering the marketplace. Many accidents resulted from failures in computer-based systems with hardware devices that were controlled with software. At the time, the industry was considered to be in a crisis state, which then led to the emergence of new practices and methods in software engineering.
Technological advances have had a big impact on the complexity level required in software systems. The emergence of new communication protocols, hardware devices, and graphical user interface components have placed a greater demand on software engineers to design quality, reliable, and safe software.
A Brief History of Software Engineering
In the 1950s and the early 1960s, the various engineering disciplines were beginning to analyze how aspects of the engineering field could be applied to methods used in developing software products. As computing power evolved over the decades, the demand increased along with the complexity of the problems that needed to be addressed in the design of software. The term software engineering was introduced in 1968 at the first international software engineering conference, held by the North Atlantic Treaty Organization (NATO) Science Committee (Mahoney 2004). Many practitioners believe this is the milestone that marked the emergence of the software engineering discipline.
Software was developed to control critical hardware devices in the mid- to late-1960s and early 1970s. During this time, cases emerged that involved operational errors and accidents resulting in the loss of human lives and damage to property. Defects in software were uncovered, which heightened public awareness to the need for better quality and reliability of software. The escalating cost of building quality and reliable software was on the rise in the computer industry and the demand for skilled programmers could not be met. The state of software development was viewed by practitioners as being in a "crisis" state and was commonly referred to as the software crisis.
In response to the software crisis, researchers and practitioners have been trying to develop a set of methodologies, processes, and tools as the "silver bullet" for building software. The combination of these methodologies, processes, and tools i ...
Abstract-Software is ubiquitous in our daily life. It brings us great convenience and a big headache about software reliability as well: Software is never bug-free, and software bugs keep incurring monetary loss of even catastrophes. In the pursuit of better reliability, software engineering researchers found that huge amount of data in various forms can be collected from software systems, and these data, when properly analyzed, can help improve software reliability. Unfortunately, the huge volume of complex data renders the analysis of simple techniques incompetent; consequently, studies have been resorting to data mining for more effective analysis. In the past few years, we have witnessed many studies on mining for software reliability reported in data mining as well as software engineering forums. These studies either develop new or apply existing data mining techniques to tackle reliability problems from different angles. In order to keep data mining researchers abreast of the latest development in this growing research area, we propose this paper on data mining for software reliability. In this paper, we will present a comprehensive overview of this area, examine representative studies, and lay out challenges to data mining researchers.
HW/SW Partitioning Approach on Reconfigurable Multimedia System on ChipCSCJournals
Due to the complexity and the high performance requirement of multimedia applications, the design of embedded systems is the subject of different types of design constraints such as execution time, time to market, energy consumption, etc. Some approaches of joint software/hardware design (Co-design) were proposed in order to help the designer to seek an adequacy between applications and architecture that satisfies the different design constraints. This paper presents a new methodology for hardware/software partitioning on reconfigurable multimedia system on chip, based on dynamic and static steps. The first one uses the dynamic profiling and the second one uses the design trotter tools. The validation of our approach is made through 3D image synthesis.
Visualizing Object-oriented Software for Understanding and Documentation Ra'Fat Al-Msie'deen
Understanding or comprehending source code is one of
the core activities of software engineering. Understanding object-oriented source code is essential and required when a programmer maintains, migrates, reuses, documents or enhances source code. The source code that is not comprehended cannot be changed. The comprehension of object-oriented source code is a difficult problem solving process. In order to document object-oriented software system there are needs to understand its source code. To do so, it is necessary to mine source code dependencies in addition to quantitative information in source code such as the
number of classes. This paper proposes an automatic approach, which aims to document object-oriented software by visualizing its source code. The design of the object-oriented source code and its main characteristics are represented in the visualization. Package content, class information, relationships between classes, dependencies between methods and software metrics is displayed. The extracted views are very helpful to understand and document the object-oriented software. The novelty of this approach is the exploiting of code dependencies and quantitative information in source code to document object-oriented software efficiently by means of a set of graphs. To validate the approach, it has been applied to several case studies. The results of this evaluation showed that most of the object-oriented software systems have been documented correctly.
International Journal of Engineering Research and DevelopmentIJERD Editor
Electrical, Electronics and Computer Engineering,
Information Engineering and Technology,
Mechanical, Industrial and Manufacturing Engineering,
Automation and Mechatronics Engineering,
Material and Chemical Engineering,
Civil and Architecture Engineering,
Biotechnology and Bio Engineering,
Environmental Engineering,
Petroleum and Mining Engineering,
Marine and Agriculture engineering,
Aerospace Engineering.
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
Honest Reviews of Tim Han LMA Course Program.pptxtimhan337
Personal development courses are widely available today, with each one promising life-changing outcomes. Tim Han’s Life Mastery Achievers (LMA) Course has drawn a lot of interest. In addition to offering my frank assessment of Success Insider’s LMA Course, this piece examines the course’s effects via a variety of Tim Han LMA course reviews and Success Insider comments.
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
A LOG-BASED TRACE AND REPLAY TOOL INTEGRATING SOFTWARE AND INFRASTRUCTURE
1. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
DOI:10.5121/ijsea.2018.9401 1
A LOG-BASED TRACE AND REPLAY TOOL
INTEGRATING SOFTWARE AND INFRASTRUCTURE
Noriko Hanakawa 1
and Masaki Obana2
1
Information management department, Hannan University, Osaka, Japan
2
Department of Information Science and Technology,Osaka Institute of
Technology,Osaka, Japan
ABSTRACT
We propose a log-based analysis tool for evaluating web application computer system. A feature of the tool
is an integration software log with infrastructure log. Software engineers alone can resolve system faults in
the tool, even if the faults are complicated by both software problems and infrastructure problems. The tool
consists of 5 steps: preparation software, preparation infrastructure, collecting logs, replaying the log
data, and tracing the log data. The tool was applied to a simple web application system in a small-scale
local area network. We confirmed usefulness of the tool when a software engineer detects faults of the
system failures such as “404” and “no response” errors. In addition, the tool was partially applied to a
real large-scale computer system with many web applications and large network environment. Using the
replaying and the tracing in the tool, we found causes of a real authentication error. The causes were
combined an infrastructure problem with a software problem. Even if the failure is caused by not only a
software problem but also an infrastructure problem, we confirmed that software engineers alone could
distinguish between a software problem and an infrastructure problem using the tool.
KEYWORDS
Web application, infrastructure, web server, network device, seamless debugging, detecting faults,
maintenance
1. INTRODUCTION
Recently, large-scale computer system is important for human life in modern society. Large-scale
computer system consists of large software and large infrastructure[1]. Software means
application package software, middleware, and application server software, and application client
software. Infrastructure includes network equipment, server computers, client computers, mobile
terminals, various operating systems, and physical and logical network design. Infrastructure is
designed according to 5 layers with considering software design [2]. Once large-scale computer
system starts working, various system failures may occur. Some failures may be caused by
physical breakdown of equipment, some failures may be caused by setting errors of network
equipment’s configuration files, and some failures may be caused by software faults. It becomes
more difficult to detect causes of system failures as computer system becomes more complicated
[3]. Software engineers alone cannot detect causes correctly, infrastructure engineers alone cannot
find causes efficiently. Only engineers who have both infrastructure knowledge and software
knowledge can certainly detect causes of such system failures[4]. However, in current industry,
infrastructure engineers are clearly distinguished from software engineers. The two type
engineers are assigned to quite different tasks and works. Infrastructure engineers learn
infrastructures knowledge and techniques without software knowledge, software engineers learn
software knowledge and techniques without infrastructure knowledge. Large-scale computer
system becomes more complicated and software and infrastructure technologies become
2. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
2
complicated more and more. Although the higher technologies of infrastructure and software are
deeply influenced each other, engineers are clearly divided into infrastructure engineers and
software engineers. It is difficult for software engineers to detect software faults caused by
network environment because of lack of infrastructure knowledge. It is difficult for infrastructure
engineers to detect infrastructure faults depended to software architecture.
Therefore, we propose an analysis tool for integrating infrastructure and software. Especially, we
focus on web application system that consists of application software, client software,
middleware such as web server software and database software, server computers, client
computers, and network equipment. A feature of the tool is the usage of various system logs such
as operating system logs, network equipment logs, web server logs, and application logs[5].
Based on the logs, we can graphically replay system failure phenomena on the tool. The replay of
failure phenomena includes not only data transfer on software programs but also a movement of
packets in the network environment. Even software engineers who have little infrastructure
knowledge can seamlessly trace software program data transfer and packet movement on network
environment. Even infrastructure engineers who have little software knowledge can smoothly
understand data transfer from software to infrastructure. Using our too, both engineers can
efficiently detect faults of software or infrastructure in the complicated computer system.
The main gap between conventional scientific knowledge and our research is a log analysis
technique mixing software and infrastructure. Infrastructure log analysis is useful to detect system
failures caused by infrastructure faults. On the other hand, software log analysis is usual
techniques in software debugging process. Usually, these analyses are separated by different
kinds of engineers. The approach of the log analysis technique mixing software and infrastructure
is a new aspect of our research. In addition, we have proposed a new process metrics for
infrastructure [4] and infrastructure log analysis [2]. The proposed tool is partially based on the
ideas of the previous researches’ results. In addition, the tool is applied to the industrial real logs
in order to detect causes of system faults. The paper evaluates the usefulness of the tool using a
huge amount of log.
In this paper, section2 shows related works. Section 3 shows an outline of infrastructure design
steps. Section 4 explains the tool for web applications compute system integrating software and
infrastructure. A trial of the tool is shown at section 5. A practice of the tool in a real computer
system is shown at section 6, section 7 shows summary and future researches.
2. RELATED WORKS
There are many researches of developing web applications. Elmam et al. proposed web
application test techniques using session data [6]. The session data is gathered as users operate
web applications. The method helps test those applications from a functional standpoint. As a
result, the test techniques can generate more efficient test data than test data generated by a white
box test technique. The session data is a kind of system logs. The approach of collecting logs is
similar to our approach. However, the target of the research is different. Out target is not only
web application software but also infrastructure. The scoop of the research is different. In
addition, Wang et al. proposed JSTrace for fast reproducing web application errors [7]. Record-
replay techniques are used to reproduce errors in web applications. However, the long event trace
data prevent from efficient reproducing errors. The JSTrace is a tool to eliminate unnecessary
event trace data of JavaScript. As a result, 97% event trace data was eliminated. The JSTrace is
similar to the tracing and the replaying of our tool. The tracing and the replaying also eliminate
unnecessary log data by time and HTTP header data. The target of the JSTrace is only JavaScript
program. Our proposed tool includes software logs and infrastructure logs. Thetool is useful when
you do not know if the system failure is due to software defects or infrastructure defects.
3. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
3
Fig.1.5layers for infrastructure design
On the other hand, there are many useful infrastructure trace and analysis tools[8]. Wireshark is
used for research of the bottlenecks associated with packet capturing using commodity hardware
in local area networks (LANs) without losing data [9]. And, Wireshark is useful in universities’
education for network environment with web applications [10]. Wireshark is free software. HTTP
requests and HTTP response and TCP traces are collected in the Wireshark [11]. Of course,
purpose of tools such as Wireshark is only network analysis of infrastructure, not software.
DynaTrace is also a tool for analysing infrastructure [12][13]. The DynaTrace transaction traces
among computer servers and web applications are available. On the other hand, Visual studio .net
framework is useful tool for tracing web applications. The Visual studio .net framework [14]
helps software engineers detect program faults. Our tool including the replaying and the tracing is
a similar tool that combined the Wireshark with the Visual studio .net framework. Purpose of our
tool is seamless tracing and replaying not only software logs but also infrastructure logs.
3. INFRASTRUCTURE
This section shows an outline of infrastructure construction [2]. Fig.1 shows a process of
constructing infrastructure with 5 layers. Infrastructure is designed according to the 5 layers with
considering software design. In addition, the 5 layers may not be necessarily carried out in order.
4. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
4
3.1. LAYER1: PHYSICAL DESIGN
The physical design of infrastructure is simple. Server computers and client computers and
network equipment such as routers, switching hubs are set up for physical areas such as buildings,
rooms. Each equipment is connected with the other equipment by network cables or wireless
communication. Computers and network equipment at the physical design phase are minimum
configurations of the computer system.
3.2. LAYER 2: LOGICAL DESIGN
The logical design of infrastructure is influenced by software designs. For example, if you gave
three kinds of web applications, you should construct three application server computers and web
servers. If you need e-mail function, you should prepare SMTP server and POP server. Usually,
server computers are set up to several virtual machines. Each virtual machine is set up as a server
computer. The server computer on the virtual machine is set up a server such as a web server,
SMTP server. In addition, client computers and network equipment are categorized to several
virtual LANs. Virtual LAN is useful when network environment is huge. A virtual LAN is a
meaningful area in the logical design. For example, computers in a section of a company are set
up a virtual LAN, even if the section is divided into two groups that are geographically distant.
3.3. LAYER 3: SECURITY AND PERFORMANCE DESIGN
Up to the layer 2, the computer system can basically operate. Next, we have to consider security
and performance of the computer system. To achieve high security, we have to prepare
authentication servers and firewall servers. To achieve high performance, network equipment
such as road balancers is added to the computer infrastructure.
3.4. LAYER 4: RELIABILITY DESIGN
Next, we have to improve reliability of the computer system. Database system and applications
are copied to the other computers in order to recover data and system when the database is
crashed, or the server is broken.
3.5. LAYER 5: MANAGEMENT LOG DESIGN
Finally, we design monitoring and analysis functions for the computer system using log data on
server computers and network equipment. Usually, several servers for monitoring and analysis
are added to the infrastructure. Administrators manage the infrastructure statuses through the
monitoring and the analysis-tools.
4. THE PROPOSED ANALYSIS TOOL
4.1. PURPOSE OF THE TOOL
The purpose of the tool is that software engineers detect proper causes of system failures by
themselves after computer system starts running. The feature of the tool is usage of system logs
among network equipment, servers, middleware, and application software. Especially, the tool
focuses on web application system. Software engineers usually have little infrastructure
knowledge. Software engineers need assistance from infrastructure engineers when complicated
system failures occur on web application system. Especially, we aim that software engineers
alone can distinguish infrastructure faults with software faults through the tool. In addition, a
5. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
5
target of the tool is web application system. Therefore, we focus on tracing and replaying HTTP
requests and HTTP responses.
4.2. AN OUTLINE OF THE TOOL
Fig.2 shows an outline of the tool. The tool consists of 5 steps. The first, second, and third steps
are preparation for starting the tool. After starting the tool, tracing and replaying are started in the
tool. At first, engineers set up configurations of servers and network equipment at a constructing
infrastructure phase. Next, engineers make software programs with functions of outputting log.
The program are parts of a web application. After that, the computer system starts working at an
operation phase. Many users use the computer system with recording logs. Next step is when
system failures occur. The replay tool is useful. The replay tool can replay the computer system
situation including infrastructure and software even if time has passed since the failure occurred.
The tool can be rewound until the failure occurrence time. Finally, using thetool, software
engineers can seamlessly trace HTTPrequests and HTTP responses on both infrastructure and
application software.
4.3. ESSENTIAL ELEMENTS OF LOG
Network equipment, various servers, middleware and application software output different log
formats and various information. Therefore, in the tool, essential elements of logs are defined as
follows,
Time : date/month/year:hour:minute:second+time zone
( an example: 04/Jun/2017:16:39:09 +0900 )
IPsource : Source IP address
IPdestination : Destination IP address
Protocol : HTTP, DHCP, SMTP, FTP, TLS, etc.
Info : various messages
an example
"GET /wiki.cgi?page=ABC HTTP/1.1" 200 5408, or
“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393", or
program name: XXXX.phpVariable: data1 = “abc”, data2=”def”, data3=1
The above 4 elements of the “Time”, the “IPsource”, the “IPdestination”, and the “Protocol” have
to be collected on each network equipment, each server, middleware, application software. The
above “Info” element is also collected if possible. The data of “Info” is required in the step5
“Tracing” of the tool (See Step5:Tracing subsection of this section). If the “Info” data is
sufficiently collected in computer system, the tracing of the tool will be better. Quality and
quantity of the “Info” data influence the success of the tracing.
On the other hand, we have to consider performance of network equipment, servers and software.
Logs require huge storages and much processing time. If all messages are recorded to logs on a
core switch device, the performance of the core switch will be suddenly low. Therefore, we have
to consider roles of network equipment and servers. Some network devices may output only
“Time”, “IPsource”, “IPdestination”, and “Protocol”. Some servers may output all messages. An
example of the collected data guideline is as follows,
(1). Non intelligent network device: collecting no data
(2). Intelligent network device such as core switch: “Time”, “IPsource”, “IPdestination”, and “Protocol”
(3). Non-core network device such as distribution switch: all data
6. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
6
(4). Fire wall server: “Time”, “IPsource”, “IPdestination”, and “Protocol”
Fig.2 Five steps for the tool
(5). Web server, DB server: default format log includes “Time”, “IPsource”, “IPdestination”, and
“Protocol”
(6). Web Application: HTTP request information, program name, variables, and other program
information (software engineers can make program codes in order to output necessary
information into logs in web applications)
In this way, non-intelligent devices do not output any logs, some core switches cannot record
“Info” data. Web applications can output various information for replaying and tracing.
Therefore, we should consider how the missing data is covered. If some network devices cannot
record any logs, the missing logs may be covered with the logs of neighboring intelligent network
devices. The missing data is covered by the covering techniques [15].
7. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
7
Fig.3 Images of heavy load of servers and devices
4.4. STEP1:PREPARATION OF INFRASTRUCTURE
Various servers also output various log. Network equipment outputs various tracing log.
Engineers set up configuration files so that HTTP requests and HTTP responses can be recorded.
If log volume is huge, engineers record only the above 4 essential elements (See 4.3. Essential
elements). The log recording functions usually are supported by operating system, server
software, middleware and network equipment.
For example, a typical log of Apache web server is as a follow,
-----------------------------------------
150.89.2.6--[04/Jun/2017:16:39:06 +0900] "GET /wiki.cgi?page=3 HTTP/1.1" 200 5408 "-" " Edge/14.14393" "150.89.13.147"
------------------------------------------
In this case, Time is “04/Jun/2017:16:39:06 +0900”, IPdestinationis “150.89.13.147”, IPsource is
“150.89.2.6”, Protocol is “HTTP”, Info is “ GET /wiki.cgi?page=3 HTTP/1.1" 200 5408 "-" "
Edge/14.14393”.
4.5. STEP2: PREPARATION OF SOFTWARE
Software engineers make software program including trace functions. The trace functions mean
that HTTP requests and HTTP responses can output logs. In addition, program file names and
data of variables are recorded to the log files. Program file names are useful to recognize
behaviours of program. The data of variables are useful to recognize correct receiving data
through GET or POST methods. After that, the HTTP response are generated. The HTTP
response data is also recorded into the log files.
Examples of php programs for HTTP request are as follows.
$Time == date("Y-m-d H:i:s")
$ IPsource=$_SERVER[‘REMOTE_ADDR’];
$IPdestination=$_SERVER[‘SERVER_ADDR’];
$ Protocol=$_SERVER[‘SERVER_PROTOCOL’];
$Client type=$_SERVER[‘HTTP_USER_AGENT’];
$Info = $ file_get_contents('php://input');
If you need the other data, various data such as user request
time($_SERVER[‘REQUEST_TIME’]) can be recorded.
4.6. STEP3: COLLECTING LOGS
After the computer system development finishes, the computer system starts working on real
business processes. Many users use the computer system. Operating systems and servers,
middleware, network equipment and web applications and software are continuously outputting
8. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
8
log files. The logs accumulated in a log server (See Layer 5 of Fig.1). Basically, the essential
elements are recorded in the logs.
4.7. STEP4: REPLAYING
Fig.4 Images of tracing a HTTP request and response Fig.5 The tracing mechanism of the tool
When a system failure occurs, the replay tool is useful. The tool collects automatically all log
files on the computer system. The most feature of the tool is that software engineers can rewind
time. Usually, system failures suddenly and unexpectedly occur anytime. Engineers cannot
immediately investigate the system failures. If time passes from the failure occurrence, same
failures may not occur because network situation and server situation and application situation are
different. Especially, system failures that sometimes occur are difficult to investigate because of
non-reappearance of the failures. Moreover, software engineers and infrastructure engineers often
try to reappear the failures on a test computer environment. The test computer environment is
greatly different from real computer system environment. The number of users and the number of
accessing servers and the number of clients are greatly different. If the failures are influenced by
such volume of accessing computers or servers, the reappearance of the same failures is difficult
on the test computer environment.
Therefore, the replay tool is useful. The tool can replay the real situations of network, servers and
web applications. Engineers can recognize all situations when the system failures occurred. For
example, in step 4 of Fig.2, huge clients try to connect to one network device. The load of the
network device suddenly becomes heavy. The red rectangle of the network device presents heavy
load. Even software engineers can understand problems of the heavy load of the network device.
Therefore, the tool helps software engineers detect correct faults for the system failures.
Then, the heavy load of servers or network equipment is calculated by the logs. For example, if
you rewind time to 12:00, the replay tool collects logs that were recorded from 12:00 to 12:01
(See Fig.3). The number of accesses of the Server 1 of Fig.3 is100,00 from 12:00 to 12:01. The
number of accesses of the Network device 1 is 200,00, the number of accesses of the Network
device 2 is 50,00. The number of accesses is a basis of the colour of the rectangle of a device. In
Fig.3, Network device1 has deep red colour because the Network device1 has the biggest
accesses. Network device2 has light red colour because the Network device2 has the smallest
accesses. In this way, the replay tool visually presents load statuses of all servers and network
equipment. Software engineers can easily understand network load status at the failure
occurrence time in the replay tool.
4.8. STEP5: TRACING
The tracing is the most characteristic function in the tool. The tracing helps software engineers
distinguish software problems with infrastructure problems. Sometime, an incomprehensible
system failure occurs. The incomprehensible failure mean that causes of the failure are not clear.
9. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
9
The incomprehensible failure may be caused by infrastructure faults, or the incomprehensible
failure may be caused by application program faults.
For an example, a user accesses a web application through a smartphone with Wi-Fi network. A
“Forbidden error” frequently occur. The “Forbidden” failure usually occur when permissions of
file and folders are wrong in the web application system. Also, the “Forbidden” failure occur
Fig.6 A trial computer system for the evaluation
when “Deny” command setting is wrong in web server Apache. The “Forbidden” error may occur
by both program faults and infrastructure faults. In infrastructure problem case, the httpd.conf file
for Apache web server has “Deny from 150.9.160.45” command. If the IP address is wrong, a
client computer cannot access the server computer with the “150.9.160.45”. As a result,
“Forbidden error” occur on the client computer.
On the other hand, if a php program has wrong code, the client computer also has “Forbidden
error”. The php program has a function of making list of a specific folder. The php program has
as a follow:
foreach(glob(abc/*') as $file){ file_get_contents($file); }
If the “abc” folder includes an unreadable file, the “Forbidden error” occurs on the client
computer. Of course, the php program has to check readable files or not. A software engineer
alone cannot detect a fault of setting the httpd.conf file. An infrastructure engineer alone cannot
detect a fault of the php program code. In this way, the system failure such as the “Forbidden
error” depends on not only program faults but also infrastructure faults.
In the case, the tracing function of the tool is useful. Images of the tracing is shown at Fig.4. If the
httpd.conf file is wrong, the HTTP response will return from the web server. If the php program
code is wrong, the HTTP response will return from the web application. The red arrows of Fig.4
mean the “Tracing” result. A software engineer alone can understand the wrong setting of the
web server in the case 1. An infrastructure engineer alone can understand the wrong program
code in the web application in the case2.
Next, a mechanism of the tracing is described. Fig.5 shows an outline of the mechanism. We
assume that a system failure occurs at 12:00:00, the IP address of the smartphone is “IP1”, the IP
address of the web application is “IP2”. The tracing function searches a log record line with
“Time is around at 12:00:00”, “IPdestination is IP1” or “IPsource is IP1” and “Protocol is
HTTP”. If the data of the 4 elements are recorded in the logs, the device and the server received
the HTTP requests and the HTTP responses. If the data of the 4 elements are not recorded in the
log, the device and server did not receive the HTTP requests and the HTTP responses. In the case
of Fig.5, the access point, the router, the web server received the HTTP request. However, the
web application did not have the log of the HTTP request. Therefore, the tracer of the tool
10. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
10
presents the result like the case 1 of Fig.4. The mechanism of the tracing is simple. If the logs
have sufficient “Info” data, the correctness of the tracing function will be improved because the
tracer gets useful information to classify each HTTP request and each HTTP response.
5. AN EVALUATION OF THE TOOL
This section shows usefulness of the tool in the limited computer system called as “a trial
computer system”.
5.1. A TRIAL COMPUTER SYSTEM
The trial computer system is shown at Fig.6. The trial computer system was built at my laboratory
in local area network. The trial computer system consists of a web server (Apache) [16], an
application (php program), a database server (MySQL) [17], a router, an access point, a
smartphone client, and a client computer. The router was built in a computer with Linux. The
router computer is set the firewall with iptables [18] service. The access point is goods on the
market. The access point does not have a function of outputting logs. Client terminals are a
smartphone and a notebook computer. The smartphone is an android terminal with chrome
browser. The notebook computer is set up windows10 with the IE 11 browser.Fig.7 and Fig.8
show images of the tool. We use the tool in a part of visualization of the tracing function and the
replaying function in the trial case.
5.2. STEP1: PREPARATION OF INFRASTRUCTURE
We set up the devices and the servers for recording logs. The recording logs are shown at
TABLE1. All logs include the 4 essential elements (Time, IPsource, IPdestination, and Protocol).
Table I. Logs Of The Tral Computer System
(1) Router
Jun 27 19:45:41 room8306-infratest kernel:
[F_FOR] IN=eth0 OUT=eth1 SRC=192.168.1.24
DST=150.9.162.46 LEN=52…..
(2) Web server
150.9.160.45 - - [27/Jun/2017:19:45:41 +0900]
"GET /test.php HTTP/1.1" 403 288….
(4) DB server
140423 10:30:11 [Warning] '--default-character-set'
is deprecated and will be removed in a future
release. Please use '--character-set-server' instead….
(5) Access point NON
5.3. STEP2: PREPARATION OF SOFTWARE
The web application of Fig.6 is prepared. The application is built in php language. The php
program also has functions of outputting “php program file names”, “function names in the php
programs”, “values of important variables”, “header of HTTP request”, and “body of HTTP
request”.
5.4. STEP3: COLLECTING LOGS
The trial computer system starts working. The servers start running. The client computer and the
smartphone access the web application using URL (http://150.9.162.46/test.php) with browsers.
11. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
11
The logs of Fig.6 are recorded in the trial computersystem. The two system failures occurred. The
first failure is “not found error (404)”, the other failure is a no response error.
5.5. STEP4: REPLAYING
Fig.7 shows a result of the replaying in the tool. At first, we move the time slide bar on the tool.
We can rewind time to the failures’ occurrence time. Then, we can see how heavy the loads are.
The loads are presented as red rectangles in Fig.7. The red rectangles are at the bottle of the router
and the servers. Because this trial computer system is very simple, the logs were not so much.
The web application was accessed several times from the only two clients. The loads of the
servers and the router were not heavy. In addition, the rectangle of the database server is not red.
That is, anyone did not access the database server. In this way, load statuses and running status
are presented as the red rectangles at the time of the slide bar.
5.6. STEP5: TRACING
The tracing result is shown at Fig.8. At the time of the failures occurrences, we click the notebook
computer. The tracing starts on the tool. At first, IPsource and Time of the essential elements are
determined. The value of IPsource is IP address of the clicked notebook computer. The value of
Time is the failure occurrence time. Next, IPdestination and Protocol of the essential elements are
determined.
Fig.7 Replaying result in the trial case
Fig.8 The tracing result in the trial
12. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
12
The value of IPdestination is IP address of the web application. Protocol is HTTP because this
system is a web application system. Based on the values of the 4 essential elements, the tool
searches the log files. If lines of the log files include the same values of the 4 essential elements,
the lines of the log files are coloured. The lower part of Fig.8 shows the coloured lines of the log
files. The yellow coloured lines mean the lines that have the same values of the 4 essential
elements. Therefore, we can trace the HTTP request from the clicked notebook computer.
In addition, the web application tracing is most characteristic. The web application is built in php
language. The php program has codes of outputting the essential elements such as IPsource and
IPdestination to a log file. Moreover, the php program file names, the function names and the
main variables’ values are also recorded to the log file. The codes of the recording the program
file name and the variables are embedded into the php program. The log file of the php program
also has a role of debugging information. The program file names and the values of the variables
in the log file are useful to detect software faults in a normal debugging process. The tracing tool
can present the program file names and values of the variables that are synchronized with the
other logs of devices and servers. An example of the web application logs is as a follow:
------------------------------------------------------
Program file name: index.php
Time: 12:00:00
IPsource: 150.9.160.2
IPdestination: 150.9.160.5
Protocol: HTTP
Info: row data of POST
Variable $name = hanakawa
Variable $address = Japan
Variable $tel = +81001001001
Function name: CheckSameName ()
……………
------------------------------------------------------
The above log from the php program is sufficiently useful to detect faults in php programs. In this way, the
logs of the tool are seamless data without distinction between infrastructure and software.
5.7. EVALUATION OF THE TOOL IN “NOT FOUND ERROR(404)”
The system failure “Object not found error (404)” occurred in the notebook computer.
1) Case1: problems in the web server
13. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
13
Fig.9 The tracing result in the 404 error case
The configuration file of the web server Apache has a “DocumentRoot” attribute. Usually, the
value of the document root is set up a default value “htdocs”. However, if the document root is a
wrong value, the first page “index.php” will be “Object not found error (404)”.
2) Case2: problems in the php programs
The php program generates html tag codes such as “<a href
=”c:/user/hanakawa/htdocs/abc/check.php”>”. The code includes an absolute pathname. The php
program does not run correctly on the web server because the pathname of the
“c:/user/hanakawa/htdocs/abc/check.php” is absolute. As a result, “not found error (404)” occurs.
This is a typical novice fault about pathname.
The results of the case 1 and case 2 are shown at Fig.9. The tool can trace the HTTP request in the
logs of the servers and the web application, and the router. Please see the log areas of the web
applications in both the case 1 and the case 2 (See red circles in Fig.9). The log area of the web
application in the case 1 is empty, in contrast, the log area of the web application in the case 2 is
not empty. That is, in the case 1, the HTTP request did not arrive at the web application. In
contrast, the HTTP request arrived at the web application in the case2.
14. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
14
Fig.10 The tracing result in the no response error
The difference of the arrival to the web application is important when software engineers
investigate program faults. In the case 1, they can know that the php program is not wrong. In the
case 2, they can recognize higher possibility of the php program faults. In this way, the result of
the tool helps software engineers divide software faults and infrastructure faults in web
applications.
5.8. EVALUATION OF THE TOOL IN “NO RESPONSE ERROR”
The system failure “no response error” occurred in the notebook computer.
1) Case1: problems in the firewall setting in the router
The firewall has a filtering function. The filtering setting is difficult without sufficient knowledge
of network environment. Many mistakes of setting the filtering occurred in various computer
system [19]. Therefore, it assumes that the filtering setting is wrong. The notebook computer
receives “no response error”.
An example of the wrong setting is a mistake of an iptables configuration file in a firewall. The
forward and input commands were commented out in the iptables configuration file as follows,
#-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
The comment-outs prevent from proper accesses to the web application. Therefore, “no response
error” occurred on the notebook computer.
15. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
15
2) Case2: problems in the php programs
If the php program has an endless loop code, the php program cannot return the HTTP response.
Of course, the endless loop code is wrong. Software engineers should find the endless loop code
immediately. Because the php program cannot return the HTTP response, the notebook computer
receives “no response error”.
The results of the case 1 and case 2 are shown at Fig.10. The tool can trace the HTTP requests
and the HTTP responses in the log files. In the case 1, the HTTP request from the notebook
computer arrived at the web application. After that, the web application returned a HTTP
response to the web server. The web server tried to return the HTTP response to the router.
However, the firewall did not permit the forward the HTTP response to the notebook computer.
Therefore, too many retries of the forward action of the HTTP response occurred. The log area of
the router presents the too many retries of the forward (See a red circle of the case1 of Fig.10).
Because the log area of the router is limited on the tool, all retries cannot are shown on the Fig.10.
However, if you scroll the log area of the router, you can see the too many retries of the forward
commands. A software engineer alone can understand that the router has any problems, and, the
php program has no faults.
In the case 2, the router and the web server normally received the HTTP request from the
notebook computer. However, the web server and the router did not receive the HTTP response.
We focus on the log area of the php program. There are too many logs about the HTTP request
and the HTTP response. Especially, the red rectangle of the web application is deep red, and
bigger (See a circle of the case 2 of Fig.10). The red rectangle of the web application presents
how heavy the web allocation’s load is. That is, the php program had heavy load. The too many
logs and the too heavy load of the web application suggest some faults in the php program. A
software engineer can detect the endless loop program easily, in the same way, an infrastructure
engineer can understand easily the high possibility of the web application software faults using
the tool.
6. A PRACTICE OF THE TOOL IN A REAL COMPUTER SYSTEM
6.1. PURPOSE
To evaluate the tool, the tool was applied to a real large-scale computer system. The summary of
the target computer system presents at Table2. The target computer system starts working from
April of 2017. However, several system failures occurred. The most frequent failure is
“Authentication error” on a web application. The failure was investigated in the tool.
Fig.11 The computer environment at the failure occurrence
16. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
16
Unfortunately, the tool cannot apply the target computer system because the scale of the computer
system is too large. The visualization of the computer system is difficult in the tool. Therefore,
the images of this section are made manually to be like the tool screen. In addition, the computer
system has already completed. Therefore, all logs in the tool were not recorded. Several logs of
the servers, the network devices and web applications were missing.
Table Ii. Logs Of The Tral Computer System
6.2. A TARGET FAILURE
Fig 11 shows the computer system environment of the system failure. The failure occurred at
14:37 on June 16, 2017. The failure was an authentication error of the “Application1” on the
“Client PC1” (see Fig.11). The “Application1” runs on two server computers connected with the
load balancer. Therefore, if the first server computer for “Application1” has heavy load, the
second server computer for “Application1” runs instead of the first computer.
6.3. REPLAYING AND TRACING RESULTS
At first, we rewound the logs to around at14:37 on June 16, 2017. Next, we replayed the logs one
second at a time. Fig.12 shows the tracing result of the computer system at 14:37:24 on June 16,
2017. The IP address of the “Client PC1” is “150:11:160:1”. The HTTP request from
“150:11:160:1” at 14:37:24 moved to the core switch. Then, the request arrived at the “AP2-1” of
“Application2” server computer. After that, the HTTP request arrived at the “AP1-1” and “AP1-
2” of Application 1 server computers. The red filled circles in Fig.12 indicate where the HTTP
request passed. That is, the accesses of the IP address “150:11:160:1” were recorded in the log
files. The other computers and devices had no logs about the IP address.
In the Fig.12, we found strange phenomena on the “AP1-1” and “AP1-2”. The “AP1-1” and
“AP1-2” are the same web application “Application1”. The reason of the two server computers is
the load distribution. The load balancer connected with the “AP1-1” and the “AP1-2” distributes
the load of the computers. Usually, a series of HTTP requests arrived at a server computer
because of consistency of the series of the HTTP requests. The management of the series of
requests is called “session”. However, the HTTP requests from the “Client PC1” at 14:37:24 were
simultaneously reached into the two server computers. The phenomena of the reaching into two
server computers at the same time indicated a possibility of some faults in the infrastructure or the
software. We understood that the load distribution functions had any problems in the
infrastructure or the web application software. Because the session of the series of the HTTP
requests was broken, the “Authentication error” occurred on the “Client PC1”.
17. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
17
Fig.12 The replaying and tracing result
6.4. INVESTIGATING
We Investigated The Detail Of The Logs At 14:37:24 On The “AP1-1” And “AP1-2”.
Unfortunately, The Load Balancer Log Files Were Not Recorded.
The first request to the “Application 1” from the “Client PC1” at 14:37:24 was “GET” command
for “ssoLogin” because the user of the “Client PC1” has already logged-in the “Application 2”.
Then, the “Application 2” uses the single sign-on function when the “Application 2” goes to the
“Application 1”. Therefore, the session between the “Client PC1” and the “AP1-1” has been
established. After that, the “AP1-1” received various requests from the “Client PC1”. The number
of the requests to the “AP1-1” was 60. However, the “AP1-2” simultaneously received 12
requests from the “Client PC1”.
The all received requests to “AP2-2” were “GET” command for getting image files. Therefore,
the logs of the “Application 1” were investigated more. The “Application 1” is a web application
in Java language. Usually, to keep the session between the client computer and the server
computer, an HTTP request header includes “session ID” using cookies. However, an HTTP
request header without “session ID” sends to the server because of performance of the web
application. That is, when the image files get from the server, the HTTP request without session
ID sends. The reason is that the getting image files do not need consistency of the processing.
After that, the last access of the HTTP request from “Client PC1” at 14:37:24 was on the “AP12”
for getting image files. Therefore, the session between the “AP1-1” and the “Client PC1” was
broken at the last access. Therefore, the next HTTP request from “Client PC1” reached to “AP12”
because the “AP1-1” had heavy load. Therefore, the next request was not able to be processed on
the “AP1-2”. The “Client PC1” was not authorized to access “AP1-2” of the “Application 1”.
This case was complicated. The software had a problem of sending session ID at the getting
image files, at the same time, the infrastructure had a problem with the load balancer setting. The
software problem was that the HTTP request header did not include session ID for keeping the
Fig.12 The replaying and tracing result
session. The problem of the load balancer was that “Fast cash” setting was wrong. The fast cash is
for downloading repeatable image files. However, paths for the fast cash function did not include
the path of the image files of the “Application 1”. If either of them was doing the appropriate
treatment, the failure would not have occurred. Moreover, the failure rarely occurred. Of course,
if the “AP1-1” server’s load is a little, the failure will not occur. Software problems and
18. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
18
infrastructure problems and network load are influenced each other. The detecting the faults in
such situation is too difficult for software engineer alone.
The replaying and the tracing such as Fig.12 helps software engineers investigate faults in the
cases of both software problems and infrastructure problems. Even if software engineers cannot
completely find infrastructure faults, they will be able to distinguish software problems from
infrastructure problems using the replaying and the tracing of the tool.
7. SUMMARY
We propose a tool for evaluating web applications. The feature of the tool is seamless evaluation
between software and infrastructure. The logs recording actions are set to network devices,
servers, and web applications in the system development phase. After that, if system failures
occur at the system operation phase, the replaying and the tracing tool helps software engineers
detect faults. Even if the failure occurs caused by the complicated faults that are influenced both
software and infrastructure, software engineers alone will be able to distinguish between software
faults and infrastructure faults using the replaying and the tracing of the tool.
In future, the tool of the replaying and the tracing will be improved to adapt a large-scale
computer system. After that, we will evaluate in several real system faults of the large-scale
computer system.
ACKNOWLEDGEMENT
This work was partially supported by JSPS KAKENHI Grant Number JP26330093. We thank
Fujitsu Marketing Limited and Hannan university for providing non-disclose and valuable system
design documents, log data.
REFERENCES
[1] Noriko Hanakawa and Masaki Obana, “Process metrics for system quality with specifications' shifts
from a bid phase to an operation phase”, the 30th International Conference on Software Engineering
& Knowledge Engineering (SEKE2018), Jul, 2018 (appearing).
[2] D. Serpanos, and T. Wolf, Architecture of Network Systems. Morgan Kaufmann Publishers Inc., San
Francisco, CA, 2011.
[3] Noriko Hanakawa, Masaki Obana,”A Proposal for Resolving the Computer System Failures with
Infrastructure Problems and Software Problems”, 2018 International Conference on Software
Engineering and Information Management (ICSIM 2018), Jan. 2018, pp. 45-50.
[4] Masaki Obana, Noriko Hanakawa,”System Metrics for Infrastructure Based on Network Design
Sheets”, IPSJ Journal, vol.57, no 10, pp. 2272—2283, 2016 (In Japanese).
[5] A. Miranskyy, A. Hamou-Lhadj, E. Cialini and A. Larsson, "Operational-Log Analysis for Big Data
Systems: Challenges and Solutions," IEEE Software, vol. 33, no. 2, pp.52-59, Mar.-Apr. 2016.
[6] S. Elbaum, G. Rothermel, S. Karre, and M. Fisher II., “Leveraging User-Session Data to Support Web
Application Testing,” IEEE Transaction Software Engineering, vol.31, no.3, pp.187-202, March
2005.
[7] J. Wang, W. Dou, C. Gao, and J. Wei, “JSTrace: Fast Reproducing Web Application Errors,” Journal
of Systems and Software, ISSN 0164-1212, https://doi.org/10.1016/j.jss.2017.06.038.
19. International Journal of Software Engineering & Applications (IJSEA), Vol.9, No.4, July 2018
19
[8] R. Murillo-Garcia and G. L. Miotto, "A Log Service Package for the ATLAS TDAQ/DCS Group," in
IEEE Transactions on Nuclear Science, vol. 54, no. 1, pp. 202-207, Feb. 2007.
[9] A. Dabir, and A. Matrawy, “Bottleneck Analysis of Traffic Monitoring using Wireshark,” 2007 In
Proceedings of the Innovations in Information Technologies (IIT), Dubai, 2007, pp. 158-162.
[10] V. Y. Hnatyshin, and A. F. Lobo, “Undergraduate data communications and networking projects
using opnet and wireshark software,” In Proceedings of the 39th SIGCSE technical symposium on
Computer science education (SIGCSE '08). ACM, New York, pp.241-245, 2008.
[11] https://www.wireshark.org/download.html
[12] F. Willnecker, A. Brunnert, W. Gottesheim, and H. Krcmar. “Using Dynatrace Monitoring Data for
Generating Performance Models of Java EE Applications,” In Proceedings of the 6th ACM/SPEC
Intern,tional Conference on Performance Engineering (ICPE '15). ACM, New York, pp.103-104,
2015.
[13] F. Willnecker, M. Dlugi, A. Brunnert, S. Spinner, S. Kounev, W. Gottesheim, H. A. Krcmar, M.
Beltran, W. Knottenbelt, and J. Bradley, “Comparing the Accuracy of Resource Demand
Measurement and Estimation Techniques,” In Proceeding of the Computer Performance Engineering
12th European Workshop, Madrid, Spain, pp.115-129, 2015.
[14] S. Guckenheimer and J. J. Perez, Software Engineering with Microsoft Visual Studio Team System
(Microsoft .NET Development Series), Addison-Wesley Professional, 2006.
[15] M. Audris, S. Forrest (Editor), S. Janice (Editor), S. Dag I. K.(Editor), Chapter 7 Missing Data in
Software Engineering, Guide to Advanced Empirical Software Engineering, pp.185-200, Springer
London, 2008.
[16] https://httpd.apache.org/
[17] https://www.mysql.com/
[18] https://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-iptables.html
[19] T. Abbes, A. Bouhoula, and M. Rusinowitch, “An inference system for detecting firewall filtering
rules anomalies,” In Proceedings of the 2008 ACM symposium on Applied computing, Brazil,
pp.2122-2128, 2008.