270 research outputs found

    Analyse the risks of ad hoc programming in web development and develop a metrics of appropriate tools

    Get PDF
    Today the World Wide Web has become one of the most powerful tools for business promotion and social networking. As the use of websites and web applications to promote the businesses has increased drastically over the past few years, the complexity of managing them and protecting them from security threats has become a complicated task for the organizations. On the other hand, most of the web projects are at risk and less secure due to lack of quality programming. Although there are plenty of frameworks available for free in the market to improve the quality of programming, most of the programmers use ad hoc programming rather than using frameworks which could save their time and repeated work. The research identifies the different frameworks in PHP and .NET programming, and evaluates their benefits and drawbacks in the web application development. The research aims to help web development companies to minimize the risks involved in developing large web projects and develop a metrics of appropriate frameworks to be used for the specific projects. The study examined the way web applications were developed in different software companies and the advantages of using frameworks while developing them. The findings of the results show that it was not only the experience of developers that motivated them to use frameworks. The major conclusions and recommendations drawn from this research were that the main reasons behind web developers avoiding frameworks are that they are difficult to learn and implement. Also, the motivations factors for programmers towards using frameworks were self-efficiency, habit of learning new things and awareness about the benefits of frameworks. The research recommended companies to use appropriate frameworks to protect their projects against security threats like SQL injection and RSS injectio

    Implementation of Survey and Evaluation System

    Get PDF
    The goal of this project was to evaluate technologies for a survey solution for HopeHouseOfColorado website and implement the best solution. Thus allow the website administrators the ability to create surveys and manage the collected data. The implemented solution allowed the administrators to present the survey information in an organized and graphical manner. The implemented survey tool improved the survey process at HopeHouse and standardized the data collection format

    Survey of Technologies for Web Application Development

    Full text link
    Web-based application developers face a dizzying array of platforms, languages, frameworks and technical artifacts to choose from. We survey, classify, and compare technologies supporting Web application development. The classification is based on (1) foundational technologies; (2)integration with other information sources; and (3) dynamic content generation. We further survey and classify software engineering techniques and tools that have been adopted from traditional programming into Web programming. We conclude that, although the infrastructure problems of the Web have largely been solved, the cacophony of technologies for Web-based applications reflects the lack of a solid model tailored for this domain.Comment: 43 page

    Fast and Lean Immutable Multi-Maps on the JVM based on Heterogeneous Hash-Array Mapped Tries

    Get PDF
    An immutable multi-map is a many-to-many thread-friendly map data structure with expected fast insert and lookup operations. This data structure is used for applications processing graphs or many-to-many relations as applied in static analysis of object-oriented systems. When processing such big data sets the memory overhead of the data structure encoding itself is a memory usage bottleneck. Motivated by reuse and type-safety, libraries for Java, Scala and Clojure typically implement immutable multi-maps by nesting sets as the values with the keys of a trie map. Like this, based on our measurements the expected byte overhead for a sparse multi-map per stored entry adds up to around 65B, which renders it unfeasible to compute with effectively on the JVM. In this paper we propose a general framework for Hash-Array Mapped Tries on the JVM which can store type-heterogeneous keys and values: a Heterogeneous Hash-Array Mapped Trie (HHAMT). Among other applications, this allows for a highly efficient multi-map encoding by (a) not reserving space for empty value sets and (b) inlining the values of singleton sets while maintaining a (c) type-safe API. We detail the necessary encoding and optimizations to mitigate the overhead of storing and retrieving heterogeneous data in a hash-trie. Furthermore, we evaluate HHAMT specifically for the application to multi-maps, comparing them to state-of-the-art encodings of multi-maps in Java, Scala and Clojure. We isolate key differences using microbenchmarks and validate the resulting conclusions on a real world case in static analysis. The new encoding brings the per key-value storage overhead down to 30B: a 2x improvement. With additional inlining of primitive values it reaches a 4x improvement

    An intelligent decision support tool for early diagnosis of functional pituitary adenomas

    Get PDF
    In this work, a web based integrated Medical Decision Support System (MDSS) tool for mainly early diagnosis of functional pituitary adenomas (i.e., somatotrophinoma, corticotrophinoma and prolactinoma) is developed. In the MDSS tool, hormone diseases are described by means of well-classified set of attributes generated from the typical sign and symptoms of disorders.The proposed tool is based on a stationary linear stochastic system model which specifically predicts the selected hormone diseases employing certain system parameters. The MDSS tool is user friendly which includes questions and answers at the opening session of the self-test. Questions and answers session will be completed by “yes” or “no” type of simple-responses. Based on our clinical results, MDSS tool yields more than 99% correct decisions on the selected hormone diseases. It is expected that effective use of the proposed MDSS tool will save substantial amount of valuable time of an expert endocrinologists and minimizes the cost of diagnosis. Furthermore, it will provide the opportunity for early diagnosis for the patient and the expert medical doctor to take the necessary preventive measures.Publisher's Versio

    Making Games to Teach Physics and Mechanics

    Get PDF
    This survey paper introduces engineering educators to a subfield of computer graphics called physically-based animation (PBA) to advocate for collaboration in creating courses to improve student learning in STEM fields, especially in engineering. Engineering students may not realize the degree to which they can leverage their education to enter the entertainment and simulation industries. The central hypothesis of the paper is that introductory physics can be taught via PBA. The paper provides case studies that demonstrate early promise. The paper gives an overview of how “game engineers” leverage theoretical physics and mathematical concepts merged with design aesthetics to portray realistic and fun experiences, manifesting as game physics. As computing power has increased, the convergence of real and fake physics presents an opportunity to teach physics to non-game students. The field of PBA shows promise for enhancing physics education, but much work remains to determine how it may happen and the place in a college curriculum

    The Rascal meta-programming language - a lab for software analysis, transformation, generation & visualization

    Get PDF
    National audienceThis paper summarizes the goals and features of a do- main specific programming language called Rascal. On the one hand it is designed to facilitate software research -- research about software in general. On the other hand Rascal is applied to specific software portfolios as well, as a means to improve them and as a means to learn to understand them. Specifically, Rascal is used create tools that analyze, transform, generate or visualize source code of software products. Such tools are motivated by the need to im- prove quality of existing software or the need to lower its cost-of-ownership. More generally such tools are cre- ated to build laboratory experiments that observe and measure quality, or try and improve software quality, etc. In this paper we provide an overview of Rascal as a "domain specific language for meta programming". We first explain its goals and then its features. We end by highlighting some example applications in the area of software analysis and transformation

    Integrated security sub-system for IPBrick

    Get PDF
    Estágio realizado na iPortalMais e orientado pelo Eng.º Hélder RochaTese de mestrado integrado. Engenharia Electrotécnica e de Computadores. Faculdade de Engenharia. Universidade do Porto. 200

    Information system for management of biological samples

    Get PDF
    The thesis addresses the problematic of handling, storage and analysis of large quantities of data, which are the product of the working process in research laboratories. A supporting information system that addresses the aforementioned issue was developed and implemented. Printed data records were replaced with centralized database environment. User interaction with the database was realized via a graphic user interface, which provides input and display of data. In addition to the electronic recording of samples and storage of sample data, information system also introduces standardized markings of samples with easily readable QR codes, which provide unique sample identifiers. The system also introduces the structure of physical labels on the sample itself, which, in addition to optical code, must also contain the data necessary for rapid recognition of samples. We get acquainted with the technologies and methodologies used. We review the entire process of development and implementation of individual components of the system. Finally, we describe the steps of the process in which samples are included, from labeling and recording the initial sample, to the conclusion of the experiment with the report of the analysis of obtained data for each sample

    Gathering solutions and providing APIs for their orchestration to implement continuous software delivery

    Get PDF
    In traditional IT environments, it is common for software updates and new releases to take up to several weeks or even months to be eventually available to end users. Therefore, many IT vendors and providers of software products and services face the challenge of delivering updates considerably more frequently. This is because users, customers, and other stakeholders expect accelerated feedback loops and significantly faster responses to changing demands and issues that arise. Thus, taking this challenge seriously is of utmost economic importance for IT organizations if they wish to remain competitive. Continuous software delivery is an emerging paradigm adopted by an increasing number of organizations in order to address this challenge. It aims to drastically shorten release cycles while ensuring the delivery of high-quality software. Adopting continuous delivery essentially means to make it economical to constantly deliver changes in small batches. Infrequent high-risk releases with lots of accumulated changes are thereby replaced by a continuous stream of small and low-risk updates. To gain from the benefits of continuous delivery, a high degree of automation is required. This is technically achieved by implementing continuous delivery pipelines consisting of different application-specific stages (build, test, production, etc.) to automate most parts of the application delivery process. Each stage relies on a corresponding application environment such as a build environment or production environment. This work presents concepts and approaches to implement continuous delivery pipelines based on systematically gathered solutions to be used and orchestrated as building blocks of application environments. Initially, the presented Gather'n'Deliver method is centered around a shared knowledge base to provide the foundation for gathering, utilizing, and orchestrating diverse solutions such as deployment scripts, configuration definitions, and Cloud services. Several classification dimensions and taxonomies are discussed in order to facilitate a systematic categorization of solutions, in addition to expressing application environment requirements that are satisfied by those solutions. The presented GatherBase framework enables the collaborative and automated gathering of solutions through solution repositories. These repositories are the foundation for building diverse knowledge base variants that provide fine-grained query mechanisms to find and retrieve solutions, for example, to be used as building blocks of specific application environments. Combining and integrating diverse solutions at runtime is achieved by orchestrating their APIs. Since some solutions such as lower-level executable artifacts (deployment scripts, configuration definitions, etc.) do not immediately provide their functionality through APIs, additional APIs need to be supplied. This issue is addressed by different approaches, such as the presented Any2API framework that is intended to generate individual APIs for such artifacts. An integrated architecture in conjunction with corresponding prototype implementations aims to demonstrate the technical feasibility of the presented approaches. Finally, various validation scenarios evaluate the approaches within the scope of continuous delivery and application environments and even beyond
    corecore