301,083 research outputs found
Slicing of Web Applications Using Source Code Analysis
Program slicing revealed a useful way to limit the search of software defects during debugging and to better understand the decomposition of the application into computations. The web application is very widely used for spreading business throughout the world. To meet the desire of the customers, web applications should have more quality and robustness. Slicing, in the ?eld of web application, helps disclosing relevant information and understanding the internal system structure. This in turn helps in debugging, testing and in improving the program comprehensibility. The system dependence graph is an appropriate data structure for slice computation, in that it explicitly represents all dependencies that have to be taken into account in slice determination. We have extended the system dependence graph to Web-Application Dependence Graph (WADG). We have developed a partial tool for automatic generation of the WADG and computation of slices. In our literature survey, we found that most of the automatic graph generation tools are byte-code based. But, our tool uses the dependency analysis from the source code of the given program. We have presented three case studies by taking open source web programs and applying our techniques and slicing algorithm. We have found that the slices computed is correct and precise, which will be help full for program debugging and testing. Construction of the system dependence graph for Web applications is complicated by the presence of dynamic code. In fact, a Web application builds the HTML code to be transmitted to the browser at run time. Knowledge of such code is essential for slicing
Using Prolog techniques to guide program composition
It is possible to build complex programs by repeated combination of pairs of simpler
programs. However, naive combination often produces programs that are far too inefficient.
We would like to have a system that would produce the optimal combination of two
programs, and also work with minimal supervision by the user. In this thesis we make a
significant step towards such an ideal, with the presentation of an interactive system based
on program transformation complemented with knowledge of the program development.
No single method is known that will combine all programs efficiently and so a variety of
different combination methods must be used. However, to get good results it is necessary
that the methods have access to knowledge about the program structure. To provide this
knowledge we have decided to require that the initial programs be constructed in a spe¬
cialised editor which embodies knowledge of certain standard Prolog practices (techniques)
to aid the program construction, but more importantly can record pertinent parts of the
program development into a structure called the program history. This program history
contains the initial control flow (skeleton) and the techniques that the user applied in the
construction of the program. Hence it carries knowledge about the program that would
otherwise be very difficult to extract from just the program itself.
The first contribution of this thesis is to recognise that knowledge contained in the program
history can be used in program transformation, reducing the need for user interaction. The
interactive composition system presented can automatically take major decisions, such as
the selection of which subgoal should be unfolded or the laws to be applied in order to
get a more efficient combined program. Furthermore, a component of our system called
the selection procedure can decide automatically which is the most suitable combination
method by analysing the characteristics of the initial pair of programs as given by their
program histories. Approaches that do not use the program history suffer from the problem
that it is not always practical to extract the required information about the structure of
the program.
Our second contribution is to provide a range of new methods which exploit the program
history in order to produce more efficient programs, and to deal with a wider range of
combination problems. The new methods not only combine programs with the same control
flow, but can also deal with some cases in which the control flows are different. All of these
methods are completely automatic with the exception of our "mutant" method in which
the combined clause needs to be approved by the user.
The third contribution is to present relevant properties in our composition system. These
properties fall into the following three groups: (i) properties which hold after applying each
combination method, (ii) properties about the type of program which is obtained after
the combination, (iii) properties of the join specification which defines the characteristics
of the combined program
Recommended from our members
Modelling student errors in physics problem-solving
The motivation for this work has been the development of knowledge about the behaviour of human problem-solvers that would enable an intelligent machine tutor to be designed. In the domain of Newtonian Mechanics, this breaks down into two necessary sub-tasks; how do people decide what equation to generate; and what do they produce when they do try to generate an equation? Although these are psychologically separate questions, an automatic tutor for the domain would need to make use of both kinds of knowledge.
Therefore, strategies for controlling search in physics problem-solving are investigated, and a computational model of erroneous solutions is described. Experimental data is used to evaluate the model. Errors in the domain are classified, and the behaviour of problem-solvers predicted under certain circumstances.
Prediction of Novice errors is a crucial ability for an intelligent tutorial system, and the error analysis implemented in the NEWT program is the main contribution of this thesis.
The investigation has two principal aims:
(1) To develop a model that allows a student's future behaviour to be predicted from an analysis of his past actions. It is argued that this is a necessary prerequisite for the construction of an intelligent tutorial system.
(2) To identify the psychological mechanisms used by problem-solvers working in the domain.
The thesis attempts to achieve these aims in two main ways:
(1) A computer program called NEWT has been constructed, which solves problems of Newtonian Mechanics correctly, or in one of a number of erroneous ways. This allows human errors to be matched, classified, and in some cases predicted.
(2) An analysis of published data leads to the formulation of a control strategy termed "planstacking". This is compared to alternative control strategies, and shown to explain existing data more adequately.
The program is evaluated both as a psychological theory, and as a proposed student model for use in a computer-based tutorial system. The NEWT program was developed from the MECHO program written by Bundy, Byrd, Luger, Mellish and Palmer (1979), at the Department of Artificial Intelligence, Edinburgh University. This program was adapted to produce erroneous problem solutions by the inclusion of procedures to implement malrules observed in the domain
Simplifying the construction of domain-specific automatic programming systems: The NASA automated software development workstation project
An overview is presented of the Automated Software Development Workstation Project, an effort to explore knowledge-based approaches to increasing software productivity. The project focuses on applying the concept of domain specific automatic programming systems (D-SAPSs) to application domains at NASA's Johnson Space Center. A version of a D-SAPS developed in Phase 1 of the project for the domain of space station momentum management is described. How problems encountered during its implementation led researchers to concentrate on simplifying the process of building and extending such systems is discussed. Researchers propose to do this by attacking three observed bottlenecks in the D-SAPS development process through the increased automation of the acquisition of programming knowledge and the use of an object oriented development methodology at all stages of the program design. How these ideas are being implemented in the Bauhaus, a prototype workstation for D-SAPS development is discussed
A study of autonomous rendezvous and docking systems
An overview of activities in the automatic rendezvous and docking area is presented. A representative mission scenario is covered. A statement of the problem is made and the requirements for the extraction of relative attitude and position data are delineated. A systems block diagram is included and the integral functions which go to make up an autonomous docking system is described. A system was simulated, and the digital simulation is described along with some representative results of a system based a laser ranging device as the sensor. A television camera as the ranging sensor was also considered, one video based automatic docking scheme is discussed along with some representative results
NASA space station automation: AI-based technology review. Executive summary
Research and Development projects in automation technology for the Space Station are described. Artificial Intelligence (AI) based technologies are planned to enhance crew safety through reduced need for EVA, increase crew productivity through the reduction of routine operations, increase space station autonomy, and augment space station capability through the use of teleoperation and robotics
Conclusions and implications of automation in space
Space facilities and programs are reviewed. Space program planning is discussed
Technology assessment of advanced automation for space missions
Six general classes of technology requirements derived during the mission definition phase of the study were identified as having maximum importance and urgency, including autonomous world model based information systems, learning and hypothesis formation, natural language and other man-machine communication, space manufacturing, teleoperators and robot systems, and computer science and technology
- …