Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników

Znaleziono wyników: 9

Liczba wyników na stronie
first rewind previous Strona / 1 next fast forward last
Wyniki wyszukiwania
Wyszukiwano:
w słowach kluczowych:  debugging
help Sortuj według:

help Ogranicz wyniki do:
first rewind previous Strona / 1 next fast forward last
1
EN
Causal-consistent reversible debugging is an innovative technique for debugging concurrent systems. It allows one to go back in the execution focusing on the actions that most likely caused a visible misbehavior. When such an action is selected, the debugger undoes it, including all and only its consequences. This operation is called a causal-consistent rollback. In this way, the user can avoid being distracted by the actions of other, unrelated processes. In this work, we introduce its dual notion: causal-consistent replay. We allow the user to record an execution of a running program and, in contrast to traditional replay debuggers, to reproduce a visible misbehavior inside the debugger including all and only its causes. Furthermore, we present a unified framework that combines both causal-consistent replay and causal-consistent rollback. Although most of the ideas that we present are rather general, we focus on a popular functional and concurrent programming language based on message passing: Erlang.
2
Content available remote Dynamic Slicing for Concurrent Constraint Languages
EN
Concurrent Constraint Programming (CCP) is a declarative model for concurrency where agents interact by telling and asking constraints (pieces of information) in a shared store. Some previous works have developed (approximated) declarative debuggers for CCP languages. However, the task of debugging concurrent programs remains difficult. In this paper we define a dynamic slicer for CCP (and other language variants) and we show it to be a useful companion tool for the existing debugging techniques. We start with a partial computation (a trace) that shows the presence of bugs. Often, the quantity of information in such a trace is overwhelming, and the user gets easily lost, since she cannot focus on the sources of the bugs. Our slicer allows for marking part of the state of the computation and assists the user to eliminate most of the redundant information in order to highlight the errors. We show that this technique can be tailored to several variants of CCP, such as the timed language ntcc, linear CCP (an extension of CCP-based on linear logic where constraints can be consumed) and some extensions of CCP dealing with epistemic and spatial information. We also develop a prototypical implementation freely available for making experiments.
EN
Background: Q&A websites such as StackOverflow or Serverfault provide an open platform for users to ask questions and to get help from experts present worldwide. These websites not only help users by answering their questions but also act as a knowledge base. These data present on these websites can be mined to extract valuable information that can benefit the software practitioners. Software engineering research community has already understood the potential benefits of mining data from Q&A websites and several research studies have already been conducted in this area. Aim: The aim of the study presented in this paper is to perform an empirical analysis of logging questions from six popular Q&A websites. Method: We perform statistical, programming language and content analysis of logging questions. Our analysis helped us to gain insight about the logging discussion happening in six different domains of the StackExchange websites. Results: Our analysis provides insight about the logging issues of software practitioners: logging questions are pervasive in all the Q&A websites, the mean time to get accepted answer for logging questions on SU and SF websites are much higher as compared to other websites, a large number of logging question invite a great amount of discussion in the SoftwareEngineering Q&A website, most of the logging issues occur in C++ and Java, the trend for number of logging questions is increasing for Java, Python, and Javascript, whereas, it is decreasing or constant for C, C++, C#, for the ServerFault and Superuser website 'C' is the dominant programming language.
EN
Background: Software developers insert log statements in the source code to record program execution information. However, optimizing the number of log statements in the source code is challenging. Machine learning based within-project logging prediction tools, proposed in previous studies, may not be suitable for new or small software projects. For such software projects, we can use cross-project logging prediction. Aim: The aim of the study presented here is to investigate cross-project logging prediction methods and techniques. Method: The proposed method is ECLogger, which is a novel, ensemble-based, cross-project, catch-block logging prediction model. In the research We use 9 base classifiers were used and combined using ensemble techniques. The performance of ECLogger was evaluated on on three open-source Java projects: Tomcat, CloudStack and Hadoop. Results: ECLoggerBagging, ECLoggerAverageVote, and ECLoggerMajorityVote show a considerable improvement in the average Logged F-measure (LF) on 3, 5, and 4 source!target project pairs, respectively, compared to the baseline classifiers. ECLoggerAverageVote performs best and shows improvements of 3.12% (average LF) and 6.08% (average ACC – Accuracy). Conclusion: The classifier based on ensemble techniques, such as bagging, average vote, and majority vote outperforms the baseline classifier. Overall, the ECLoggerAverageVote model performs best. The results show that the CloudStack project is more generalizable than the other projects.
EN
This paper presents new features for testing and running of IEC 61131-3 POUs (Program Organization Units) which are available in the CPDev engineering environment. Testing can be done either via simulation or in on-line mode. A data sources mechanism is used to test programs running on various target platforms. There are tools for the debugging of programs created in graphical languages like FBD or LD, as well as a tool for the final commissioning. One of the newest mechanisms added to CPDev environment is the possibility of defining POU-oriented tests. Two ways of specifying unit tests for functions, function blocks or programs are available i.e. via the dedicated test definition language CPTest or using tables.
PL
W artykule przedstawiono nowe rozszerzenia pakietu inżynierskiego CPDev umożliwiające testowanie i uruchamianie jednostek organizacyjnych oprogramowania zdefiniowanych w normie IEC 61131-3 (PN/EN 61131-3). Testowanie realizowane jest za pomocą symulacji lub w trybie on-line. Mechanizm źródeł danych umożliwia testowanie programów uruchamianych na różnych platformach docelowych. Przedstawiono narzędzia umożliwiające debugowanie programów utworzonych w językach graficznych FBD i LD oraz wykorzystywane w końcowej fazie rozruchu (commissioning). Ostatnio wprowadzono w środowisku CPDev możliwość definiowania testów zorientowanych na jednostki organizacyjne oprogramowania takie jak funkcje, bloki funkcjonalne lub programy. Takie testy jednostkowe można określać za pomocą specjalizowanego języka CPTest lub w formie tabeli.
PL
W artykule przedstawiono koncepcję programowego symulatora obiektu sterowania przeznaczonego do uruchamiania i testowania oprogramowania dla sterowników PLC. Symulator emuluje zachowanie fizycznego obiektu przemysłowego i komunikuje się ze sterownikiem za pośrednictwem karty wejścia-wyjścia podłączanej do komputera. Pozwala on na przetestowanie tworzonej aplikacji bez udziału fizycznego obiektu, dzięki czemu znacząco przyspiesza proces tworzenia, uruchamiania oraz testowania oprogramowania.
EN
The paper discusses hardware and software tools used to support program testing and verification of Programmable Logic Controllers (PLC). Three main ideas of tools supporting PLC application development are presented: software PLC simulators (Fig. 1), software PLC simulators with software object simulators (Fig. 2), and software object simulators with a hardware PLC (Fig. 4). The last idea is discussed wider in the paper. The authors propose a new concept of the tool for supporting PLC program testing - an object simulator which is a separate device. The simulator consists of a PC equipped with an appropriate I/O card, and an object simulator program running on the PC. The object simulator program is responsible for emulating behavior of an industrial object, and providing appropriate visualization of its operation, enabling also the PLC programmer to simulate object faults. The PC does not communicate with the PLC using a network interface, but through physical I/Os of the PLC. The simulator is thus capable of testing the most of functionality built in PLC I/O modules, and time-critical functions, e. g. interrupts. The proposed concept of an object simulator can provide a reliable substitute for a physical object, and thus a significant part of software tests can be performed with use of the simulator. This can significantly facilitate and accelerate development of the application.
EN
This paper summarizes recent research on network-on-multi-chip (NoMC) at Poznań University of Technology. The proposed network architecture supports hierarchical addressing and multicast transition mode. Such an approach provides new debugging functionality hardly attainable in classical hardware testing methodology. A multicast transmission also enables real-time packet monitoring. The introduced features of NoC network allow to elaborate a model of hardware video codec that utilizes distributed processing on many FPGAs. Final performance of the designed network was assessed using a model of AVC coder and multi-FPGA platforms. In such a system, the introduced multicast transmission mode yields overall gain of bandwidth up to 30%. Moreover, synthesis results show that the basic network components designed in Verilog language are suitable and easily synthesizable for FPGA devices.
PL
Jednym z podstawowych problemów, z którymi borykają się programiści aplikacji internetowych jest niedostateczna informacja o błędach skryptu. Istnieją rozwiązania umożliwiające automatyczne przekazanie generowanego przez przeglądarką powiadomienia o błędzie do administratora aplikacji, jednak informacja ta jest bardzo uboga i nieprecyzyjna. W artykule opisano system zdalnego raportowania błędów, którego zadaniem jest automatyczne przekazanie odpowiedzialnemu za skrypt programiście możliwie pełnej i precyzyjnej informacji o zaistniałym błędzie i okolicznościach jego wystąpienia. System raportuje nie tylko typ i umiejscowienie błędu, ale także opis środowiska, w którym wystąpił błąd, zawartość dokumentu, którego dotyczy skrypt, dane użytkownika, przy przetwarzaniu których wystąpił błąd, a nawet listę zdarzeń, które bezpośrednio poprzedzały wystąpienie błędu. System ma liczne walory praktyczne, cechuje go łatwość integracji z istniejącymi aplikacjami, funkcjonowanie w różnych typach przeglądarek, możliwość konfiguracji, nieuciążliwość dla użytkowników aplikacji oraz zautomatyzowane zarządzanie nadesłanymi raportami po stronie serwera.
EN
One of the basic problems that web application programmers have to deal with is insufficient information regarding script execution errors. There are solutions capable of sending the generic browser error messages to the application administrator, yet this information is scanty and inexact. In this paper a Remote Error Reporting System has been described, aimed at automatic reporting errors to the application programmers. The system reports not only the error type and source line, but also a description of the browser environment, browsed document contents, processed user data, and even a list of events that preceded the error. The system features easy integration with web applications, working with different browser types, configurability, unobtrusiveness to end-users, and automatic reports management on the server side.
PL
Omówiono podstawowe środki wspomagające uruchamianie urządzeń mikroprocesorowych zwracając uwagę na ich wady i zalety. Przedstawiono sposób uruchamiania bez konieczności korzystania z drogich urządzeń specjalnie przeznaczonych do wspomagania uruchamiania.
EN
Means for debugging embedded systems have been discussed. A method of debugging without expensive specialized eqiupment has been presented.
first rewind previous Strona / 1 next fast forward last
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.