Loading...
Search for:
mirian-hossein-abadi--hassan
0.192 seconds
Total 2227 records
Nondeterminism in CZ Specification Language
, M.Sc. Thesis Sharif University of Technology ; Mirian Hossein Abadi, Hassan (Supervisor)
Abstract
Due to the high level abstraction inherent in most formal specifications and the need to formally specify and develop nondeterministic systems, such as concurrent, probabilistic, and game-like ones, nondeterminism comes into formal specifications inevitably. As it will be shown in this thesis, after developing programs constructively from implicitly nondeterministic specifications, which have been written in the CZ (constructive Z) specification language, only one of the allowable, specified behaviors will appear in final programs. In this way, the implementer will be provided with only one of the possible implementations that is not necessarily the best one. When the nondeterminism involved...
Test Cases Selection Based on the Software Source Code Features
, M.Sc. Thesis Sharif University of Technology ; Mirian Hossein Abadi, Hassan (Supervisor)
Abstract
Quality Assurance is one of the crucial steps in software production and should be repeated. These days, software companies are using continuous integration (CI) pipelines for building software and controlling software quality. Regression test, is a test which is performed after each change in software, to assess the quality of the software system and its ability to meet functional and non-functional needs. Each execution of this test, leads to infrastructure costs and a waste of time for the software development team. The reason is that the development team has to wait until the test is completed to ensure that the changes are correct. To reduce this cost, methods such as prioritizing and...
Improving the Efficiency of Program State Coverage Criterion
, M.Sc. Thesis Sharif University of Technology ; Mirian Hossein Abadi, Hassan (Supervisor)
Abstract
One of the most crucial methods to Ensure correct software performance is testing. On this ground, one of the most critical discussions regarding software testing is the effectiveness of a test suite. Program state coverage is a criterion for determining the effectiveness of a test suite. This criterion indicates the number of program states that are executed for the lines. Since the total number of program states cannot be calculated to measure coverage, this criterion proposes a fixed number of 10 to measure program state coverage. Also, according to calculations for the program state in the execution of each line, the time complexity of this criterion is high. In this thesis, providing...
A Technique for Program Fault Location Using External Information Sources
, M.Sc. Thesis Sharif University of Technology ; Mirian Hossein Abadi, Hassan (Supervisor) ; Habibi, Jafar (Co-Advisor)
Abstract
In recent years, there have been many studies aimed at finding program defect using information of previous ones. These studies, by using the program text, previous bugs, and information related to version control and project management systems create an defect prediction model to find other defect prone areas in the program. The output of defect prediction methods is part of the program’s text, which is likely to have defects. Considering that the result of this method is just the text of the program and does not provide any extra information for finding defects to the user, these methods have not yet been applied to the software industry. On the other hand, by spreading the use of Q & A...
Event-Driven Web Application Testing
, M.Sc. Thesis Sharif University of Technology ; Mirian Hossien Abadi, Hassan (Supervisor)
Abstract
There are different classes of event-driven softwares. These softwares include Graphical user interface, web application or embedded software. In these kinds of softwares, each user's action while using application is known as "event". The application responds to the action through changing behaviour and then waiting for another event. Testing software is the best way for checking the quality assurance of event-driven softwares. However, there are some problems as cause of creating lots of event sequences in testing these kinds of softwares. Therefore, many solutions are introduced for these problems. The goal of this report, is presenting new testing procedure for event-driven web...
Telephony Text-Independent Speaker Verification in Total Variability Space
, M.Sc. Thesis Sharif University of Technology ; Sameti, Hossein (Supervisor)
Abstract
Given two speech segments, the task of speaker verification is defined as determining whether or not both of them have been uttered by the same person. Most of the new approaches in speaker verification are based on Total Variability Space which is the result of applying a factor analysis on GMM mean supervector space. The representation of speech with arbitrary duration in this space is called i-vector.
In this thesis, first the basics of speaker verification is described and i-vector approaches are explained in more details. Then, a method for improving accuracy of Cosine Similarity Scoring is proposed which normalize the raw score using the score of test utterance against a model- and...
In this thesis, first the basics of speaker verification is described and i-vector approaches are explained in more details. Then, a method for improving accuracy of Cosine Similarity Scoring is proposed which normalize the raw score using the score of test utterance against a model- and...
An Algorithm for Frequent Pattern Mining in Distributed Data Mining
, M.Sc. Thesis Sharif University of Technology ; Mirian Hossinabadi, Hassan (Supervisor)
Abstract
Distributed computation has an important role in data mining. Data mining, usually requires a lot of resources both in terms of storage space and computing time. To reach scalability, some mechanisms for the distribution of work is required. Moreover, in many systems today, data is distributed in several databases. In this case, due to traffic overload in network, transferring all data to a central server and applying process centrally is inefficient and is subject to privacy issues. Distributed data mining provides some techniques for efficient mining in decentralized mode. Identifying frequent itemsets is one of the important branches of data mining. Frequent patterns are set of items,...
A Semi-Automated Software Testing Using Input Space Partitioning
, M.Sc. Thesis Sharif University of Technology ; Mirian Hosseinabadi, Hassan (Supervisor)
Abstract
It's impossible to check all inputs of a software program due to infinite input domain, therefore the domain should be somehow restricted. One popular approach to do so, is input space partitioning. In this approach, the input domain has been modeled and partitioned into some equivalent classes or blocks. Using these blocks, it's possible to select one sample from each one and reduce the number of test cases to a small desirable number. To automate this approach, it's essential to firstly define the software requirements specification in a well-defined machine understandable template, then with processing this document we can detect program’s functionality and testable functions. Our goal in...
Generating Mutants to Improve Test Suites: A Search-Based Approach
, M.Sc. Thesis Sharif University of Technology ; Mirian-Hosseinabadi, Hassan (Supervisor)
Abstract
Mutation testing is known to be one of the best strategies to improve the quality of test suites, consequently the quality of the software. However, some challenges make mutaton testing unpractical. One of the main challenges confronting mutation testing is that it demands exhustive computation and is time consuming because of the large number of mutants that need to be compiled and executed on the test cases of the test suite. Many researches have been conducted to reduce the number of mutants without losing the main characteristics of the all possible mutants. Most of these researches select the mutants without considering the characteristics of the test suite, therefore the reduced set of...
An Improvement on Test Driven Development
, M.Sc. Thesis Sharif University of Technology ; Mirian Hosseinabadi, Hassan (Supervisor)
Abstract
Less than a decade ago, Test Driven Development (TDD) emerged as a quality assurance approach and applied in agile software developments. In this method, test cases act as software development driver and a new piece of code is added just to satisfy the corresponding test case in the test repository. Although the results of applying TDD show its success in software quality promotion, but the method suffers from some limitations and shortcomings that make its usage hard in complicated and enterprise software projects, particularly in the industry. The goal of the following research is to mitigate the drawbacks of TDD and improve the method in order to make it more applicable for complicated...
XML Query Processing Optimization
, M.Sc. Thesis Sharif University of Technology ; Mirian Hosseinabadi, Hassan (Supervisor)
Abstract
XML has been emerged as a de facto standard for data exchange and information transition over computer networks including Web. On the other hand by the growing use of sensors and data streams over computer networks, the usage of XML data format for data streams between data and processing units like sensors and information centers is growing. In this thesis first we do a survey on XML query processing and optimization and after that we propose methods for optimizing query processing over XML data streams based on data stream unique attributes and incremental completeness of XML data trees for increasing the speed of processing and decreasing the amount of memory that processing needs. For...
A Method for Testing Aspect-Oriented Programs
, M.Sc. Thesis Sharif University of Technology ; Mirian Hosseinabadi, Hassan (Supervisor)
Abstract
Aspect-Oriented Programming is a software engineering paradigm that offers new constructs, such as join points, pointcuts, advices and aspects in order to improve separation of crosscutting concerns. The new constructs bring new type of programming faults with respect to crosscutting concerns, such as incorrect pointcuts, advice or aspect precedence. In fact, existing object-oriented testing techniques are not adequate for testing aspect-oriented programs. As a result, new testing techniques must be developed. In this paper, an approach based upon UML sequence diagrams for testing aspect- oriented program is presented. The proposed approach focuses on integration of one or several...
An Agile Methodology with the Facility of Reusing Common Assets
, M.Sc. Thesis Sharif University of Technology ; Mirian Hosseinabadi, Hassan (Supervisor)
Abstract
Software Reuse, the use of (pre)existing artifacts to create new systems, can reduce development costs and improve software quality and productivity. With a primary investment, Software Product Line facilitates a systematic reuse of the common parts of an specific domain in developing similar systems of that domain. On the Contrary, Agile Methods who value working software over comprehensive documentations and such investments is not done, lack reuse in developing similar systems. Here the question arises: why do we completely or almost miss such reuse when the only focus is on creating working software? When such investments or additional works like documentation are not done? Is there any...
Evolutionary Testing of Object Oriented Softwares
, M.Sc. Thesis Sharif University of Technology ; Mirian Hosseinabadi, Hassan (Supervisor)
Abstract
Application of evolutionary algorithms in software testing, called evolutionary testing, has been an area of interest for many researchers. Automatic generation of test cases is the main purpose of evolutionary testing. In recent years lots of tools for test case generation in structured and object oriented softwares has been developed using different evolutionary algorithms. All of theses tools targeted unit test case generation and high code coverage of class under test. In this thesis we propose an approach for generation of integration test cases in object oriented softwares. We use bottom-up integration approach for generation of test cases by applying the solutions presented for...
Testing Android Event-Driven Applications
, M.Sc. Thesis Sharif University of Technology ; Mirian Hosseinabadi, Hassan (Supervisor)
Abstract
There are different classes of event-driven softwares. These softwares include Graphical user interface, web application or embedded software. In these kinds of softwares, each user’s action while using application, is known as “event”. The application responds to the action through changing behavior and then waiting for another event. Testing software is the best way for checking the quality assurance of event-driven softwares. However, there are some problems, such as lengthy event sequences, in testing these kinds of softwares. Therefore, many solutions are introduced for these problems. The goal of this report, is presenting new testing procedure for event-driven Android applications....
An Approach for Scheduling of Resources in Agent Oriented Work-flow Management System
, M.Sc. Thesis Sharif University of Technology ; Mirian, Hassan (Supervisor)
Abstract
A workflow management system is a software system which manages and coordinates the operational tasks of an organization. Typically, the def inition of a workflow involves human and computer resources and tools on various geographic locations, and thus the concerns of distributed systems are one of the main challenges in this domain. Following this,allocating various resources to different tasks of a workflow and schedul ing them in a manner which satisfies some predefined constraints is one of the new and fundamental challenges in this field.The main goal of this research is to design an agent-oriented workflow system which utilizes a novel method for resource allocation and schedul ing...
A Technique for Transforming Computer Independent Model to Platform Independent Model in Model Driven Development of Software
, M.Sc. Thesis Sharif University of Technology ; Mirian Hosseinabadi, Hassan (Supervisor)
Abstract
Software Development is an engineering activity and similar to other engineering activities requires a process. Model-driven architecture introduces a group of processes which have models as their pivot. Throughout such processes we have to deal with models and model transformations. Model-driven architecture presents different abstraction levels for models used in a process. Model-driven architecture which, starting from business models acquired from the environment sets out guidelines for obtaining models that produces software source code as its final goal. The most important issue in model-driven architecture is transformation between models of different abstraction levels. Among them...
An Evolutionary Feature-Oriented Approach For Software Product Line Engineering
, M.Sc. Thesis Sharif University of Technology ; Mirian Hosseinabadi, Hassan (Supervisor)
Abstract
In the current decade there has been research works around adopting agile methodologies for software product line engineering. However, the emphasis has been on the process part of the methodology and the main product which is the source code has been neglected.The prevalent modeling and implementation method of software product line is the featureoriented method. The concept of ”Feature-to-code mapping” is introduced in the implementation phase which recently novel approaches have been proposed to realize it.Despite superiority of the novel approaches in this field, prevalent industrial product lines still use C language and map features to code by leveraging traditional preprocessors of C...
Test Case Refactoring in Test-Driven Development of Software: A Pattern-Based Approach
, M.Sc. Thesis Sharif University of Technology ; Mirian Hosseinabadi, Hassan (Supervisor)
Abstract
Design patterns as successful solutions of recurring problems, have attracted much attention in the field of Software Engineering. These Patterns, which are derived from the principles of Object-Oriented programming, are fine-grained architectures that have significant impact on software quality attributes such as maintainability, scalability, configurability, understandability, and so on. On the other hand, Refactoring as behavior protective method for making changes to software structure, to enhance maintainability and reduce the cost of changes, is now widely used in industry. This structural changes, can be as simple as moving a method or adding a parameter, or as complex as transforming...
Testing of Workflow Engine Based Systems: A Model-Based Approach
, M.Sc. Thesis Sharif University of Technology ; Mirian Hosseinabadi, Hassan (Supervisor)
Abstract
As the increased use of workflow engine based systems in various domains, quality assurance and testing them has become critical. The majority of these systems are designed and implemented by a workflow language, so testing these systems is highly dependent of workflow language. In this thesis the common domain of business processes is chosen. In this area, little researches have examined the implemened processes with the second version of BPMN modeling language, and most methods, examined another language called BPEL. For this reason and due to the increased use of BPMN language because of its unique characteristics, this study focuses on testing of systems implemented with this language....