1,012,375 research outputs found

    Improving (Software) Patent Quality Through the Administrative Process

    Get PDF
    The available evidence indicates that patent quality, particularly in the area of software, needs improvement. This Article argues that even an agency as institutionally constrained as the U.S. Patent and Trademark Office (“PTO”) could implement a portfolio of pragmatic, cost-effective quality improvement strategies. The argument in favor of these strategies draws upon not only legal theory and doctrine but also new data from a PTO software examination unit with relatively strict practices. Strategies that resolve around Section 112 of the patent statute could usefully be deployed at the initial examination stage. Other strategies could be deployed within the new post-issuance procedures available to the agency under the America Invents Act. Notably, although the strategies the Article discusses have the virtue of being neutral as to technology, they are likely to have a very significant practical impact in the area of software

    Improving Software Quality Through Improving Commit Extracting

    Get PDF
    This paper focuses on the relation between maintenance  and quality. our contribution  to improving commit extracting from the source code to improve software quality.  We suggest an approach used for commit extraction to make detecting the bug easier when receive change request  to improve software quality . Using information retrieval ,code authorship technique and  software clustering and change graph to make the system maintainable to improve the readability of software. Keywords:Information retrival ; code authership ; maintance ; change request DOI: 10.7176/IKM/9-8-01 Publication date:September 30th 2019

    Software Development Standard and Software Engineering Practice: A Case Study of Bangladesh

    Full text link
    Improving software process to achieve high quality in a software development organization is the key factor to success. Bangladeshi software firms have not experienced much in this particular area in comparison to other countries. The ISO 9001 and CMM standard has become a basic part of software development. The main objectives of our study are: 1) To understand the software development process uses by the software developer firms in Bangladesh 2) To identify the development practices based on established quality standard and 3) To establish a standardized and coherent process for the development of software for a specific project. It is revealed from this research that software industries of Bangladesh are lacking in target set for software process and improvement, involvement of quality control activities, and standardize business expertise practice. This paper investigates the Bangladeshi software industry in the light of the above challenges.Comment: 13 pages, 3 figures, 11 table

    Cohesion Metrics for Improving Software Quality

    Get PDF
    Abstract Software product metrics aim at measuring the quality of software. Modu- larity is an essential factor in software quality. In this work, metrics related to modularity and especially cohesion of the modules, are considered. The existing metrics are evaluated, and several new alternatives are proposed. The idea of cohesion of modules is that a module or a class should consist of related parts. The closely related principle of coupling says that the relationships between modules should be minimized. First, internal cohesion metrics are considered. The relations that are internal to classes are shown to be useless for quality measurement. Second, we consider external relationships for cohesion. A detailed analysis using design patterns and refactorings confirms that external cohesion is a better quality indicator than internal. Third, motivated by the successes (and problems) of external cohesion metrics, another kind of metric is proposed that represents the quality of modularity of software. This metric can be applied to refactorings related to classes, resulting in a refactoring suggestion system. To describe the metrics formally, a notation for programs is developed. Because of the recursive nature of programming languages, the properties of programs are most compactly represented using grammars and formal lan- guages. Also the tools that were used for metrics calculation are described.Siirretty Doriast

    Improving software quality with programming patterns

    Get PDF
    Software systems and services are increasingly important, involving and improving the work and lives of billions people. However, software development is still human-intensive and error-prone. Established studies report that software failures cost the global economy $312 billion annually and software vendors often spend 50-75% of the total development cost for finding and fixing bugs, i.e. subtle programming errors that cause software failures. People rarely develop software from scratch, but frequently reuse existing software artifacts. In this dissertation, we focus on programming patterns, i.e. frequently occurring code resulted from reuse, and explore their potential for improving software quality. Specially, we develop techniques for recovering programming patterns and using them to find, fix, and prevent bugs more effectively. This dissertation has two main contributions. One is Graph-based Object Usage Model (GROUM), a graph-based representation of source code. A GROUM abstracts a fragment of code as a graph representing its object usages. In a GROUM, nodes correspond to the function calls and control structures while edges capture control and data relationships between them. Based on GROUM, we developed a graph mining technique that could recover programming patterns of API usage and use them for detecting bugs. GROUM is also used to find similar bugs and recommend similar bug fixes. The other main contribution of this dissertation is SLAMC, a Statistical Semantic LAnguage Model for Source Code. SLAMC represents code as sequences of code elements of different roles, e.g. data types, variables, or functions and annotate those elements with sememes, a text-based annotation of their semantic information. SLAMC models the regularities over the sememe sequences code-based factors like local code context, global concerns, and pair-wise associations, thus, implicitly captures programming idioms and patterns as sequences with high probabilities. Based on SLAMC, we developed a technique for recommending most likely next code sequences, which could improve programming productivity and might reduce the odds of programming errors. Empirical evaluation shows that our approaches can detect meaningful programming patterns and anomalies that might cause bugs or maintenance issues, thus could improve software quality. In addition, our models have been successfully used for several other problems, from library adaptation, code migration, to bug fix generation. They also have several other potential applications, which we will explore in the future work

    A Framework to Evaluate Software Developer’s Productivity The VALORTIA Project

    Get PDF
    Currently, there is a lack in companies developing software in relation to assessing their staff’s productivity before executing software projects, with the aim of improving effectiveness and efficiency. QuEF (Quality Evaluation Framework) is a framework that allows defining quality management tasks based on a model. The main purpose of this framework is twofold: improve an entity’s continuous quality, and given a context, decide between a set of entity’s instances on the most appropriate one. Thus, the aim of this paper is to make this framework available to evaluate productivity of professionals along software development and select the most appropriate experts to implement the suggested project. For this goal, Valortia platform, capable of carrying out this task by following the QuEF framework guidelines, is designed. Valortia is a platform to certify users' knowledge on a specific area and centralize all certification management in its model by means of providing protocols and methods for a suitable management, improving efficiency and effectiveness, reducing cost and ensuring continuous quality.Ministerio de Ciencia e Innovación TIN2013-46928-C3-3-

    Improving software quality through non-functional testing

    Get PDF
    Abstract. As code becomes more complex, new functionalities are added every day, and bugs are fixed, testing gets more time-consuming and composite. In order to maintain high quality of a heavily loaded system, functional testing is not enough anymore. Testing new features involves not only functional, and regression runs, but also resource-intensive non-functional tests. Functional testing verifies a specific piece of functionality, a small business story of the whole product. However, neither full test automation nor even manual testing can guarantee stable work in production. The best approach is a complete testing solution, where non-functional testing follows functional testing inextricably. Objective: the purpose of research is to create a system that covers non-functional testing from the performance side. It is proposed that only a combination of functional and non-functional testing can provide high quality. There is a bunch of pitfalls and nuances in tools and approaches, thus this work strives to understand them and come up with the best solution in each case. Method: The thesis covers a comparative analysis of various tools and frameworks for load testing, developing a testing approach for an open application programming interface, which was chosen as the target software, including automated scripted tests and output results. Results: The most suitable tool was chosen, and based on it load test scripts were implemented, thereby complementing functional testing with non-functional ones, improving the quality of the product on the whole.Ohjelmiston laadun parantaminen ei-toiminnallisen testauksen avulla. Tiivistelmä. Kun koodi muuttuu monimutkaisemmaksi, uusia toimintoja lisätään joka päivä ja vikoja korjataan, jolloin testaamisesta tulee enemmän aikaa vievää ja monimutkaisempaa. Raskaasti kuormitetun järjestelmän korkean laadun ylläpitämiseksi toimintatestaus ei enää riitä. Uusien ominaisuuksien testaamiseen ei sisälly vain toiminnallisia ja regressio testejä, vaan myös resursseja vaativia ei-toiminnallisia testejä. Toiminnallinen testaus varmistaa tietyn vaatimuksen toimivuuden. Täysi testiautomaatio tai edes manuaalinen testaus eivät kuitenkaan takaa vakaata työtä tuotannossa. Paras lähestymistapa on ratkaisu, jossa ei-toiminnallinen testaus seuraa toiminnallista testausta erottamattomasti. Tavoite: Tutkimuksen tarkoituksena on luoda järjestelmä, joka kattaa ei-toiminnallisen testauksen suorituskyvyn puolelta. On ehdotettu, että vain toiminnallisen ja eitoiminnallisen testauksen yhdistelmä voi tuottaa korkeaa laatua. Työkaluissa ja lähestymistavoissa on paljon sudenkuoppia ja vivahteita, joten tässä työssä pyritään ymmärtämään niitä ja löytämään kullekin tapaukselle paras ratkaisu. Menetelmä: Opinnäytetyö kattaa erilaisten kuormitus testauksen työkalujen ja viitekehysten vertailevan analyysin, jossa kehitetään testaustapa testattavaksi ohjelmistoksi valitulle avoimelle sovellusohjelmointi rajapinnalle, mukaan lukien automaattisesti skriptatut testit ja tulosteet. Tulokset: Paras työkalu valittiin ja sen perusteella toteutettiin kuormitustesti skriptit, jotka täydensivät toiminnallista testausta ei-toiminnallisilla parantaen tuotteen laatua kokonaisuutena
    corecore