A Survey of Techniques in Software Repository
Mining
Naveen Sahu
Indian Institute of Technology Guwahati
Abstract
Software Repositories are used to record the history of the les in the project, info about what was modied, by whom and when, the extent of the modi- cation etc. Mining of the data in the repositories can give ideas about the development process of the systems. For example, whether development doc- umentation is synchronous with the implementation, what is the bug resolve rate, are the features requested implemented, information about project 's evolution, collaboration b/w the developers, their contributions, milestones in the development of the project, idea of the design of the software, nd the dependencies b/w the parts
…show more content…
This paper sheds some light on the current approaches and recent developments in the mining of software repositories. The topics include
Clone Detection
1
Frequent pattern mining
Classication with supervised learning
Information retrieval methods
1 Clone Detection
When the software are created, many times the codes are simply copy-pasted, with small changes. This is called cloning. Investigating these copy-pasted sections of source codes is called Clone Detection. It was discovered that about 10-15% of the code in a software system was copy-pasted[1] For refac- toring, or at least noting. Clone detection techniques try to nd cloned codes. Techniques for detecting clones may include programming language speci c parsing to simple text based analysis. Parsing code technique have an advantage as they are semantically aware which allows them to detect similarities between the structures of dierent code segments where the dif- ference between naming of variables and parameters is too much. The latter, on the other hand, can be used over a broad variety of material as they aren 't language specic.
NiCad[2], a clone detector tool, uses hybrid clone detection method, com- bining features of both language sensitive parsing and text based analysis.
It works in three stages Parsing, Normalization and comparison. The rst stage involves parsing the input source to extract all fragments of a given granularity, such as
[How is the user involved in the project? Relate where possible to Rational Unified Process
Communication is an important part of our everyday lives. Without communications skills, it is extremely difficult to preform many simple tasks. With one person describing to another the function to perform, there needs to be clear description of the task at hand. When dealing with software projects, it is imperative that the end user convey their requirements of the software to the developer. Effective communication skills need to be used in order for a software project to be successful. A lack of communication to define a software project will not only doom the project but quickly increase the project budget due to misunderstandings and rework.
3. conceptualize/ initialize, develop project charter and detailed project plan based on scope, schedule, budget, quality objectives, execute/control the project using approach such as the SDLC, close project, evaluate project success
1. Use of phase gate model and project management tools same as traditional. On top of this, the Primavera software was used for the scheduling of the project.l
in order to attempt to optimize it. When the designs ar e complete, the software provided by the
It highlights the Project selection, for maximum impact define techniques, leadership and team management, process management and measures, conversion of practical problem to statistical problem and to develop statistical solution and convert back to practical solution for implementation and project management techniques such as presentation of project, project closure and successful transition by using tools and analysis methods(SWOT, total productive maintenance, measurement system re-analysis, sustain improvement, hypothesis testing, additional analysis). direct for improving project any of the critical to x (CTX), feedback from customer and meet customer request, Six Sigma Roles and Responsibilities, DOE, visual control, kanban-Pull & Takt time, common DFSS methodology, design for X, robust design and process, porter's five competitive F, theory of inventive problem,
It is impossible to provide complete coverage of all available open source projects, as new ones are being added at a rapid pace. However, the survey did capture important information concerning the types of open source currently being used. The research methodology employed a survey questionnaire, video interviews, and secondary sources from websites, industry reports, and other sources.
The purpose of the study is to show the capability to understand the set of laws that are the part of principles of the software engineering. In this paper, it is discussed that there are many laws related to the software engineering but only few of them are to be addressed. Boehm first and second law, Conway’s laws, Parnas laws & Corbato law were discussed with examples. There are two relationship processes that are also discussed,
Nowadays, societies crucially depend on high-quality software for a large part of their day to day activities. Hence, software professionals, researchers, managers, and practitioners alike have to decide what software technologies and products
One of the most important steps towards the completion of this project was the formulation
Role and Responsibilities in the project: In this project we required Experienced person in database tool, and also we required a good design to done our project without any complications and provide security on each every step in designing and modelling .So that we organised a structure to done everything in a systematic way to done the project in a smooth way
requirements of the complete system are clearly defined and understood and also the project is big
-This is the most important question,that must be consider as it suggests the purpose of the software project and supports to the project ideas,that are unique.The more it is effective,there is a growth of an organization.
Establishing the project 's software scope and boundary conditions, the overall cost and schedule for the project and the
All projects are feasible given unlimited resources and infinite time. But the development of software is plagued by the scarcity of resources and difficult delivery rates. It is both necessary and prudent to evaluate the feasibility of a project at the earliest possible time.