3 research outputs found

    Pencarian Kode Sumber Perangkat Lunak Pada Media Sosial Stackoverflow Menggunakan Lokasi Konsep

    Get PDF
    Pencarian kode sumber di internet merupakan area penelitian yang cukup populer. Berbagai pendekatan telah dilakukan untuk mendapatkan kode sumber di internet. StackOverflow menyediakan sarana bagi para pemrogram untuk tanya jawab seputar kode. Pencarian kode di StackOverflow pada penelitian sebelumnya menggunakan metode tf-idf yaitu mencari berdasarkan jumlah kemunculan kata. Penelitian tersebut memiliki kelemahan yaitu penamaan variabel atau fungsi dianggap kata biasa, padahal variabel atau metode seringkali merupakan gabungan dua kata atau lebih. Sebagai contoh ada fungsi bernama randomString maka yang disimpan juga kata randomString. Sehingga jika mencari kata random maka kode yang ada pada fungsi randomString kemungkinan tidak akan direkomendasikan karena kata randomString dan random merupakan kata yang berbeda begitu juga sebaliknya. Permasalahan tersebut dapat diatasi dengan lokasi konsep. Lokasi konsep telah lama digunakan untuk mendapatkan korelasi antara kode dengan fitur atau konsep tertentu. Penelitian terdahulu tentang lokasi konsep berfokus pada kode dan komentar serta relasinya. Penelitian ini mengajukan sebuah mekanisme mencari kode pada StackOverflow menggunakan lokasi konsep. Semua pertanyaan, jawaban, & kode yang berlabel Java diunduh dari server StackOverflow. Data kemudian diekstrak menjadi corpus. Lokasi konsep pada corpus dicari dengan algoritma LDA (Latent Dirichlet Allocation). Pengguna cukup memasukkan konsep yang akan dicari ke dalam sistem. Sistem kemudian memberikan rekomendasi kode yang relevan dengan lokasi konsep yang diinputkan. Dengan mekanisme tersebut diatas maka pemrogram mendapatkan rekomendasi kode dengan mudah. Hasil penelitian ini mencapai hasil dengan tingkat precision 0.52% dan recall 0.72%. =========================================================================================================== Internet code search is quite popular research area. Various approaches have been made to get the source code from the internet. StackOverflow allows programmers to ask and answer questions about code. Previous approach to search code on StackOverflow use tf-idf method which based on number of occurrences of the word to recommend the codes. This method has the disadvantage that naming a variable or function are considered as normal words, even though a variable or function are often a combination of two or more words. For example if there is a method named “randomString” then stored well wording randomString. So if we search using keyword “random” the system probably will not recommend “randomString” because both words are different. Concept location may tackle this problem. Concept location has been used widely to obtain the correlation between code with a specific concepts or features. Previous research of concept location only focused on codes comments, and relation among the objects within the codes. This research proposes a mechanism for finding source code on StackOverflow using concept location. Questions, answers & source code about Java code are downloaded from StackOverflow to local repository. Corpuses are generated by extracting questions, answers and code snippets. Inferencing concept location of codes created using LDA(Latent Dirichlet Allocation) algorithm. Users querying concepts to system and then system will recomend the codes based on relevant concepts. By using this mechanism, programmers are able to get the recommendations code easily. Results of this study achieve results with a level of precision and recall of 0.52% to 0.72%

    Realizing Automated Test Recommendations in Software Development Environments

    Get PDF
    Software testing is a mainly manually performed and thus very labour intensive process. Beside time, it demands a high amount of domain knowledge, concentration and problem awareness from the developer. Although software reuse is a well examined area –in both academia and industry – it is mainly focussed on the reuse of different kinds of documentation and program code. In this thesis we create a client-side recommendation system for the novel idea for an automated test recommendation approach that is based on lessons learned from traditional software reuse and recommendation. While most existing testing assistance systems help a developer by providing information about various coverage criteria only ex post, we want to support the developer pro-actively while writing the test and create as little overhead as possible during his work. Thereby we benefit from the lessons learned in the area of ”traditional” software reuse and apply them in a kind of test reuse for test recommendation approach. To validate our theoretical considerations, we present a tool that will help writing tests with less effort

    Ein Verfahren zur automatisierten Erkennung von Möglichkeiten zum Einsatz von Entwurfsmustern in objektorientierten Softwaresystemen

    Full text link
    Entwurfsmuster (engl. Design Pattern) gelten nach wie vor als eine Möglichkeit, die Struktur (objektorientierten) Quellcodes zu verbessern. Richtig eingesetzt fördern sie die Lesbarkeit und die Flexibilität beim Erweitern der Programmfunktionalitäten. Um die richtige Entscheidung für ein Entwurfsmuster zu treffen, benötigen Entwickler aber ein hohes Detailwissen und viel Erfahrung zu den einzelnen Patterns, um bereits beim Entwurf passende Patterns einsetzen zu können, so dass dies üblicherweise nur erfahrenen Entwicklern und Architekten gelingt. So entsteht die Notwendigkeit, auch bestehende Systeme auf Schwachpunkte und Einsatzmöglichkeiten von Patterns untersuchen zu müssen. Das kann gerade bei großen Projekten viel Zeit und Aufwand benötigen. Hinzu kommt noch, dass sich Quellcode im Laufe der Zeit verändert, so dass die nachträgliche Erkennung von Einsatzmöglichkeiten für Entwurfsmuster ein sehr wichtiger Forschungsbereich ist. Diese Arbeit stellt daher eine Lösung vor, wie Entwickler bei der Auswahlentscheidung für geeignete Entwurfsmuster in bestehenden Systemen unterstützt werden können. Es wird ein sogenanntes Empfehlungssystem entwickelt, beschrieben und evaluiert, das direkt auf Basis des Quellcodes arbeitet. Nach der Analyse liefert es sowohl die zu verbessernde Quellcodezeilen, mit einer Bewertung des Verbesserungspotenzials, als auch einen Vorschlag für ein geeignetes Pattern. Durch die automatische Analyse des Quellcodes müssen Entwickler nicht mehr jede Quellcodezeile manuell analysieren, sondern können punktgenaue Vorschläge auf ihre Tauglichkeit überprüfen. Zusätzlich liefert das Empfehlungssystem eine Einschätzung über das mögliche Verbesserungspotenzial zurück und unterstützt somit bei der Entscheidung, wo akuter Handlungsbedarf besteht. Die Entwicklung der Kandidaten-Erkennungs-Systematik und die Implementierung eines Prototypen (Design Pattern Candidate Detection Tools oder DPCDT genannt) konzentriert sich auf sechs repräsentative Entwurfsmuster der Gang-of-Four. Diese Arbeit beschreibt für diese sechs Patterns detaillierte Analysen über ihr Verhalten sowie ihren Aufbau und als Resultat für jedes der Patterns eine automatisierte Kandidaten-Erkennungsregel. Zum praktischen Einsatz kommen diese aufgestellten Regeln in einem neuartigen Recommedation System, das in der Lage ist, Design-Smells und damit Kandidaten für einen Pattern-Einsatz in Java-Quellcode besser zu identifizieren, als das mit bisherigen Werkzeugen der Fall ist. Eine Evaluation der Systematik und des Systems fand durch eine Gruppe unabhängiger Software-Entwickler auf Basis der Ergebnisse einer Analyse von 25 Open-Source-Projekten durch das DPCDT statt. In Zusammenarbeit mit einem Industriepartner wurde der Quellcode einer weiteren Anwendung, welche vom Partner zur Verfügung gestellt wurde, analysiert und die Ergebnisse mit Entwicklern und Projektleiter der Anwendung diskutiert. Dabei wurden positive Rückmeldungen erzielt, die belegen, dass diese Arbeit einen großen Schritt nach vorne bei der Auswahl und Anwendung von Entwurfsmuster darstellt
    corecore