15 research outputs found
A Decade of Code Comment Quality Assessment: A Systematic Literature Review
Code comments are important artifacts in software systems and play a
paramount role in many software engineering (SE) tasks related to maintenance
and program comprehension. However, while it is widely accepted that high
quality matters in code comments just as it matters in source code, assessing
comment quality in practice is still an open problem. First and foremost, there
is no unique definition of quality when it comes to evaluating code comments.
The few existing studies on this topic rather focus on specific attributes of
quality that can be easily quantified and measured. Existing techniques and
corresponding tools may also focus on comments bound to a specific programming
language, and may only deal with comments with specific scopes and clear goals
(e.g., Javadoc comments at the method level, or in-body comments describing
TODOs to be addressed). In this paper, we present a Systematic Literature
Review (SLR) of the last decade of research in SE to answer the following
research questions: (i) What types of comments do researchers focus on when
assessing comment quality? (ii) What quality attributes (QAs) do they consider?
(iii) Which tools and techniques do they use to assess comment quality?, and
(iv) How do they evaluate their studies on comment quality assessment in
general? Our evaluation, based on the analysis of 2353 papers and the actual
review of 47 relevant ones, shows that (i) most studies and techniques focus on
comments in Java code, thus may not be generalizable to other languages, and
(ii) the analyzed studies focus on four main QAs of a total of 21 QAs
identified in the literature, with a clear predominance of checking consistency
between comments and the code. We observe that researchers rely on manual
assessment and specific heuristics rather than the automated assessment of the
comment quality attributes
Evaluaci贸n de la usabilidad de APIs web
En los 煤ltimos a帽os las APIs web se han convertido en componentes clave para agilizar el proceso de construcci贸n de aplicaciones. Debido a esto, resulta importante que estas sean f谩ciles de aprender y utilizar para no reducir la productividad de los programadores ni obstaculizar el proceso de desarrollo. La usabilidad de las APIs es entonces considerada un factor fundamental para su correcta adopci贸n, y si bien existen estudios que proponen soluciones para evaluarla y mejorarla, estos abarcan mayormente APls locales; est谩n m谩s centrados sobre la documentaci贸n; suelen contemplar una limitada cantidad de caracter铆sticas de usabilidad y, adem谩s, los resultados de investigaciones sobre usabilidad de APIs en general a煤n son insuficientes. Por estas razones, a trav茅s del presente trabajo se propone resolver algunos de los problemas reci茅n mencionados mediante el estudio de la especificaci贸n OpenAPI y la construcci贸n de un framework de evaluaci贸n de la usabilidad de APIs web.XIX Workshop Ingenier铆a de Software (WIS)Red de Universidades con Carreras en Inform谩tic
Mapping the Information Journey: Unveiling the Documentation Experience of Software Developers in China
This research delves into understanding the behaviors and characteristics of
Chinese developers in relation to their use of technical documentation, which
is crucial for creating high-quality developer documentation. We conducted
interviews with 25 software developers and surveyed 177 participants, using the
preliminary interview findings to inform the survey design. Our approach
encompassed traditional user research methods, including persona and user
journey mapping, to develop typical personas and information journeys based on
the qualitative data from the interviews and quantitative results from the
survey. Our results revealed distinct characteristics and differences between
junior and senior developers in terms of their use of technical documentation,
broadly categorized into personality traits, learning habits, and working
habits. We observed that the information journey of both groups typically
encompasses four stages: Exploration, Understanding, Practice, and Application.
Consequently, we created two distinct personas and information journey maps to
represent these two developer groups. Our findings highlight that developers
prioritize the content, organization, and maintenance aspects of documentation.
In conclusion, we recommend organizing documentation content to align with
developers' information journeys, tailoring documentation to meet the needs of
developers at various levels, and focusing on the content, organization, and
maintenance aspects of documentation.Comment: 27 page
Rancang Bangun API untuk Odoo ERP pada Modul CRM (Customer Relationship Management)
Odoo merupakan salah satu aplikasi ERP terbaik di dunia yang memiliki banyak fitur sebagai kelebihannya dibanding aplikasi ERP yang serupa. Dengan banyaknya kelebihan yang dimiliki, banyak pengguna yang mengandalkan aplikasi Odoo untuk mengintegrasikan semua data perusahaan dimanapun dan kapanpun. Modul CRM merupakan salah satu bagian terpenting di Odoo. CRM adalah modul untuk mengelola data atau informasi customer dari menambah data customer, melakukan perubahan data customer, hingga melakukan peluang pada customer di Odoo. Namun saat ini modul CRM di Odoo hanya dapat menjalankan fungsionalitasnya ketika perangkat dalam keadaan online. Jika perangkat sedang tidak dapat mendapatkan akses internet, maka semua proses transaksi data pada modul CRM tidak dapat dijalankan. Keterbatasan tersebut tentunya dapat menghambat pekerjaan jika pengguna ingin melakukan transaksi data namun perangkat sedang tidak terhubung dengan internet. Dalam mengatasi batasan tersebut, diperlukan pengembangan aplikasi lebih lanjut pada modul CRM. Untuk itu, dalam tugas akhir ini dibuatlah API Odoo pada modul CRM (Customer Relationship Management) agar aplikasi dapat dikembangkan sesuai keinginan pengembang dengan mengimplementasikan Couchbase sebagai offline storage pada Odoo untuk melakukan pertukaran data secara lokal ketika sedang tidak dapat mengakses internet, kemudian melakukan sinkronisasi data setelah mendapatkan akses internet
Rancang Bangun API untuk Odoo ERP pada Modul Sales
Sebagai salah satu aplikasi ERP terbaik di dunia, Odoo terdiri dari banyak modul, mulai dari manajemen proyek, CRM, Sales, hingga penagihan pembayaran. Salah satu modul paling penting dalam Odoo yang dibahas dalam tugas akhir ini adalah modul Sales.聽 Modul Sales merupakan modul yang berisi semua proses transaksi mulai dari pembuatan penawaran, pengiriman, penawaran kepada pelanggan, hingga pesanan yang siap difakturkan. Namun saat ini aplikasi Odoo hanya dapat menjalankan fungsionalitasnya ketika perangkat dalam keadaan online. Jika perangkat sedang tidak dapat mengakses atau mengalami gangguan koneksi internet, semua proses transaksi pada modul Sales tidak dapat dijalankan. Sehingga pengguna tidak dapat mencatat, mengubah, ataupun mengakses data-data dalam modul Sales. Keterbatasan tersebut dapat menghambat pekerjaan jika pengguna ingin melakukan transaksi data namun perangkat sedang tidak terhubung dengan internet. Untuk mengatasi batasan tersebut, diperlukan pengembangan aplikasi lebih lanjut pada modul Sales. Oleh karena itu, dalam tugas akhir ini dibuatlah API Odoo pada modul Sales agar aplikasi dapat dikembangkan sesuai keinginan pengembang. Selain itu, tugas akhir ini juga mengimplementasikan Firebase pada Odoo untuk melakukan pertukaran data pada modul Sales secara lokal ketika sedang tidak dapat mengakses internet, kemudian melakukan sinkronisasi data segera setelah mendapatkan akses internet
A decade of code comment quality assessment : a systematic literature review
Code comments are important artifacts in software systems and play a paramount role in many software engineering (SE) tasks related to maintenance and program comprehension. However, while it is widely accepted that high quality matters in code comments just as it matters in source code, assessing comment quality in practice is still an open problem. First and foremost, there is no unique definition of quality when it comes to evaluating code comments. The few existing studies on this topic rather focus on specific attributes of quality that can be easily quantified and measured. Existing techniques and corresponding tools may also focus on comments bound to a specific programming language, and may only deal with comments with specific scopes and clear goals (e.g., Javadoc comments at the method level, or in-body comments describing TODOs to be addressed).
In this paper, we present a Systematic Literature Review (SLR) of the last decade of research in SE to answer the following research questions: (i) What types of comments do researchers focus on when assessing comment quality? (ii) What quality attributes (QAs) do they consider? (iii) Which tools and techniques do they use to assess comment quality?, and (iv) How do they evaluate their studies on comment quality assessment in general?
Our evaluation, based on the analysis of 2353 papers and the actual review of 47 relevant ones, shows that (i) most studies and techniques focus on comments in Java code, thus may not be generalizable to other languages, and (ii) the analyzed studies focus on four main QAs of a total of 21 QAs identified in the literature, with a clear predominance of checking consistency between comments and the code. We observe that researchers rely on manual assessment and specific heuristics rather than the automated assessment of the comment quality attributes, with evaluations often involving surveys of students and the authors of the original studies but rarely professional developers
Recommended from our members
A systematic mapping study of API usability evaluation methods
An Application Programming Interface (API) provides a programmatic interface to a software component that is often offered publicly and may be used by programmers who are not the API鈥檚 original designers. APIs play a key role in software reuse. By reusing high quality components and services, developers can increase their productivity and avoid costly defects. The usability of an API is a qualitative characteristic that evaluates how easy it is to use an API. Recent years have seen a considerable increase in research efforts aiming at evaluating the usability of APIs. An API usability evaluation can identify problem areas and provide recommendations for improving the API. In this systematic mapping study, we focus on 47 primary studies to identify the aim and the method of the API usability studies. We investigate which API usability factors are evaluated, at which phases of API development is the usability of API evaluated and what are the current limitations and open issues in API usability evaluation. We believe that the results of this literature review would be useful for both researchers and industry practitioners interested in investigating the usability of API and new API usability evaluation methods
Recommended from our members
Detecting Argument Selection Defects
Identifier names are often used by developers to convey additional information about the meaning of a program over and above the semantics of the programming language itself. We present an algorithm that uses this information to detect argument selection defects, in which the programmer has chosen the wrong argument to a method call in Java programs. We evaluate our algorithm at Google on 200 million lines of internal code and 10 million lines of predominantly open-source external code and find defects even in large, mature projects such as OpenJDK, ASM, and the MySQL JDBC. The precision and recall of the algorithm vary depending on a sensitivity threshold. Higher thresholds increase precision, giving a true positive rate of 85%, reporting 459 true positives and 78 false positives. Lower thresholds increase recall but lower the true positive rate, reporting 2,060 true positives and 1,207 false positives. We show that this is an order of magnitude improvement on previous approaches. By analyzing the defects found, we are able to quantify best practice advice for API design and show that the probability of an argument selection defect increases markedly when methods have more than five arguments.</jats:p
API Documentation Generator
The importance of Application Programming Interfaces (APIs) in contemporary software development processes is growing. It can be challenging for developers to rapidly comprehend how to utilize a new API; therefore, good documentation is required.
For efficient documentation support, we must understand how developers utilize widely available tools today. We provide the results of an exploratory study that examined the pros and cons of observing programmers as they used a basic application programming interface to find solutions. By utilizing an existing API documentation, you can save time and money by not having to reinvent the wheel when integrating with third-party enterprise systems and devices.
This thesis describes and evaluates a unique technique to meeting API documentation requirements. I present a list of standards for the documentation of a selection of API tools based on my analysis of the existing literature and standard industry practice. I compare and contrast the documentation processes of Postman, Redocly, SwaggerHub, JavaDoc, and AutoREST with my own prototype implementation, which includes sample code for interacting with the API. I did a randomized study to establish the optimal method for determining the significance of API documentation requirements and to identify a strategy for simplifying documentation, with a focus on fulfilling the needs of user developers.
Using Postman, Redocly, SwaggerHub, JavaDoc, and AutoREST, I found reoccurring difficulties that may be minimized with the suggested documentation